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