S-JIS[2025-03-30/2025-04-19] 変更履歴

Model Context Protocol(MCP)メモ

LLM(いわゆるAI)で使われるMCPのメモ。


概要

Model Context Protocol(MCP)は、Anthropic(アンソロピック)社が公開した、「LLMアプリケーション(大規模言語モデル、いわゆるAI)」と「外部のリソース(データやサービス)」を連携させるためのプロトコル。


これだけだとMCPの何が便利なのか分からないので、自分がよく使っているLLMであるChatGPTを例にしてみる。
(ChatGPTもMCPに対応するようだが、ここではMCPが使えないものとして例示する)

例えばChatGPTにSlackの使い方について質問すると(ChatGPTのウィンドウに質問を入力すると)、ChatGPTはSlackの使い方を回答してくれる(ChatGPTのウィンドウに回答が表示される)。

しかしChatGPTに「Slackにメッセージを書き込んで」と指示しても、それは出来ない。
ChatGPTはSlackと連携していないので、Slackを操作できないからだ。

つまり、MCPは、こういった連携を可能にするものである。
ChatGPTがMCPに対応したら、MCPを介してSlackと連携できるようになるので、ChatGPTに指示したらSlackにメッセージを書けるようになるということだ。


ChatGPTは、Anthropic社の競合でもある。
そういったChatGPTのようなLLMでもMCPに対応するということは、MCPがデファクトスタンダードになりつつあるということだと言われている。


MCPサーバー

MCPによって連携できるようになるデータやサービスは「MCPサーバー」と呼ばれる。

先のSlackの例は、Slackサービスが「Slackを操作できるMCPサーバー」を提供しているから実行できる。

どのようなMCPサーバーがあるのかはModel Context Protocol serversに列挙されている。
ローカルのファイルを読むものやPostgreSQLからデータを取得するもの、GitHubを操作するもの等、色々ある。
また、第三者がMCPサーバーを作ることも出来るので、もっと増えていくだろう。


MCPサーバーを自作して実行してみようと思ったら、MCPに対応しているLLMが必要。
ひとまずは、MCPの仕様を作ったAnthropic社が提供しているClaude Desktopを使うのが無難。

MCPサーバーをClaude Desktopで使用する場合、Claude Desktopの設定ファイルにMCPサーバーの設定(起動コマンド)を追加する。
また、実際にMCPサーバーにアクセスする(MCPサーバーからデータを取得する)際には、必ずユーザーの許可を求めるようになっている。


Claude Desktop

Claude(クロード)は、Anthropic社が提供しているLLM(大規模言語モデル、いわゆるAI)の名前。

Claude Desktopは、Claudeにアクセスするデスクトップアプリケーション。
ウェブブラウザーを使わず、自分のPCにインストールして実行するClaudeクライアント。

Claude Desktopのウィンドウに質問を書くと、「Claude自身のサーバー」や「質問内容に関するMCPサーバー」にアクセスして回答を作成してくれる。

自作のMCPサーバーを作って試したい場合、Claude Desktopに自作MCPサーバーを登録して実行することになる。


Claude Desktopを使うにはClaudeのアカウントが必要になる。メールアドレスかGoogleアカウントで登録できる。

Claudeの無料枠は使える量が決まっているが、毎朝リセットされるらしい。(朝というのがどこのタイムゾーンなのかは知らない)


Windows版のClaude Desktopは、バックグラウンドプロセスが動く。

ウィンドウは単なるユーザーインターフェースであり、状態はバックグラウンドプロセスの中で保持されているようだ。
つまり、ウィンドウの右上の×ボタンを押しても、ウィンドウが閉じるだけで内部状態は変わらない(バックグラウンドプロセスは終了しない)。

メニューの「ファイル」→「終了」でバックグラウンドプロセスも終了する。


技術メモへ戻る
メールの送信先:ひしだま