MCP公式ドキュメント 日本語版
  1. コンセプト
MCP公式ドキュメント 日本語版
  • 始める
    • 導入
    • サンプルサーバー
    • クライアントの例
    • クイックスタート
      • サーバー開発者向け
      • クライアント開発者向け
      • Claude デスクトップ ユーザー向け
  • チュートリアル
    • LLMs を使用した MCP の構築
    • デバッグ
    • Inspector
  • コンセプト
    • リソース
    • コアアーキテクチャ
    • プロンプト
    • ツール
    • サンプリング
    • ルーツ
    • トランスポート
  • 発達
    • 最新情報
    • ロードマップ
    • 貢献
  1. コンセプト

ルーツ

MCPにおけるルートの理解
ルートとは、MCPにおいてサーバーが動作できる境界を定義する概念です。ルートは、クライアントがサーバーに対して、関連するリソースとその場所を通知する方法を提供します。

ルートとは?#

ルートとは、クライアントがサーバーに対して注目すべき場所として提案するURIです。クライアントがサーバーに接続する際、サーバーが扱うべきルートを宣言します。主にファイルシステムのパスに使用されますが、ルートはHTTP URLを含む有効なURIであれば何でも構いません。
例えば、ルートは以下のようになります。
file:///home/user/projects/myapp
https://api.example.com/v1

ルートを使用する理由?#

ルートは、いくつかの重要な目的を果たします。
1.
ガイダンス: サーバーに関連するリソースと場所を通知します。
2.
明確性: ルートは、ワークスペースの一部であるリソースを明確にします。
3.
組織化: 複数のルートを使用することで、異なるリソースを同時に扱うことができます。

ルートの仕組み#

クライアントがルートをサポートする場合:
1.
接続時に roots capability を宣言します。
2.
サーバーに提案するルートのリストを提供します。
3.
ルートが変更された場合にサーバーに通知します(サポートされている場合)。
ルートは情報提供であり、厳密に強制するものではありませんが、サーバーは以下を行う必要があります。
1.
提供されたルートを尊重します。
2.
ルートURIを使用してリソースを特定し、アクセスします。
3.
ルートの境界内での操作を優先します。

一般的なユースケース#

ルートは、一般的に以下を定義するために使用されます。
プロジェクトディレクトリ
リポジトリの場所
API endpoints
コンフィギュレーションの場所
リソースの境界

ベストプラクティス#

ルートを扱う際には:
1.
必要なリソースのみを提案します。
2.
ルートに明確で説明的な名前を使用します。
3.
ルートのアクセシビリティを監視します。
4.
ルートの変更を適切に処理します。

例#

以下は、典型的なMCPクライアントがルートを公開する方法です。
{
  "roots": [
    {
      "uri": "file:///home/user/projects/frontend",
      "name": "Frontend Repository"
    },
    {
      "uri": "https://api.example.com/v1",
      "name": "API Endpoint"
    }
  ]
}
この構成は、サーバーがローカルリポジトリとAPI endpointの両方に焦点を当て、それらを論理的に分離することを提案しています。
前へ
サンプリング
次へ
トランスポート
Built with