MCP
Model Context Protocol_
AIアシスタントとデータソースを接続するための標準
AIシステムが必要なデータに安全かつ効率的にアクセスできるようになる
LLMのための拡張機能みたいなのをイメージすれば良さそう
Introducing the Model Context Protocol \ Anthropic
Anthropic製
website
github
spec, docs, sdkなど
AI版のLSPみたいなものかmrsekut.icon
MCP serverという概念が出てくるが、Language Serverと似たようなイメージか
大まかな使用用途
外部の情報を取得する
AI Agentに外部知識を与える
RAGの一種
e.g. ライブラリのdocsを読ませる?
外部ツールの操作
他のアプリを操作させる
e.g. 任意の関数を呼ぶ、Slackに投稿する
MCPは主に以下の機能を提供する
Resource
クライアントが読み取ることができるファイルのようなデータ
API 応答やファイルの内容など
https://modelcontextprotocol.io/docs/concepts/resources
Tool
アクションを実行するためにLLM から呼び出せる関数
ユーザの承認が必要
tools/list でMCPクライアントからはツール群を取得できる
https://modelcontextprotocol.io/docs/concepts/tools
Prompt
ユーザーが特定のタスクを達成するのに役立つ、事前に作成されたテンプレート
https://modelcontextprotocol.io/docs/concepts/prompts
https://www.deeplearning.ai/short-courses/mcp-build-rich-context-ai-apps-with-anthropic/
従来の課題
個別のAIモデル毎に、個別のデータソース毎に、個別の実装が必要で互換性が低かった
例えば、エディタ上のAI支援ツールの開発者目線だと
今までは個別のモデルに対して実装が必要だったが、
MCP一つに対応する様に実装すれば、(MCPに対応している)任意のモデルに対して利用できる
やさしいMCP入門 - Speaker Deck
https://zenn.dev/mkj/articles/0ed4d02ef3439c
セキュリティ
https://zenn.dev/arrowkato/articles/mcp_security