使用说明
MCP-GOPLS
一个MCP(模型上下文协议)服务器,它封装gopls以提供Go语言服务器功能。
⚠️ 警告:整个项目是由 克劳德代码 无需人工代码审查。当它通过测试并显示功能正常时,请与 格外小心 在生产环境中。该代码尚未经过安全性、性能或边缘情况的审核。看 设计.md 用于AI生成的设计文档。
特性
所有gopls语言服务器功能现已实现:
- GoTo定义:导航到符号的定义
- 查找引用:查找对符号的所有引用
- GetDiagnostics:获取编译错误和静态分析结果
- 悬停:获取光标下符号的信息
- 搜索符号:在整个工作区中搜索符号(支持部分匹配)
- 重命名符号:在整个工作区重命名符号(将更改直接应用于文件)
- 查找实施者:查找实现接口的所有类型
- 列表文档符号:获取文件中定义的符号轮廓
- 格式代码:根据gofmt标准格式化Go源代码(将更改应用于文件)
- 组织导入:组织导入语句(对导入进行分组和排序,将更改应用于文件)
安装
go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest
与Claude整合
克劳德代码
-
安装mcp-gopls:
go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest -
添加到克劳德代码:
claude mcp add mcp-gopls "$(which mcp-gopls)" -
重新启动Claude代码:
claude restart -
验证安装:
claude mcp list
克劳德桌面
-
安装mcp-gopls(与上述相同)
-
编辑Claude桌面配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
将以下内容添加到
mcpServers章节:{ "mcpServers": { "mcp-gopls": { "command": "mcp-gopls", "args": [] } } }或者使用自定义工作区:
{ "mcpServers": { "mcp-gopls": { "command": "mcp-gopls", "args": ["-workspace", "/path/to/your/go/project"] } } } -
重新启动克劳德桌面
用法
# Run with default settings (uses gopls in PATH and current directory as workspace)
mcp-gopls
# Specify gopls path and workspace
mcp-gopls -gopls /path/to/gopls -workspace /path/to/project
# Using environment variables
export GOPLS_PATH=/path/to/gopls
export MCP_GOPLS_WORKSPACE=/path/to/project
mcp-gopls
需求
- 转到1.24.3+
- gopls(Go语言服务器)
安装gopls
go install golang.org/x/tools/gopls@latest
发展
# Clone the repository
git clone https://github.com/yantrio/mcp-gopls
cd mcp-gopls
# Build the project
go build ./cmd/mcp-gopls
# Run tests
go test ./...
许可证
麻省理工学院
