godoc-mcp 是一个提供高效访问 Go 文档的 Model Context Protocol (MCP) 服务器。它通过直接提供包文档,帮助大型语言模型(LLMs)理解 Go 项目,而无需读取整个源文件。godoc-mcp 可以显著提高使用 LLM 进行 Go 开发的性能,大幅减少理解并利用 Go 包所需的标记数量。
go install github.com/mrjoshuak/godoc-mcp@latest
一句话总结:godoc-mcp 提供了一种更高效的标记方式,让 LLM 更好地理解 Go 项目。
传统的文件阅读方法需要 LLM 处理整个源文件,通常需要处理多个文件来理解单个包。godoc-mcp 提供了以下优势:
godoc-mcp 成为 Go 开发中快速且高效的工具。有了 godoc-mcp,LLM 可以精确获取所需的信息,而无需读取整个源文件。以下是 LLM 可以获得的不同级别的细节。
这使得 godoc-mcp 成为使用 LLM 的 Go 开发者的重要工具,使 LLM 能够比以往在任何编程语言中更深入地理解上下文。
该服务器将:
go doc)。除了在编码任务中提供文档外,godoc-mcp 还可用于探索 Go 项目和包。这里有一些通用提示的例子:
“我正在查看位于 /path/to/some/project 的 Go 项目。它包含哪些包,它们的作用是什么?”
“io 包提供了哪些接口?我对任何与读取相关的接口特别感兴趣。”
“我需要实现 io.Reader 接口。请显示其文档以及我应该了解的相关类型。”
“请显示 /path/to/some/project 中 Resource 类型的文档。我需要了解如何创建和使用它。”
“我在 /path/to/some/project,它使用了 github.com/gorilla/mux。请显示 Router 类型的文档。”
“http.Request 类型有哪些可用的方法?我正在处理标准库的 HTTP 处理程序。”
“解释如何在 /path/to/project/server 包中配置 Server 类型。”
“我在一个新的 Go 项目目录中,看到多个包。你能告诉我每个包的作用吗?”
要添加到 Claude 桌面应用:
{
"mcpServers": {
# 其他 MCP 服务器...
"godoc": {
"command": "/path/to/godoc-mcp",
"args": [],
"env": {
"GOPATH": "/path/to/go",
"GOMODCACHE": "/path/to/go/pkg/mod"
}
}
}
}
当连接到支持 MCP 的 LLM(如 Claude)时,godoc-mcp 提供了带有以下参数的 get_doc 工具:
path:Go 包或文件的路径(导入路径或文件路径)target(可选):特定的符号文档(函数、类型等)cmd_flags(可选):附加的 go doc 命令标志working_dir(可选):用于模块感知文档的工作目录(如果没有提供,将自动创建临时项目)LLM 可以利用的高级 cmd_flags 值:
-all:显示包的所有文档,排除未导出的符号。-u:显示未导出的符号。-src:显示源代码而不是文档。本项目根据 MIT 许可证发布 - 详情见 LICENSE 文件。