リソースはアプリケーション制御されるように設計されています。つまり、クライアント アプリケーションはリソースの使用方法と使用時期を決定できます。MCP クライアントによって、リソースの処理方法が異なる場合があります。例: Claude Desktopは現在、ユーザーがリソースを使用する前に明示的に選択する必要があります。 他のクライアントはヒューリスティックに基づいてリソースを自動的に選択するかもしれない 一部の実装では、AIモデル自体がどのリソースを使用するかを決定できる場合もあります。 サーバー作成者は、リソース サポートを実装するときに、これらの相互作用パターンのいずれかを処理できるように準備する必要があります。データをモデルに自動的に公開するには、サーバー作成者はToolsなどのモデル制御プリミティブを使用する必要があります。
[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
通知を通じて利用可能なリソースリストの変更をクライアントに通知できます 。resources/subscribe
を送信notifications/resources/updated
を送信resources/read
で最新のコンテンツを取得可能resources/unsubscribe
で購読を解除可能