はじめに
AI技術の進化に伴い、AIアプリケーションが外部のツールやデータソースと連携するニーズが高まっています。
その中で注目されているのが、Anthropic社が提唱する MCP(Model Context Protocol) です。
MCPは、AIと外部ツール間の接続を標準化し、開発の複雑さを軽減することを目的としています。
まるで「AI向けのUSB-Cポート」のように、様々なツールとの接続を容易にする可能性を秘めています。
しかし、MCPは本当に全てのケースで必要なのでしょうか?
本記事では、MCPの普及を否定するのではなく、その利便性の裏に潜むリスクや、必ずしもMCPが最適とは言えないケースがあることを解説します。
MCPの導入を検討する前に、その特性と潜在的な問題を正確に理解し、より適切な判断を下すための一助となれば幸いです。
MCPが必ずしも必要ではないケース
MCPは複数のAIアプリケーションと複数のツールを接続する際の「M×N問題」を「M+N問題」に単純化する強力なコンセプトですが、以下のような状況では、そのメリットよりもデメリットが上回る可能性があります。
-
シンプルな連携:
AIアプリケーションが連携するツールが1つ、またはごく少数の場合、MCPの標準化の恩恵は限定的です。
各ツールのAPIを直接呼び出す 「直接API統合」 の方が、シンプルで実装コストも低い場合があります。 -
パフォーマンス最優先:
MCPは標準化されたプロトコルであるがゆえに、クライアントとサーバー間の通信に追加の処理オーバーヘッドが発生します。
リアルタイム性が非常に重要なシステムでは、このわずかな遅延も問題となる可能性があり、より高速な直接API統合が適しています。 -
細かい制御やカスタマイズが必要:
MCPは標準化されたインターフェースを提供するため、特定の要件に合わせた細かい制御や特殊なカスタマイズには限界があります。
独自の仕様で柔軟な連携を実現したい場合は、カスタム統合の方が有利です。
MCPの潜在的なリスク:特にセキュリティ上の懸念
MCPの最大の懸念事項は、その柔軟性とオープン性ゆえのセキュリティリスクです。
専門家は「MCPは便利だがデフォルトで安全ではない」と警鐘を鳴らしており、現時点では多くの脆弱性が指摘されています。
-
トークン窃取とアカウント乗っ取り:
MCPサーバーは外部サービス(メール、カレンダー、DB等)の認証トークン(OAuthトークンなど)を保持します。
これが漏洩すると、攻撃者は正規ユーザーになりすまし、あらゆる情報へのアクセスや操作が可能になります。
MCP経由の不正アクセスは検知が困難な場合があり、一度トークンが奪われると被害が長期化する恐れがあります。 -
MCPサーバー侵害(単一障害点):
複数のサービストークンを集中管理するMCPサーバーは、攻撃者にとって魅力的なターゲット(「王様の鍵」)です。
サーバー自体が侵害されると、接続されている全てのサービスへのアクセス権が一挙に奪われ、被害は甚大になります。 -
コマンドインジェクション:
驚くべきことに、MCPサーバー実装の43%に基本的なコマンドインジェクション脆弱性が見つかったという調査報告があります(Equixly社、2025年初頭)。
ユーザー入力を適切に処理せずにOSコマンドを実行してしまう単純なミスにより、サーバー上で任意のコードを実行される危険性があります。 -
プロンプトインジェクション:
AIが解釈する自然言語の指示(プロンプト)に悪意ある命令を埋め込む攻撃です。
ユーザーには見えない形で「機密情報を外部に送信しろ」といった隠し命令をAIに実行させ、データ漏洩や不正操作を引き起こす可能性があります。
信頼できない入力をAIが自動で処理するMCPの仕組みは、このリスクを高めます。 -
ツールポイズニング:
MCPサーバーが提供するツールの説明文(メタデータ)に悪意ある指示を埋め込む攻撃です。
AIはユーザーに隠れてこの指示を実行してしまう可能性があります。
例えば、「計算ツール」の説明に「SSH秘密鍵を盗んで送れ」と仕込まれると、ユーザーは計算を指示したつもりが、裏で機密情報が盗まれるといった事態が発生し得ます。 -
ラグプル(定義のすり替え):
最初は安全に見えたツールが、後から開発者によって悪意ある動作に変更されるリスクです。
MCPサーバーはツール定義を更新できるため、ユーザーが一度許可したツールが、気づかないうちに不正な機能を持つ可能性があります。 -
ツールのシャドーイング:
複数のMCPサーバーが接続されている環境で、悪意あるサーバーが正規サーバーのふりをして命令を横取りし、データを盗んだり改ざんしたりするリスクです。 -
過剰な権限とデータ集約リスク:
MCPサーバーは利便性のために広範な権限を要求しがちです。
必要以上の権限を持つサーバーが侵害された場合、漏洩する情報の範囲も広くなります。
また、複数サービスのデータが一箇所に集まることによるプライバシー上の懸念も指摘されています。 -
認証・暗号化・検証の欠如:
現行のMCP標準仕様には、認証、通信の暗号化、ツールの完全性を検証する仕組みが定義されていません。
これにより、認証なしで誰でもアクセスできるサーバーが存在したり、通信が盗聴されたり、改ざんされたツールが使われたりするリスクがあります。
攻撃対象領域が不必要に広がっている状態です。
これらのリスクは、MCPがまだ発展途上の技術であり、セキュリティに関するベストプラクティスが十分に確立・浸透していないことに起因します。
信頼性・安定性の問題
セキュリティ以外にも、以下の点が懸念されます。
-
未成熟なエコシステム:
多くのMCPサーバーがコミュニティによって開発されていますが、品質やメンテナンス体制にはばらつきがあり、信頼できるツールを見極めるのが難しい状況です。 -
デバッグ・保守の困難さ:
クライアント・サーバー型の分散アーキテクチャは、問題発生時の原因特定や管理を複雑にします。 -
AIの誤動作:
AI自身の判断ミス(ハルシネーションなど)により、意図しないツール操作が行われるリスクがあります。 -
パフォーマンス・レイテンシ:
前述の通り、MCP層を介することで遅延が発生する可能性があります。
MCP以外の選択肢:代替となる実装方法
MCPが最適でない場合や、リスクを避けたい場合には、以下の代替案を検討できます。
-
フレームワークの活用 (LangChain, Agenticaなど):
これらのフレームワークは、OpenAPI仕様などを利用して外部APIとの連携を容易にします。
AIエージェントが自然言語でAPIを呼び出す機能などを提供し、MCPを使わずに効率的な統合を実現できます。
特に複数のツールを扱う場合に有効です。 -
直接API統合:
最も基本的な方法で、AIアプリケーションが直接ツールのAPIを呼び出します。
単一または少数のツール連携にはシンプルで効果的ですが、連携先が増えると管理が煩雑になります。 -
その他の標準化プロトコル (WoT, UIMなど):
Web of Things (WoT) や Unified Intent Mediator (UIM) Protocol など、他の標準化アプローチも存在しますが、MCP同様、あるいはそれ以上にセットアップが複雑な場合があります。
結論:MCPとの賢い付き合い方
MCPはAIと外部世界の連携を促進する大変有望な技術です。
しかし、現時点では「強力だが危うい道具」 なため、注意が必要です。
その利便性の裏には、無視できないセキュリティリスクや信頼性の課題が存在します。
「MCPがいらない」と断じるのではなく、「むやみに、あるいはリスクを理解せずにMCPを使うべきではない」 というのが本記事のメッセージです。
技術の進化は早く、MCP Scanなるものも出てきています。
こういうツールも活用しながら慎重に扱うようにして下さい。
MCPの導入を検討する際は、以下の点を強く意識してください:
-
本当にMCPが必要か?
代替手段(直接API、フレームワーク)で十分ではないか? -
セキュリティリスクを十分に理解しているか?
特にトークン管理、プロンプトインジェクション、ツールポイズニング等の対策は必須。 -
信頼できるMCPサーバーか?
実装の品質や提供元を確認する。安易にコミュニティ製ツールに依存しない。 -
最小権限の原則を守る。
MCPサーバーには必要最小限の権限のみを与える。 - 継続的な監視と監査を行う。
特に、機密情報や重要インフラを扱うシステム、AIが自律的に重大な操作を行うシステム、不特定多数が利用する公開サービスなどでのMCP利用は、現時点では極めて慎重になるべきです。
MCPが今後、標準仕様の改善やベストプラクティスの確立によって、より安全で信頼性の高い技術へと成熟していくことを期待しますが、それまでは利用者がリスクを正しく認識し、慎重な判断と対策を講じながら付き合っていく必要があります。
参考文献
- Model Context Protocol (MCP) an overview: https://docs.google.com/document/d/1By-3WprtJXk2okFnqF55TLRNN3ZXBdLiL4YHNPOfflM/edit (アクセスには権限が必要な場合があります)
- What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs: https://www.linkedin.com/pulse/what-model-context-protocol-mcp-how-simplifies-ai-integrations-u8b3c
- Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions: https://arxiv.org/abs/2402.05892
- Specification - Model Context Protocol: https://mcp.dev/spec
- MCP 101: An Introduction to Model Context Protocol: https://learn.tldr.ai/p/mcp-101-an-introduction-to-model-context-protocol
- Introducing the Model Context Protocol | Anthropic: https://www.anthropic.com/news/introducing-the-model-context-protocol
- OpenAPI Toolkit | 🦜️🔗 Langchain: https://python.langchain.com/docs/integrations/toolkits/openapi
- Agentica - Agentic AI Framework: https://agentica.ai/
- Web of Things (WoT) Architecture: https://www.w3.org/TR/wot-architecture/
- Web of Things (WoT) Thing Description: https://www.w3.org/TR/wot-thing-description/
- LMOS Multi-Agent System: https://github.com/agenta-ai/lmos
- AI Context Protocols Comparison: https://medium.com/@gaborcselle/ai-context-protocols-comparison-mcp-uim-mip-openai-actions-vs-langchain-vs-lmos-vs-878d393a74a7
- ProjectPro - Model Context Protocol Alternatives: https://www.projectpro.io/article/model-context-protocol-alternatives/1211
- Interacting with APIs | 🦜️🔗 Langchain: https://python.langchain.com/docs/use_cases/apis
- The Security Risks of Model Context Protocol (MCP): https://research.nccgroup.com/2024/02/15/the-security-risks-of-model-context-protocol-mcp/
- Why the MCP Protocol Needs a Security Wake-Up Call | by TONI RAMCHANDANI | Apr, 2025 | Medium: https://medium.com/@toniramchandani/why-the-mcp-protocol-needs-a-security-wake-up-call-71004e82db5d
- The “S” in MCP Stands for Security | by Elena Cross | Apr, 2025 | Medium: https://medium.com/@elenacross/the-s-in-mcp-stands-for-security-cdbbd799d65b
- MCP Servers: The New Security Nightmare | Tadeusz Calanca: https://tadeuszcalanca.substack.com/p/mcp-servers-the-new-security-nightmare
- Model Context Protocol has prompt injection security problems: https://simonwillison.net/2024/Feb/16/model-context-protocol-security/
- #14: What Is MCP, and Why Is Everyone – Suddenly!– Talking About It?: https://every.to/chain-of-thought/mcp
- What MCP's Rise Really Shows: A Tale of Two Ecosystems: https://scalevp.com/blog/what-mcps-rise-really-shows-a-tale-of-two-ecosystems
- How I Think About MCP: A Practical Guide to Tool Use in AI Agents: https://learn.tldr.ai/p/how-i-think-about-mcp-a-practical-guide-to-tool-use-in-ai-agents
- To MCP or Not to MCP Part 1: A Critical Analysis of Anthropic’s Model Context Protocol | by Sanjeev Mohan | Apr, 2025 | Medium: https://medium.com/@sanjeevmohan/to-mcp-or-not-to-mcp-part-1-a-critical-analysis-of-anthropics-model-context-protocol-4e801bdfbb53
- OpenAI vs. MCP: Closed vs. Open AI Ecosystems | Medium: https://medium.com/@lbq999/openai-vs-mcp-ai-worlds-iphone-vs-android-battle-d95a034edd2f
- invariantlabs-ai/mcp-scan - GitHub: https://github.com/invariantlabs-ai/mcp-scan