Repolode
mark3labs

mark3labs/mcp-go

LLMアプリケーションにツール、リソース、プロンプトを公開するMCPサーバーを構築するための、Model Context ProtocolのGo実装。

スター
9,181
フォーク
910
未解決の Issue
23
最終コミット
3 時間前

これは何?

mcp-goは、LLMアプリケーションと外部データソースやツールを接続する標準規格、Model Context Protocolに準拠したサーバーを構築するためのGoライブラリです。プロトコルの詳細やサーバー管理を担うため、開発者はハンドラー関数を使ってツール、リソース、プロンプトを登録し、サーバーを起動できます。

stdio、SSE、streamable-HTTPのトランスポートに対応しています。型付きツールハンドラー、時間のかかる処理に対応するタスク拡張ツール、セッションごとのツールやフィルターを扱うセッション管理、ツールおよびプロンプトハンドラー向けのミドルウェア、オートコンプリートプロバイダーを備えています。また、OAuth保護リソースのメタデータ、ブラウザクライアント向けのCORS、ローカルHTTPサーバー向けのDNSリバインディング保護にも対応しています。

MCP仕様のバージョン2025-11-25を実装し、複数の旧プロトコルバージョンとの後方互換性も維持しています。READMEによると、実装は現在も活発に開発されており、一部の高度な機能は開発中です。

主な機能

  • 01シンプルなハンドラー関数を使って、ツール、リソース、リソーステンプレート、プロンプトを登録できます。
  • 02stdio、SSE、streamable-HTTPのトランスポートに対応しています。
  • 03ポーリングに対応した、非同期の長時間処理向けタスク拡張ツールを利用できます。
  • 04セッションごとのツール、ツールのフィルタリング、セッション単位の通知に対応しています。
  • 05ツールおよびプロンプトハンドラー向けのミドルウェアと、panicリカバリーを備えています。
  • 06HTTPトランスポート向けに、OAuth保護リソースのメタデータとCORS設定を標準で提供します。

ユースケース

  • 社内APIやデータベースクエリを、LLMエージェントが呼び出せるツールとして公開する。
  • AIアシスタントがファイルやシステム情報にアクセスできるよう、GoでMCPサーバーを構築する。
  • HTTP経由で接続する複数のクライアントに、ユーザーごとのツールやデータを提供する。
  • net/httpルーターやその他のフレームワークを通じて、既存のGoサービスにMCP対応を追加する。

クイックスタート

  1. 1

    go get でライブラリをインストールします

    go get github.com/mark3labs/mcp-go
  2. 2

    Quickstart のコードを含むサーバーファイルを作成します(例: server.ServeStdio を呼び出す main.go)

使う前に知っておきたいこと

  • プロジェクトは現在開発中であり、一部の高度な MCP 機能はまだ開発が進められている段階です。

トピック

よくある質問

mcp-go とは?
LLMアプリケーションにツール、リソース、プロンプトを公開するMCPサーバーを構築するための、Model Context ProtocolのGo実装。 mcp-goは、LLMアプリケーションと外部データソースやツールを接続する標準規格、Model Context Protocolに準拠したサーバーを構築するためのGoライブラリです。プロトコルの詳細やサーバー管理を担うため、開発者はハンドラー関数を使ってツール、リソース、プロンプトを登録し、サーバーを起動できます。
mcp-go は無料で使えますか?ライセンスは?
mcp-go は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mcp-go は今もメンテナンスされていますか?
活発にメンテナンス中。mcp-go の最終コミットは 2026年10月22日 です。
mcp-go は何に使えますか?
社内APIやデータベースクエリを、LLMエージェントが呼び出せるツールとして公開する。 AIアシスタントがファイルやシステム情報にアクセスできるよう、GoでMCPサーバーを構築する。 HTTP経由で接続する複数のクライアントに、ユーザーごとのツールやデータを提供する。 net/httpルーターやその他のフレームワークを通じて、既存のGoサービスにMCP対応を追加する。
mcp-go のインストール方法は?
go get でライブラリをインストールします: go get github.com/mark3labs/mcp-go Quickstart のコードを含むサーバーファイルを作成します(例: server.ServeStdio を呼び出す main.go)
mcp-go はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/mark3labs/mcp-go

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト