Gopls Go Language Server について
MCP-GOPLSは、Go開発者やMCP対応ツール向けにgoplsをMCPサーバーとして提供します。コードのナビゲーション、診断、検索、編集機能を備え、コードはClaude Codeが生成し人手でレビューしていないと説明されています。
主な機能
- 01定義への移動と参照検索
- 02診断とシンボルのホバー情報取得
- 03シンボル検索とインターフェース実装の検索
- 04ファイル横断のシンボル名変更
- 05コード整形とインポート整理
活用シーン
- 01Goプロジェクトのコード移動
- 02コンパイルエラーと静的解析結果の確認
- 03シンボル名変更とインポート整理
- 04インターフェース実装とファイル内シンボル一覧の確認
MCP 対応
goplsのコードナビゲーション、診断、検索、名前変更、整形機能をツールとしてMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-GOPLS
gopls をラップして Go 言語サーバー機能を提供する MCP(Model Context Protocol)サーバーです。
⚠️ 警告:このプロジェクト全体は、人によるコードレビューを受けずに Claude Code によって生成されました。テストに合格し、機能しているように見えますが、本番環境で使用する場合は細心の注意を払ってください。コードはセキュリティ、パフォーマンス、エッジケースについて監査されていません。AI が生成した設計ドキュメントについては、DESIGN.md を参照してください。
機能
gopls の言語サーバー機能はすべて実装されています。
- GoToDefinition:シンボルの定義へ移動します
- FindReferences:シンボルへのすべての参照を検索します
- GetDiagnostics:コンパイルエラーと静的解析の結果を取得します
- Hover:カーソル位置にあるシンボルの情報を取得します
- SearchSymbol:ワークスペース全体からシンボルを検索します(部分一致に対応)
- RenameSymbol:ワークスペース全体のシンボル名を変更します(変更をファイルに直接適用します)
- FindImplementers:インターフェースを実装するすべての型を検索します
- ListDocumentSymbols:ファイル内で定義されたシンボルのアウトラインを取得します
- FormatCode:gofmt の標準に従って Go ソースコードを整形します(変更をファイルに適用します)
- OrganizeImports:import 文を整理します(import をグループ化して並べ替え、変更をファイルに適用します)
インストール
go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest
Claude との連携
Claude Code
-
mcp-gopls をインストールします:
go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest -
Claude Code に追加します:
claude mcp add mcp-gopls "$(which mcp-gopls)" -
Claude Code を再起動します:
claude restart -
インストールを確認します:
claude mcp list
Claude Desktop
-
mcp-gopls をインストールします(上記と同じ手順です)
-
Claude Desktop の設定を編集します:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
mcpServersセクションに以下を追加します:{ "mcpServers": { "mcp-gopls": { "command": "mcp-gopls", "args": [] } } }または、カスタムワークスペースを指定します:
{ "mcpServers": { "mcp-gopls": { "command": "mcp-gopls", "args": ["-workspace", "/path/to/your/go/project"] } } } -
Claude Desktop を再起動します
使い方
# Run with default settings (uses gopls in PATH and current directory as workspace)
mcp-gopls
# Specify gopls path and workspace
mcp-gopls -gopls /path/to/gopls -workspace /path/to/project
# Using environment variables
export GOPLS_PATH=/path/to/gopls
export MCP_GOPLS_WORKSPACE=/path/to/project
mcp-gopls
要件
- Go 1.24.3+
- gopls(Go 言語サーバー)
gopls のインストール
go install golang.org/x/tools/gopls@latest
開発
# Clone the repository
git clone https://github.com/yantrio/mcp-gopls
cd mcp-gopls
# Build the project
go build ./cmd/mcp-gopls
# Run tests
go test ./...
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。