克劳德·戈莫德
一个MCP服务器,允许Claude访问Go模块源代码 proxy.golang.org当一个模块在代理上不可用时,它会建议源可能存在的本地目录。
工具
| 工具 | 说明 |
|---|---|
gomod_list_versions | 列出模块的可用版本 |
gomod_read_mod | 读取模块的go.mod文件 |
gomod_list_files | 列出模块源代码存档中的文件 |
gomod_read_file | 从模块的存档中读取源文件 |
gomod_search_files | 使用正则表达式搜索文件内容 |
所有工具均接受 "latest" 作为版本,通过代理解析 /@latest 终点。
当代理返回404时, gomod_list_versions 检查 ~/Projects 查找与模块最后一个路径段匹配的本地目录,并建议将其作为回退。
安装
go install github.com/hugowetterberg/claude-gomod@latest或者从源代码构建:
git clone https://github.com/hugowetterberg/claude-gomod.git
cd claude-gomod
go build .使用克劳德代码注册
全局添加(适用于所有项目):
claude mcp add --scope user gomod -- /path/to/claude-gomod或者仅适用于当前项目(默认):
claude mcp add gomod -- /path/to/claude-gomod在开发过程中,您可以指向源目录:
claude mcp add --scope user gomod -- go run /path/to/claude-gomod使用自定义本地回退目录:
claude mcp add --scope user gomod -- /path/to/claude-gomod -local-dir /other/path使用示例
注册后,Claude可以直接使用这些工具:
- “列出golang.org/x/tools的版本”
- “给我看看golang.org/x的go.mod/net@latest"
- “列出github/modelcontextprotocol/go-sdk v1.1.0中的文件”
- “从github/modelcontextprotocol/go-sdk v1.1.0读取server.go”
- “在github/modelcontextprotocol/go-sdk v1.1.0中搜索'HandleCall'”
搜索
gomod_search_files 在模块源代码归档中的所有文件中执行正则表达式搜索,返回具有可选上下文的匹配行。二进制文件会自动跳过。
| 参数 | 必填 | 说明 |
|---|---|---|
module | yes | 转到模块路径 |
version | 是 | 模块版本或 "latest" |
pattern | yes | 要搜索的正则表达式 |
lines_before | no | 每次匹配前的上下文行数(默认值0) |
lines_after | no | 每次匹配后的上下文行数(默认为0) |
extensions | 否 | 要包含的文件扩展名,例如。 [".go", ".mod"] |
glob | 没有 | Glob模式来过滤文件路径(path.Match 语法) |
结果上限为100个文件和1000个匹配项,达到限制时会发出截断通知。
旗帜
| 标志 | 默认值 | 描述 |
|---|---|---|
-local-dir | ~/Projects | 本地模块回退的基本目录 |
运行测试
go test ./...