← プロジェクト一覧に戻る

Model Context Protocol

MCPの仕様そのもの。スキーマと、各SDKが実装する規定

公式Apache-2.0 / CC-BY-4.0
スター
9k
フォーク
1.7k
オープンIssue
175
最終コミット
2026年8月14日

概要

MCPのクライアントとサーバーが準拠を測られる対象で、TypeScriptで定義したスキーマとそのJSON Schema版、そして適合実装が満たすべき要件を記した文章から成ります。2025年12月にAnthropicがLinux Foundation傘下のAgentic AI Foundationへ寄贈しており、ライセンスは移行の途中です。新規のコードと仕様本文はApache-2.0、ドキュメントはCC-BY-4.0、再ライセンスに同意していない寄稿分はMITのまま残っています。SDKの挙動が腑に落ちないときに読む場所であって、これ自体は依存関係ではなく文書のため、実装には各言語のSDKが別途必要です。

Model Context Protocolで何ができますか?

  • 要約ではなくスキーマを読むプロトコルはschema/<revision>/schema.tsにTypeScriptで定義され、それを取り込めない処理系向けにJSON Schema版も公開されています。メッセージがどのフィールドを持つかという問いに対する正解は、各SDKのドキュメントではなくこのリポジトリ内のファイルです。
  • 日付形式の改訂番号を把握する改訂番号はYYYY-MM-DD形式の文字列で、後方互換性を壊す変更が入ったときにだけ進みます。互換性を保つ改善はバージョンを動かさずに反映されます。現行の改訂は2026-07-28で、2025-11-25以前は初期化時のハンドシェイクでバージョンを決める世代にあたります。
  • セッション単位ではなくリクエスト単位で折衝する2026-07-28以降、バージョンは全リクエストの_meta内にio.modelcontextprotocol/protocolVersionとして載り、Streamable HTTPではMCP-Protocol-Versionヘッダにも入ります。サーバーはリクエストごとに個別に受理・拒否し、拒否時は対応バージョンを列挙したUnsupportedProtocolVersionErrorを返します。対応バージョン、機能、識別情報を1往復でまとめて取得するserver/discoverも必須のRPCとして用意されています。
  • コア機能を待たずに拡張を選ぶTasksは長時間かかる処理に、状態の問い合わせと途中入力を伴う永続的なハンドルを与えます。MCP Appsは会話の中にグラフやフォーム、動画プレーヤーを直接描画します。認可まわりには、機械間認証と組織による集中管理の2つの拡張があります。拡張は既定で無効で、クライアントは各リクエストのio.modelcontextprotocol/clientCapabilitiesで、サーバーはserver/discoverの応答で対応を宣言します。両端が対応して初めて使えます。
  • 安全性の強制をプロトコルに期待しない仕様書自身が、MCPはプロトコルの層でセキュリティ原則を強制できないと明記しています。ツールの注釈は、サーバーが信頼できる場合を除いて信頼できないものとして扱うべきだとされ、同意の取得はホスト側の責任です。どの利用者がどのツールを呼べるかは、実装するか、ゲートウェイに任せるかのどちらかになります。
  • 動くコードは別リポジトリにあるこのリポジトリにあるのは仕様とドキュメントだけです。リファレンス実装のサーバー群、コミュニティ運営のレジストリ、Python・TypeScript・Go・C#・Rust・Java・Kotlin・PHP・Swift・Rubyの公式SDKは、いずれも同じ組織の別リポジトリで、リリース時期もそれぞれ独立しています。新しい改訂への対応は改訂の公開より後になるため、実際にどの改訂で話せるかは採用するSDK次第です。

ドキュメント

modelcontextprotocol/modelcontextprotocol のREADMEより転載(Apache-2.0 / CC-BY-4.0)。 原文を読む ↗

Model Context Protocol (MCP)

Just heard of MCP and not sure where to start? Check out our documentation website.

This repo contains the:

  • MCP specification
  • MCP protocol schema
  • Official MCP documentation

The schema is defined in TypeScript first, but made available as JSON Schema as well, for wider compatibility.

The official MCP documentation is built using Mintlify and available at modelcontextprotocol.io.

Authors

The Model Context Protocol was created by David Soria Parra (@dsp) and Justin Spahr-Summers (@jspahrsummers).