mcpField
G
GoDevMCP

GoDevMCP

Local
github.com/fptDeveloper Tools13Updated 1d ago

About GoDevMCP

GoDevMCP is an MCP server for development work, centered on Go with additional Rust and Python support. It combines language documentation lookup with local project navigation and GitHub inspection tools.

Key features

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

Use cases

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

MCP support

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

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

GoDevMCP

Introduction

GoDevMCP is a Model Context Protocol (MCP) server that provides development tools with a focus on Go, and additional support for Rust and Python. It offers documentation lookup, code search, project navigation, and more.

Installation

Prerequisites
  • GitHub authentication is required only for the GitHub tools (code search, content, diffs, issues, pull requests, workflow runs). The other tools (Go/Rust/Python docs, directory tree, local search, outline, markdown, validation) work without it.
  • The server resolves a GitHub token in this order:
    1. The GITHUB_TOKEN or GH_TOKEN environment variable, if set.
    2. Otherwise, the locally-installed and authenticated gh CLI (gh auth login).
Using go install

You can install GoDevMCP directly using Go's install command:

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

This will download, compile, and install the binary to your $GOPATH/bin directory (typically ~/go/bin). Make sure this directory is in your system's PATH.

Building from Source
  1. Clone the repository
  2. Run make build to build the application and make install to install.

MCP setup

Claude code

Run this command to add to user scope

claude mcp add godevmcp -s user godevmcp serve
VSCode

Add this section in your user's settings.json

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

Tools

Go Documentation
ToolDescription
search_godocSearch for Go packages on pkg.go.dev
read_godocRead Go package documentation with line-based paging
search_within_godocSearch for keywords within a specific Go package's documentation
outline_go_packageGet a comprehensive outline of a Go package: dependencies, exported declarations, and call graph
validate_go_codeValidate Go code using go vet, build checks, formatting, and module tidiness
Rust Documentation
ToolDescription
search_rustdocSearch for Rust crates on docs.rs
read_rustdocRead Rust crate documentation with line-based paging
search_within_rustdocSearch for keywords within a specific Rust crate's documentation
Python Documentation
ToolDescription
search_pydocSearch Python standard library modules on docs.python.org
read_pydocRead Python standard library module documentation with line-based paging
search_within_pydocSearch for keywords within a specific Python module's documentation
Project Navigation
ToolDescription
tree_dirDisplay local directory tree structure with depth limiting
search_local_filesSearch file contents in local directories with match limiting
scan_markdownScan markdown files to extract headings with line numbers
GitHub Integration
ToolDescription
search_github_codeSearch code in GitHub repositories with compact formatting
get_github_contentGet file content from GitHub with line-based paging
tree_github_repoDisplay GitHub repository tree structure with depth limiting

Instructions

  1. Build the application

    make build
    
  2. Run the application

    make run
    

Available Make Commands

  • make run - Run the application
  • make build - Build the application and install to ~/bin
  • make test - Run unit tests
  • make fmt - Format code using gofumpt
  • make lint - Run golangci-lint
  • make inspect - Run in MCP inspector
  • make help - Display help information

Development

Project Structure
.
├── 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
Package Dependencies

The following Mermaid graph shows the internal package dependencies within the project:

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

This graph illustrates:

  • Entry Point: main package coordinates subcommands
  • Core Layer: subcmd (CLI) and mcptool (MCP server) provide user interfaces
  • Application Layer: app contains business logic, supported by infrastructure packages
  • Infrastructure Layer: Shared utilities and external integrations
  • External Dependencies: Key third-party packages (shown with dashed lines)
Common Development Workflow
  1. Make changes to the code
  2. Run make fmt to format code
  3. Run make lint to check for issues
  4. Run make test to ensure tests pass
  5. Build with make build
For AI Development
  • Follow instructions in CONTRIBUTING.md
  • Use run_make and tree_dir tools rather than using shell commands.
  • Use search_godoc and read_godoc tools to understand how to use Go packages.
  • Use search_rustdoc and read_rustdoc tools for Rust crate documentation.
  • Use search_pydoc and read_pydoc tools for Python standard library documentation.
  • Use tree_github_repo, search_github_code, get_github_content to inspect github repository.
  • Remember to update README.md when making significant changes

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.