godoc-mcp

godoc-mcp

site icon
2025.01.17 42
GoGo 文档访问开发工具开发效率
`godoc-mcp` 是一个基于 Model Context Protocol (MCP) 的服务,专门用于高效访问 Go 语言的文档。它通过直接提供包文档而非整个源代码文件,帮助大型语言模型(LLMs)更高效地理解 Go 项目。该工具显著减少了理解和使用 Go 包所需的 token 数量,从而提升了 LLMs 在 Go 开发中的性能。
View on GitHub

Overview

产品定位

godoc-mcp 是一个专为 Go 语言开发者设计的文档访问工具,旨在通过 MCP 协议为 LLMs 提供高效的 Go 文档访问能力。

核心功能

  1. 高效的文档访问:仅返回必要的文档信息,显著减少 token 使用。
  2. 结构化信息:提供一致且结构化的官方包文档。
  3. 项目导航:智能处理项目结构,帮助理解多包项目。
  4. 集成友好:可与其他 MCP 服务器协同工作,支持高级和详细的代码分析。
  5. 性能优化:内置缓存和优化的 token 使用,使文档检索快速高效。
  6. 本地支持:无需互联网连接即可访问文档。

适用场景

  • 项目理解:快速了解 Go 项目的包结构和功能。
  • 接口理解:获取特定包的接口文档。
  • 实现指导:查看特定接口或类型的实现文档。
  • API 使用:理解如何创建和使用特定类型或函数。
  • 库探索:探索第三方库的文档。
  • 方法发现:查看特定类型的方法列表。
  • 学习指导:获取特定包或类型的配置和使用说明。
  • 包浏览:查看项目中的多个包及其功能。

工具列表

  • get_doc 工具:用于获取 Go 包或文件的文档,支持以下参数:
  • path:Go 包或文件的路径(导入路径或文件路径)。
  • target(可选):特定符号(函数、类型等)的文档。
  • cmd_flags(可选):额外的 go doc 命令标志。
  • working_dir(可选):模块感知文档的工作目录。

常见问题解答

  • 本地路径问题:确保路径包含 Go 源文件或指向包含 Go 包的目录。
  • 模块相关错误:确保在 MCP 服务器配置中正确设置了 GOPATH 和 GOMODCACHE 环境变量。
  • 模块上下文处理:服务器自动处理外部包的模块上下文,但特殊情况下可提供特定的 working_dir。

使用教程

使用依赖

确保已安装 Go 环境。

安装教程

go install github.com/mrjoshuak/godoc-mcp@latest

调试方式

安装完成后,可通过配置 MCP 服务器来使用 godoc-mcp。示例配置如下:

{
  "mcpServers": {
    "godoc": {
      "command": "/path/to/godoc-mcp",
      "args": [],
      "env": {
        "GOPATH": "/path/to/go",
        "GOMODCACHE": "/path/to/go/pkg/mod"
      }
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。