golang MCP 配置
通过 gopls 内置 MCP 服务,让 AI 助手使用 Go 语言工具(读文件、包信息、go 命令等)。
前置条件
bash
go install golang.org/x/tools/gopls@latest
需 gopls v0.20+,且 gopls 在 PATH 中。
Cursor
在 MCP 配置(如 ~/.cursor/mcp.json)中加入:
json
{
"mcpServers": {
"gopls": {
"command": "gopls",
"args": ["mcp", "serve"]
}
}
}
stdio detached 模式等价于 gopls mcp;仅 ["mcp"] 亦可。
模型说明(可选)
bash
gopls mcp -instructions > /path/to/context.md
将输出作为额外上下文供模型参考 gopls MCP 工作流。
附着模式(可选)
在已有 LSP 会话中暴露 HTTP/SSE MCP:
bash
gopls serve -mcp.listen=localhost:8092
客户端连接 http://localhost:8092/sessions/1(单 session 时)。
其他客户端
Claude Code:
bash
claude mcp add gopls -- gopls mcp
Gemini CLI(~/.gemini/extensions/go/gemini-extension.json):
json
{
"name": "go",
"version": "0.0.1",
"mcpServers": {
"go": {
"command": "gopls",
"args": ["mcp"]
}
},
"contextFileName": "GEMINI.md"
}
bash
gopls mcp -instructions > ~/.gemini/extensions/go/GEMINI.md