このプロジェクトについて

mcp-goは、Model Context Protocol (MCP)のGo実装です。MCPは、LLMアプリケーションと外部データソースおよびツール間の安全な統合を可能にする標準化されたプロトコルです。このプロジェクトは、GoでMCPサーバーを構築するための高レベルで使いやすいSDKを提供します。 主な機能は以下のとおりです。 - ボイラープレートを最小限に抑える高レベルインターフェースによる高速開発 - 最小限のセットアップコードで簡単なサーバー作成 - コアMCP仕様の完全な実装を目指す このSDKは、MCP仕様バージョン2025-11-25を実装し、バージョン2025-06-18、2025-03-26、および2024-11-05との後方互換性を備えています。 カバーされるコアコンセプト: - サーバー:接続管理、プロトコル準拠、メッセージルーティングを処理するコアインターフェース - リソース:静的または動的なURIテンプレートを通じてデータをLLMに公開(GETエンドポイントに類似) - ツール:副作用を伴う実行可能なアクションを通じて機能を提供(POSTエンドポイントに類似)。長時間実行操作のためのタスク拡張ツールのサポートを含む - プロンプト:引数、埋め込みリソース、複数のメッセージタイプをサポートするLLMインタラクション用の再利用可能なテンプレート トランスポートサポートには、stdio、SSE(Server-Sent Events)、およびストリーミング可能なHTTPが含まれます。HTTPトランスポートは、トランスポートに依存しないHandleエントリポイントを通じて、fasthttpやfiberなどの非net/httpフレームワークに埋め込むことができます。 追加機能には、OAuth保護リソースメタデータ(RFC 9728)、ブラウザベースのクライアント向けCORSサポート、セッションごとのツールとツールフィルタリングを備えたセッション管理、リクエストフック、ツールハンドラーミドルウェアが含まれます。 このプロジェクトは活発に開発中であり、コア機能は動作していますが、一部の高度な機能はまだ進行中です。