この頃流行のMCPなるものをちょっと試してみました。 いわゆるAIに機能をちょびっと追加できるアレみたいなやつです。
MCPとは
MCPはModel Context Protocolの略で、俗に言うAIになんらかの機能を追加するプラグインみたいなものです。 比較的汎用性があるらしく、AIのプロンプトに命令を入れたときに、使えそうなものがあれば、適当に選んだりしてくれるというものでした。
これまで資料や動画でちょこっと見てはいましたが、試してみたいと思い、少し例題などを見ながらいじってみました。
今回はTypeScriptベースで試しました、常用する言語ではないのですが、Python環境構築で少し詰まってしまったので。
MCPのSDKを入れる
bunを使っているので、とりあえず必要なものとしてMCPのSDKをツッコんでおきます。
|
|
コードを書いてみる
よくあるサンプルでしょうが、挨拶とか計算とかですね。
|
|
敢えて足し算のくせにかけ算を入れています。これは動作チェックとして含めたいからという意図なのでここでは気にしないでください。
server.tool
やserver.resource
というのがMCPサーバーが提供する機能のようですが、現時点ではtoolやresourceの違いはイマイチ不明。
で、これをvscodeのMCPサーバーとして登録したいので、ちょっと準備をします。
- vscodeの設定画面を開く(
Cmd+,
) - 機能名の検索でmcpと入れる
- MCPの設定のJSONファイル内で設定を追加する
追加コードはこんな感じ
|
|
で、GitHub Copilotのチャットを呼び出し、入力していきます。
GitHub Copilotのチャットでの実行例
チャットに以下のように入力すると:
|
|
実装上、加算ではなく乗算が行われるため、サーバーは「40 × 2 = 80」という結果を返します。
実際にツールが正しく動作していることを確認できました。
消費税計算の例
@densuke
9876円の消費税込み価格を教えて、ツールを使った場合はその入出力も添えて
@GitHub Copilot
9876円の消費税10%は **987.6円** です。
したがって、税込み価格は **9876円 + 987.6円 = 10863.6円** となります。
ツールを使った場合の入出力
入力
ツール "消費税" に以下の入力を渡します:
{
"price": 9876
}
出力
ツールからの戻り値は以下の通りです:
{
"content": [
{
"type": "text",
"text": "消費税10%であれば987.6円"
}
]
}
おお、ちゃんと使ってくれているみたい。
おまけ: Pythonで試せなかった理由
uv
でPython3.13ベースで構成しようとしていたら、 mcp[cli]
のインストールがうまく行かないという罠にハマってしまいました。
ただしこれはやり方がわるかっただけみたい。