README
🚀 godoc-mcp
godoc-mcp 是一款模型上下文协议(MCP)服务器,能够高效提供 Go 文档的访问服务。它能助力大语言模型(LLM)理解 Go 项目,无需读取完整源文件,就能直接获取包文档,大幅减少理解单个包所需的令牌数量,显著提升使用 LLM 进行 Go 开发的性能。
🚀 快速开始
使用以下命令安装 godoc-mcp:
go install github.com/mrjoshuak/godoc-mcp@latest
✨ 主要特性
核心功能
- 自动模块上下文处理:服务器会自动创建临时项目来解析外部包,无需手动配置
GOPATH和GOMODCACHE。 - 灵活的文档获取方式:
- 可获取完整包文档。
- 能查看特定符号(如函数、类型等)的详细信息。
- 支持可选显示未导出符号。
- 支持可选显示源代码。
高级功能
- 支持多工作目录:可通过配置不同的
GOPATH和GOMODCACHE来处理多个项目。 - 高效的分词策略:通过优化的命令行参数减少不必要的文档加载。
📦 安装指南
使用以下命令进行安装:
go install github.com/mrjoshuak/godoc-mcp@latest
💻 使用示例
基础用法
在 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 工具,支持以下参数:
路径:指向 Go 包或文件的路径(导入路径或文件路径)目标(可选):指定要获取文档的具体符号(函数、类型等)命令行参数(可选):额外的go doc命令参数工作目录(可选):用于模块感知文档获取的特定工作目录(如果未提供,默认创建临时项目)
常用的 命令行参数 包括:
-all:显示所有文档,不包含未导出符号-u:显示未导出符号-src:显示源代码而不是文档
🔧 技术细节
godoc-mcp 以更高效的分词方式提供 Go 文档访问。通过直接获取包文档,LLM 可以快速理解代码结构、精准定位 API 使用方法、敏锐洞察设计模式。服务器会自动创建临时项目来解析外部包,无需手动配置 GOPATH 和 GOMODCACHE。同时,它支持多工作目录,可通过配置不同的 GOPATH 和 GOMODCACHE 来处理多个项目,还能通过优化的命令行参数减少不必要的文档加载。
📚 详细文档
为什么选择 godoc-mcp?
一句话概括:godoc-mcp 以更高效的分词方式提供 Go 文档访问。
通过直接获取包文档,LLM 可以:
- 快速理解代码结构
- 精准定位 API 使用方法
- 敏锐洞察设计模式
故障排除
- 对于本地路径,请确保其包含 Go 源文件或指向包含 Go 包的目录。
- 如果出现模块相关错误,请在 MCP 服务器配置中正确设置
GOPATH和GOMODCACHE环境变量。 - 服务器会自动处理外部包的模块上下文,但如果您有特殊需求,仍可提供特定的
工作目录。
📄 许可证
该项目采用 MIT 许可证,详细信息请参阅 LICENSE 文件。
微信扫一扫