MCP
作成日時:2025-07-19
更新日時:2025-07-20
MCP(Model Context Protocol)
AIに渡すリモコン。
外部リソースの参照や、外部コマンドの実行を可能にする。
下記のツールを自然言語で操作できるようになったりする。
- Playwright
- テストコードの作成など
- PostgreSQL
- GitHub
- Slack
- Figma
- etc…
主要機能
主に3つの機能がある。
- Tools: アクションの実行
- Resources: リソースの提供
- Prompts: LLMに対してペルソナ、コンテキスト、ワークフローなどを渡す
MCPサーバー
メッセージはJSON-RPC2.0形式。
接続形態はstdioかStreamable HTTP。
上記を満たして、フォーマットに則っていればどう実装してもいい。
キャッシュ
ユーザーとLLM間はそれほど通信していなくても、
LLMとMCPサーバー間で大量の通信をしている可能性がある。
トークンが過剰に使用され、コストが掛かりうる。
キャッシュ機能があるならば使う。
MCPサーバーを使うなら Prompt Caching が大切だと思い知った話
セキュリティ
- MCPにおけるセキュリティ考慮事項と実装における観点(前編) - GMO Flatt Security Blog
- MCPにおけるセキュリティ考慮事項と実装における観点(後編) - GMO Flatt Security Blog
- 【要約】MCP Authorization 仕様の課題と今後の展望
- 安全なMCPへの第一歩 : Authorization の仕様を理解する #Security - Qiita
アーキテクチャ
VS Code
拡張機能のパネルからMCPをインストールできる。
Docker MCP Toolkit
Docker MCP Gateway
複数のMCPサーバーのリバースプロキシ的な感じ。
複数のMCPサーバーを背後で集約し、AIモデルが単一のゲートウェイを介してアクセスできるようにする。
普通のリバースプロキシみたいに、SSL終端とかLBとか認証とかもできる。
BFFみたいな感じ。
認証の統合ができるのは強い。認証をGatewayでやれば各MCPサーバーは認証を気にしなくていい。
Docker MCP Gatewayがすんばらしい👌 #AmazonQDeveloper - Qiita