mcpField
G
GoDevMCP

GoDevMCP

ローカル
github.com/fpt開発ツール131 日前に更新

GoDevMCP について

GoDevMCPは、Goを中心にRustとPythonにも対応する開発向けMCPサーバーです。言語ドキュメントの検索に加え、ローカルプロジェクトの操作やGitHubの閲覧ツールを提供します。

主な機能

  1. 01Go・Rust・Pythonのドキュメント検索
  2. 02Goパッケージ構造と呼び出しグラフの概要
  3. 03Goコードの検証
  4. 04ローカルのディレクトリとファイル検索
  5. 05GitHubのコード・ファイル・リポジトリ閲覧

活用シーン

  1. 01言語パッケージのドキュメントを検索して行単位で読む
  2. 02Goパッケージの依存関係と公開宣言を確認する
  3. 03ローカルの構成やMarkdownの見出しを調べる
  4. 04GitHubのコードを検索し、リポジトリのファイルを読む

MCP 対応

MCPサーバーとして、ドキュメント検索、コード検査、プロジェクト操作、GitHub操作のツールをMCPクライアントに提供します。一部のGitHubツールには認証が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

GoDevMCP

はじめに

GoDevMCP は、Go に重点を置き、Rust と Python もサポートする開発ツールを提供する Model Context Protocol(MCP)サーバーです。ドキュメントの検索、コード検索、プロジェクトのナビゲーションなどを利用できます。

インストール

前提条件
  • GitHub 認証が必要なのは、GitHub ツール(コード検索、コンテンツ、差分、Issue、プルリクエスト、ワークフローの実行)のみです。それ以外のツール(Go/Rust/Python のドキュメント、ディレクトリツリー、ローカル検索、アウトライン、Markdown、検証)は、認証なしで利用できます。
  • サーバーは、次の順序で GitHub トークンを解決します。
    1. GITHUB_TOKEN または GH_TOKEN 環境変数が設定されている場合は、その値を使用します。
    2. 設定されていない場合は、ローカルにインストールされ、認証済みの gh CLI を使用します(gh auth login)。
go install を使用する

Go の install コマンドを使用して、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_godocpkg.go.dev で Go パッケージを検索します
read_godoc行単位のページ分割で Go パッケージのドキュメントを読み取ります
search_within_godoc特定の Go パッケージのドキュメント内でキーワードを検索します
outline_go_packageGo パッケージの包括的なアウトライン(依存関係、エクスポートされた宣言、呼び出しグラフ)を取得します
validate_go_codego vet、ビルドチェック、フォーマット、モジュールの整合性チェックを使用して Go コードを検証します
Rust ドキュメント
ツール説明
search_rustdocdocs.rs で Rust クレートを検索します
read_rustdoc行単位のページ分割で Rust クレートのドキュメントを読み取ります
search_within_rustdoc特定の Rust クレートのドキュメント内でキーワードを検索します
Python ドキュメント
ツール説明
search_pydocdocs.python.org で Python 標準ライブラリのモジュールを検索します
read_pydoc行単位のページ分割で Python 標準ライブラリのモジュールのドキュメントを読み取ります
search_within_pydoc特定の Python モジュールのドキュメント内でキーワードを検索します
プロジェクトのナビゲーション
ツール説明
tree_dir深さを制限してローカルディレクトリのツリー構造を表示します
search_local_files一致件数を制限してローカルディレクトリ内のファイルの内容を検索します
scan_markdownMarkdown ファイルをスキャンし、行番号付きで見出しを抽出します
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
パッケージの依存関係

以下の Mermaid グラフは、プロジェクト内のパッケージ間の依存関係を示しています。

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 ツールを使用してください。
  • Go パッケージの使用方法を把握するには、search_godoc および read_godoc ツールを使用してください。
  • Rust クレートのドキュメントには、search_rustdoc および read_rustdoc ツールを使用してください。
  • Python 標準ライブラリのドキュメントには、search_pydoc および read_pydoc ツールを使用してください。
  • GitHub リポジトリを調べるには、tree_github_repo、search_github_code、get_github_content を使用してください。
  • 重要な変更を行う場合は、README.md も忘れずに更新してください

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。