Model Context Protocol(MCP)は、AI クライアントを外部のツールやデータに接続するためのオープンな仕様です。プラグインで最新の情報を取得したり、操作を実行したり、別のサービスと連携したりする必要がある場合は、MCP サーバーを組み込めます。
MCP サーバーは任意です。指示とリソースだけを提供するプラグインは、スキルだけで構成できます。
MCP サーバーが提供する機能
MCP サーバーは次の機能を公開できます。
- ツール: モデルが構造化された入力を渡して呼び出せる関数
- リソース: クライアントが読み取れるデータやコンテンツ
- プロンプト: 再利用できるプロンプトテンプレート
- 指示: サーバーの各機能の使い方を示す、サーバー全体に共通のガイドライン
プラグインが主に利用するのはツールです。各ツールには名前、説明、入力スキーマがあり、必要に応じて出力スキーマも定義できます。モデルはこれらの項目をもとに、いつツールを呼び出し、その結果をどう使うかを判断します。
ツール呼び出しの流れ
ユーザーの依頼に合うツールがある場合、処理は次のように進みます。
- クライアントが MCP サーバーの公開するツールを検出します。
- モデルがツールを選び、入力スキーマに合う引数を渡します。
- サーバーがリクエストを検証し、操作を実行して結果を返します。
- モデルがその結果を使って会話を続けます。
ツールの結果は、カスタム UI がなくても利用できるようにしてください。モデルがユーザーの依頼に答えるために必要な情報を、簡潔なテキストまたは構造化されたコンテンツで返してください。MCP Apps に対応するクライアントには、MCP サーバーから必要に応じて UI リソースも返せます。
トランスポートと認可
本番環境では、ストリーミング可能な HTTP トランスポートを使用し、安定した HTTPS エンドポイントに MCP サーバーをデプロイしてください。ツールが非公開データにアクセスしたり、ユーザーに代わって操作を実行したりする場合は、MCP 仕様で定められた認可フローでサーバーを保護してください。
プロトコルの詳細は、MCP 仕様を参照してください。Python と TypeScript のソフトウェア開発キットには、サーバーの実装と開発を補助するヘルパーが含まれています。
次のステップ
プラグインに必要なツールを定義したら、MCP サーバーを構築してください。