MCPサーバーをつないで、話しかけて、何かをやってもらう。ここまではもう経験済みという前提で、このコースを始めます。
つないだ経験がまだなければ、先にMCP(外の世界とつなぐ)やMCPとは何かで、つなぐかどうかの判断そのものを扱っています。このコースはその先、MCPサーバーの中で実際に何が起きているかという仕組みの話です。
3つの土台を、機能でなく「誰が選ぶか」で見る
MCPサーバーが公開できる機能は、大きく3種類に決まっています。ツール・リソース・プロンプトです。
名前だけを見ると、どれも「AIに何かを渡す仕組み」に思えます。ですが公式仕様は、この3つを機能の強さではなく、誰が使うかどうかを決めるかという軸で分けています。決める主体が、モデルなのか、アプリなのか、ユーザーなのか。ここが分かれ目です。
モデルが選ぶ。Claudeが会話の文脈から、自分で呼ぶかどうかを判断する
アプリが選ぶ。つないでいるアプリ(Claude Codeなど)がいつ・どう取り込むかを決める
ユーザーが選ぶ。スラッシュコマンドのように、人が明示的に呼び出す
強い順や高度な順ではありません。次の一手を誰が決めるかが違うだけです。
ツール:モデルが選ぶ
ツールは、Claudeが会話の中で「これを使うべきだ」と自分で判断して呼び出す機能です。天気を調べる、計算する、社内システムに問い合わせる。こうした「実行」を担うのがツールです。
やり取りは単純で、まずクライアント側が「使えるツールを教えて」と尋ね、サーバーが名前と説明を返します。次にClaudeが会話の内容から必要なツールを選び、実際に呼び出します。
ツールが呼ばれるまで
一覧を尋ねる
つないだ直後、どんなツールが使えるかをサーバーに尋ねる
モデルが選ぶ
会話の文脈から、Claudeがどのツールを使うべきか判断する
実行を頼む
選んだツールの名前と入力値を渡し、実行を依頼する
結果を受け取る
ツールの実行結果が返り、会話の続きに使われる
公式仕様は、ここに一つ注意を添えています。ツールを実行に移す前には、常に人間が止められる機会を残すべきだという原則です。何のツールが使われようとしているか画面に示し、実行前に確認を求める。これは実装側の義務として明記されています。
リソース:アプリが選ぶ
リソースは、読み取り専用のデータをClaudeの文脈に渡す仕組みです。ドキュメントの中身、設定ファイル、データベースのレコード。ツールと違って「実行」ではなく「参照」だけを担います。
ここで選ぶ主体はモデルではありません。つないでいるアプリ側です。一覧から選ばせる画面を出すのか、検索させるのか、それとも文脈に応じて自動で差し込むのか。どう取り込むかはアプリの設計次第で、公式仕様はやり方を一つに決めていません。
一覧を尋ねる
つないだサーバーが公開しているリソースを尋ねる
アプリが選ぶ
一覧表示・検索・自動選択など、選び方はアプリの設計次第
読み取る
選ばれたリソースの中身を取得する
文脈に入る
取得した内容が会話の材料として使われる
直接指定できるリソースと、パラメータ付きで指定するリソースの違いは、次のレッスンで扱います。
プロンプト:ユーザーが選ぶ
3つ目のプロンプトは、少し紛らわしい名前です。ここで言うプロンプトは、あなたが毎回考えて打ち込む文章のことではありません。サーバー作者があらかじめ用意した、質の高い指示テンプレートを指します。
公式仕様は、プロンプトを「ユーザー制御」と位置づけています。典型的な現れ方は、スラッシュコマンドです。
$/summarize-week meeting_id=weekly-42[サーバー側で用意されたテンプレートに meeting_id が差し込まれ、整った指示として展開される]
ユーザーが自分でゼロから文章を組み立てる代わりに、サーバー作者が事前にテストした型を選ぶだけで済みます。誰がどうやってそのテンプレートを見つけ、引数をどう渡すかは、次の次のレッスンで詳しく扱います。
やってみよう
演習1:3つに分類してみる
自分がすでにつないでいる、または知っているMCPサーバーを1つ思い浮かべてください。そのサーバーが提供している機能を書き出し、それぞれがツール・リソース・プロンプトのどれに当たるか分類してみてください。
分類に迷った機能があれば、「これは誰が選んでいるか」を自問してみてください。Claudeが自分の判断で使っているなら、たいていツールです。
演習2:自分の業務に当てはめる
自分の仕事で「読み取り専用のデータを渡したいだけ」という場面と、「AIに実行までしてほしい」という場面を、それぞれ1つずつ挙げてください。前者はリソース向き、後者はツール向きの候補です。
今日のまとめ
3行で振り返ります。
- ツール・リソース・プロンプトは、機能の強さではなく「誰が選ぶか」で見分ける
- ツールはモデルが選び、リソースはアプリが選び、プロンプトはユーザーが選ぶ
- ツールの実行前には、人間が止められる機会を残すべきだと公式仕様は定めている
次のレッスンでは、リソースをもう一段深く見ていきます。直接指定するリソースと、パラメータで指定するリソースの違い、そして更新を知らせてもらう購読の仕組みです。
セルフチェック
1. MCPの公式仕様が、ツール・リソース・プロンプトを分類するときの軸は何ですか。
2. ツールの実行について、公式仕様が定めている原則として正しいものはどれですか。
3. MCPにおける「プロンプト」の説明として正しいものはどれですか。