MCP 服务器 Go 实现
Go 语言实现的模型上下文协议 (MCP),用于连接 LLM 应用与外部数据源和工具。
快速入门
-
安装依赖:
go get github.com/shaneholloman/mcp-server-go
-
创建一个简单的 MCP 服务器:
package main import ( "context" "fmt" "github.com/shaneholloman/mcp-server-go/mcp" "github.com/shaneholloman/mcp-server-go/server" ) func main() { s := server.NewMCPServer("Demo", "1.0.0") tool := mcp.NewTool("hello_world", mcp.WithDescription("向某人问好"), mcp.WithString("name", mcp.Required(), mcp.Description("要问候的人的名字"), ), ) s.AddTool(tool, helloHandler) if err := server.ServeStdio(s); err != nil { fmt.Printf("Server error: %v\n", err) } } func helloHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { name, ok := request.Params.Arguments["name"].(string) if !ok { return mcp.NewToolResultError("名字必须是字符串"), nil } return mcp.NewToolResultText(fmt.Sprintf("Hello, %s!", name)), nil }
-
运行程序,启动服务器。
更多示例见 examples 目录。