MCPとはなにか

ここ数ヶ月、MCPがアチラコチラで話題になっています。
ほんと、LLMに関する技術の日進月歩はすごいものですね。

なんとなくざっくりは理解しているものの、一度このあたりでまとめて見ようと思った個人的まとめとなります。

MCPとは何なのか

MCP(Messaging Channel Protocol)は、Anthropicが開発した大規模言語モデル(LLM)とツールを接続するためのプロトコルです。MCPは、Claudeなどのモデルが外部ツールと連携する際の通信フレームワークを提供し、これによりLLMの機能を大幅に拡張することができます。

MCPの主な特徴:

  • LLMとツールの間で構造化されたメッセージをやり取りする標準プロトコル
  • ツールの使用を通じてLLMの能力を拡張(計算、情報検索、外部システムとの連携など)
  • エージェントがユーザーの意図を理解し、適切なツールを選択・実行できるようにする
  • 複雑なタスクを段階的に処理するためのフレームワークを提供

MCPは、LLMを単なるテキスト生成システムから、実際のタスクを実行できる強力なエージェントへと進化させる重要な技術です。

以前、ローカルにあるシステムの情報をLLMと接続させることで、自然言語を用いたシステムの操作というモノができないかな?と考えたものの、ピンときていなかった答えが少し見えてきた気がします。

MCPの概念・構成要素

MCPに関してはAnthropicのドキュメントに構成要素が描かれている

https://modelcontextprotocol.io/introduction#general-architecture

MCP Client としてはVSCodeやClineなどのツールが存在し、MCP Serverと連携。
MCP Server はLLMに対して MCP Protocolを用いて連携し、必要に応じてデータソース等から情報を提供する、、、と。
上記図の”Local Data Source”としては「Your computer’s files, databases, and services that MCP servers can securely access」とあるので、ファイルであるかもしれないし、システムであるかもしれないという位置づけ。

MCP Server が提供するもの

LLMに対して情報を提供する入口となる MCP Server ですが、これが何を提供するのかというと、下記3点となるそうです

  1. Resources: File-like data that can be read by clients (like API responses or file contents)
  2. Tools: Functions that can be called by the LLM (with user approval)
  3. Prompts: Pre-written templates that help users accomplish specific tasks

https://modelcontextprotocol.io/quickstart/server#core-mcp-concepts

主にはToolsが重要な一度を占めることになりそう。
公式では、天気予報に関してのToolを提供するMCP Serverをサンプルとして提示されていた

For Server Developers
https://modelcontextprotocol.io/quickstart/server

実際のLLMとMCPサーバーとのやり取り、それらに関してはすでにリファレンス実装などもあるようなのでそのあたりを見ながら理解を深めていくことができればと考えている

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.