mcpField
G
GoDevMCP

GoDevMCP

本地服务
github.com/fpt开发工具131 天前更新

关于 GoDevMCP

GoDevMCP 是面向开发工作的 MCP 服务,以 Go 为重点,并兼顾 Rust 和 Python。它将语言文档查询与本地项目导航及 GitHub 浏览工具结合起来。

主要功能

  1. 01Go、Rust 和 Python 文档查询
  2. 02Go 包结构与调用图概览
  3. 03Go 代码验证
  4. 04本地目录与文件搜索
  5. 05GitHub 代码、文件和仓库浏览

适用场景

  1. 01查找语言包文档并按行阅读
  2. 02检查 Go 包依赖与导出声明
  3. 03浏览本地项目结构和 Markdown 标题
  4. 04搜索 GitHub 代码或读取仓库文件

MCP 相关

作为 MCP 服务,它向 MCP 客户端提供文档查询、代码检查、项目导航和 GitHub 操作工具。部分 GitHub 工具需要 GitHub 身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GoDevMCP

简介

GoDevMCP 是一个模型上下文协议(MCP)服务,提供以 Go 为重点的开发工具,并额外支持 Rust 和 Python。它提供文档查询、代码搜索、项目导航等功能。

安装

前提条件
  • 仅 GitHub 工具需要进行 GitHub 身份验证(代码搜索、内容、差异、议题、拉取请求、工作流运行)。其他工具(Go/Rust/Python 文档、目录树、本地搜索、大纲、Markdown、验证)无需身份验证。
  • 服务按以下顺序解析 GitHub 令牌:
    1. 如果已设置,则使用 GITHUB_TOKEN 或 GH_TOKEN 环境变量。
    2. 否则,使用本地安装且已通过身份验证的 gh CLI(gh auth login)。
使用 go install

你可以直接使用 Go 的安装命令安装 GoDevMCP:

go install github.com/fpt/go-dev-mcp/godevmcp@latest

此命令会下载、编译并将二进制文件安装到 $GOPATH/bin 目录(通常为 ~/go/bin)。请确保此目录位于系统的 PATH 中。

从源代码构建
  1. 克隆仓库
  2. 运行 make build 构建应用,并运行 make install 进行安装。

MCP 设置

Claude code

运行此命令以添加到用户范围

claude mcp add godevmcp -s user godevmcp serve
VSCode

在用户的 settings.json 中添加此部分

    "mcp": {
        "servers": {
            "go-dev-mcp": {
                "type": "stdio",
                "command": "godevmcp",
                "args": [
                    "serve"
                ],
            }
        }
    }

工具

Go 文档
工具描述
search_godoc在 pkg.go.dev 上搜索 Go 包
read_godoc分页读取 Go 包文档,每页按行显示
search_within_godoc在指定 Go 包的文档中搜索关键词
outline_go_package获取 Go 包的全面大纲:依赖项、导出的声明和调用图
validate_go_code使用 go vet、构建检查、格式化和模块整洁性检查验证 Go 代码
Rust 文档
工具描述
search_rustdoc在 docs.rs 上搜索 Rust crate
read_rustdoc分页读取 Rust crate 文档,每页按行显示
search_within_rustdoc在指定 Rust crate 的文档中搜索关键词
Python 文档
工具描述
search_pydoc在 docs.python.org 上搜索 Python 标准库模块
read_pydoc分页读取 Python 标准库模块文档,每页按行显示
search_within_pydoc在指定 Python 模块的文档中搜索关键词
项目导航
工具描述
tree_dir显示本地目录树结构,并限制深度
search_local_files在本地目录中搜索文件内容,并限制匹配数量
scan_markdown扫描 Markdown 文件,提取标题及其行号
GitHub 集成
工具描述
search_github_code以精简格式搜索 GitHub 仓库中的代码
get_github_content分页获取 GitHub 中的文件内容,每页按行显示
tree_github_repo显示 GitHub 仓库树结构,并限制深度

使用说明

  1. 构建应用

    make build
    
  2. 运行应用

    make run
    

可用的 Make 命令

  • make run - 运行应用
  • make build - 构建应用并安装到 ~/bin
  • make test - 运行单元测试
  • make fmt - 使用 gofumpt 格式化代码
  • make lint - 运行 golangci-lint
  • make inspect - 在 MCP inspector 中运行
  • make help - 显示帮助信息

开发

项目结构
.
├── godevmcp/       # Application entry point
│   └── main.go     # Main application entry point
├── doc/            # Documentation files
├── internal/       # Private application and library code
│   ├── app/        # Application core functionality
│   ├── infra/      # Infrastructure code
│   ├── mcptool/    # MCP tooling implementations
│   ├── repository/ # Repository implementations
│   └── subcmd/     # Subcommand implementations
├── output/         # Build artifacts
│   └── godevmcp    # Compiled binary
├── pkg/            # Public library code
│   └── dq/         # Document query utility package
├── Makefile        # Build automation
├── go.mod          # Go module definition
└── go.sum          # Go module checksum
软件包依赖关系

下图展示了项目内部的软件包依赖关系:

graph TD
    %% Entry point
    main[godevmcp/main] --> subcmd[internal/subcmd]
    
    %% Core application layer
    subcmd --> app[internal/app]
    subcmd --> mcptool[internal/mcptool]
    mcptool --> app
    
    %% Application modules
    app --> repository[internal/repository]
    app --> infra[internal/infra]
    app --> contentsearch[internal/contentsearch]
    app --> model[internal/model]
    app --> dq[pkg/dq]
    
    %% MCP layer
    mcptool --> infra
    
    %% Infrastructure dependencies
    infra --> repository
    contentsearch --> model
    
    %% External dependencies (key ones)
    subcmd -.-> subcommands[google/subcommands]
    mcptool -.-> mcp[mark3labs/mcp-go]
    infra -.-> github[google/go-github]
    app -.-> errors[pkg/errors]
    app -.-> goldmark[yuin/goldmark]
    app -.-> cache[patrickmn/go-cache]
    
    %% Styling
    classDef entryPoint fill:#e1f5fe
    classDef coreLayer fill:#f3e5f5
    classDef appLayer fill:#e8f5e8
    classDef infraLayer fill:#fff3e0
    classDef external fill:#fce4ec,stroke-dasharray: 5 5
    
    class main entryPoint
    class subcmd,mcptool coreLayer
    class app,repository,infra,contentsearch,model appLayer
    class dq infraLayer
    class subcommands,mcp,github,errors,goldmark,cache external

该图说明了:

  • 入口点:main 软件包协调各个子命令
  • 核心层:subcmd(CLI)和 mcptool(MCP 服务)提供用户界面
  • 应用层:app 包含业务逻辑,并由基础设施软件包提供支持
  • 基础设施层:共享工具和外部集成
  • 外部依赖:关键第三方软件包(以虚线表示)
常见开发工作流
  1. 修改代码
  2. 运行 make fmt 格式化代码
  3. 运行 make lint 检查问题
  4. 运行 make test 确保测试通过
  5. 使用 make build 构建
AI 开发指南
  • 遵循 CONTRIBUTING.md 中的说明
  • 使用 run_make 和 tree_dir 工具,而不是使用 Shell 命令。
  • 使用 search_godoc 和 read_godoc 工具了解如何使用 Go 软件包。
  • 使用 search_rustdoc 和 read_rustdoc 工具查阅 Rust crate 文档。
  • 使用 search_pydoc 和 read_pydoc 工具查阅 Python 标准库文档。
  • 使用 tree_github_repo、search_github_code、get_github_content 检查 GitHub 仓库。
  • 进行重大更改时,记得更新 README.md

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。