リソース
リソースはアプリケーション制御されるように設計されています。つまり、クライアント アプリケーションはリソースの使用方法と使用時期を決定できます。MCP クライアントによって、リソースの処理方法が異なる場合があります。例: Claude Desktopは現在、ユーザーがリソースを使用する前に明示的に選択する必要があります。 他のクライアントはヒューリスティックに基づいてリソースを自動的に選択するかもしれない 一部の実装では、AIモデル自体がどのリソースを使用するかを決定できる場合もあります。 サーバー作成者は、リソース サポートを実装するときに、これらの相互作用パターンのいずれかを処理できるように準備する必要があります。データをモデルに自動的に公開するには、サーバー作成者はToolsなどのモデル制御プリミティブを使用する必要があります。
概要
リソースURI
[protocol]://[host]/[path]
file:///home/user/documents/report.pdf
postgres://database/customers/schema
screen://localhost/display1
リソースタイプ
テキストリソース
バイナリリソース
リソース探索
直接リソース
resources/list
APIを通じて具体的なリソースのリストを公開します。各リソースには以下が含まれます:
リソーステンプレート
リソースの読み取り
resources/read
リクエストを行います。
resources/read
リクエストに対して複数のリソースを返すことがあります。例えば、ディレクトリを読み取る際にディレクトリ内のファイルリストを返すことができます。リソースの更新
リストの変更
notifications/resources/list_changed
通知を通じて利用可能なリソースリストの変更をクライアントに通知できます 。コンテンツの変更
1.
resources/subscribe
を送信2.
notifications/resources/updated
を送信3.
resources/read
で最新のコンテンツを取得可能4.
resources/unsubscribe
で購読を解除可能実装例
ベストプラクティス
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.