S-JIS[2025-05-19]
変更履歴
MCPプロンプト
Model Context Protocolのプロンプトのメモ。
MCPのプロンプトは、LLM(いわゆるAI)への命令・質問(いわゆるプロンプト)のテンプレート。
MCPサーバーは、そのMCPサーバー
を使うためによく入力する命令や質問を、MCPプロンプトとして提供する。(必須ではない)
LLM起動時に、MCPクライアントを介して、そのMCPサーバーが提供するMCPプロンプトの一覧が取得される。
ユーザーは、プロンプト一覧からプロンプトを選ぶことが出来る。
MCPプロンプトは、そのMCPサーバーを使うための例示や指針とも言えるかもしれない。
よく入力する命令や質問を どこかのテキストファイルにでも書いておいて、そこから入力欄へコピー&ペーストするなら、MCPのプロンプトは不要。
ただし、MCPのプロンプトは引数を渡すことが出来て、引数を埋め込んだプロンプト(テキスト)を返してくれるので、その分は便利。
例えば地域の天気を返すMCPサーバーを考えてみる。
このMCPサーバーを使う場合、「対応している地域一覧を教えて」とか「東京の天気を教えて」「札幌の天気を教えて」のようなプロンプトを実行することになるだろう。
そこで、以下のような2つのMCPプロンプトが考えられる。
- 地域一覧を取得するMCPプロンプト
- 引数は無し
- テンプレートは「対応している地域一覧を教えて」
- 地域の天気を取得するMCPプロンプト
- 引数は地域名
- テンプレートは「{{地域名}}の天気を教えて」
- MCPサーバーは、テンプレートに引数の地域名を入れて、具体的な文字列にして返す。
Claude Desktopでは以下のような手順でMCPプロンプトを使用できる。
- チャット入力欄の下部にある「+」アイコンをクリックする。(使用できるMCPサーバー一覧が表示される)
- 「{{MCPサーバー}}から追加」をクリックする。(そのMCPサーバー提供しているMCPプロンプトおよびMCPリソース一覧が表示される)
- 読み込みたいプロンプト名をクリックする。(MCPサーバーからプロンプトの文字列が取得され、チャット欄に添付ファイルのような形で貼り付けられる)
- MCPプロンプトに引数が必要な場合は、引数を入力するダイアログが開く。
- チャット入力欄の送信ボタン(「↑」アイコン)を押すと、添付ファイル(プロンプト)の内容が命令・質問として使われる。
MCPサーバーでプロンプトを実装する。
実装する内容は以下の通り。
- プロンプト名
- 自分のMCPサーバー内で一意となる名前を付ける。
- LLMアプリケーションでユーザーに向けて表示されることがあるので、ユーザーにも分かりやすい名前にするのが良いと思う。
- 説明
- 引数
- MCPプロンプトの内容によっては、引数を定義することが出来る。
- ロール(役割)
- USER・ASSISTANTのいずれか。
- USER…ユーザーが入力するプロンプトという位置付け
- ASSISTANT…LLM(いわゆるAI)に対する指示
- MCPプロンプトの処理本体
- 引数を受け取り、テンプレートを引数で置換して、具体的なプロンプト(命令・質問の文字列)を返す。
MCPへ戻る /
技術メモへ戻る
メールの送信先:ひしだま