「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>LLMエージェント#n9a368ce]] -戻る([[LLMエージェント>LLMエージェント#n9a368ce]]、[[コーディング・エージェント>オリジナル・コンテンツ(イキナリLLMコーディング・エージェント)#p859f691]]) --MCP(Model Context Protocol) --[[ACP(Agent Communication Protocol)]] --[[A2A(Agent2Agent Protocol)]] --[[Agent Skills]] --[[Agent Plugins]] *目次 [#g1351ae2] #contents *概要 [#k6893906] -AIモデルと外部システムのやりとりを標準化するオープン・プロトコル -サポートするための学習はLLMが行い、実装はエージェントがしている。 -機能要件はFunction callingと変わらないが、その他の幾つかの非機能要件に対応。 -MCP が注目される理由は「単純なローカルツール統合以上」の将来性を期待されているため。 --Function Callingよりも標準化された、プロセス分離されたセキュアなプロトコル。 --その分、複雑化した点はデメリットだが、SaaS機能が MCP サーバーとして公式対応される世界を見据えている。 --従って、関心の本丸はSaaS(法人向けの重量級機能)の利用(統一的なアクセスポイント化)にある。 ---OpenAPIが「SaaSベンダのマーケットが活性化する様に設計した」フシがある。と言える。 ---SaaS機能をMCPサーバーとして公開する事が、プロバイダにとってのモチベーションとして最優先される。 ---次いで有益なSaaS機能がMCPサーバーとして利用することがユーザにとってのモチベーションになる。 ※ プロトコル策定者=クライアント保有者という利益相反から、エコシステム(マーケット運営)のメリット、信頼性に課題。 *詳細 [#j8f054d4] **仕組み [#q3fb1008] ***MCP ホスト / クライアント / サーバー [#e2b0db14] -MCPホスト:MCPクライアント / サーバーを使用するアプリケーション本体 -MCPクライアント:MCPサーバとの接続を確立し、データや機能のリクエストを送信 -MCPサーバー: --MCPクライアントからのリクエストで、必要なデータ(データソース)や機能(ツール)へのアクセスを提供する。 --ローカルで動く場合と、ローカル&リモートで動く場合、リモートのみで動く場合がある。 --そういう意味で、MCPサーバーの提供機能の一部がSaaSクライアント相当だったりする(サーバーなのにクライアント)。 ***通信方式(STDIO と SSE) [#p56f0363] MCP サーバーとやり取りする場合に使われる通信方式 -STDIO (Standard Input/Output) --ローカルの MCP サーバーで使われる。 --標準入出力を使った安全・シンプルな通信方式。 --技術的には JSON-RPC over stdio --標準入力に JSON を書き込み、標準出力から JSON を受け取る。 -SSE (Server-Sent Events) --クラウドや SaaS で動く MCP サーバーで使われる。 --リモート環境に適したHTTPの一方向ストリーミング を使った通信方式。 --サーバーがクライアントに対して「イベント」をプッシュできる。 **MCPでなければ実現しづらいこと [#o88b3aac] -シンプルさ、低レイテンシ、依存最小を優先する小規模・短期の用途なら、requests を直接ツール化する方法が手軽。 -セキュリティ分離、標準化、運用・監査・ガバナンス、再利用性を重視するなら MCP 経由の fetch が適している。 ***プロセス分離 [#l756d644] -最小権限・責務分離、ポリシー一元適用がし易い。 -シークレットをMCP 側に閉じ込めることでLLMからの漏洩を防止できる。 ***標準化・相互運用性 [#zcd6cada] -ツールの発見、スキーマ、エラー、リソース等のやり取りがプロトコルで標準化されている。 -モデルやランタイムが変わっても同じ MCP ツールを再利用し易い(多言語・多環境での再利用)。 ***運用・ガバナンス [#v4d9906e] -ツールは独立したサーバとしてデプロイ・バージョン管理でき、 -ローテーションやロールバック、レート制限、監査ログの集約が容易。 -組織のネットワーク制御や DLP と統合しやすい(同様にサーバ側で統制)。 ***可観測性・監査 [#n5faaffc] ツール呼び出しのログやメトリクスが明確な境界で記録・計測される。 ***拡張性・機能発見 [#eeda98c1] ツールが自己記述的に機能や引数スキーマを公開するため、エージェントが動的に能力を発見し易い。 **MCPをサポートするプロダクト [#i18bbcc5] ***エージェント・フレームワーク [#tc8b40af] -[[OpenAI Agents SDKにMCP(Model Context Protocol)が統合された>The Complete Agentic AI Engineering Course (2025)#g1a56535]] -[[Autogen などのエージェント・フレームワークもMCPの機能を持つらしい。>The Complete Agentic AI Engineering Course (2025)#ec214a8a]] -他のフレームワークでもMCPクライアント/サーバがサポートされるものと思われる。 ***ノーコード・ローコード [#m407fd43] -ノーコード --Microsoft:Copilot Studioは利用と公開が可能、Power Automate、Power Apps(Dataverse)は利用が可能。 --Google:Gemini EnterpriseのAgent Studioは利用と公開が可能、Google Apps Scriptは公開が可能。 -ローコード --[[LangFlow>LangFlowの4thステップ]]は、ホスト/クライアント/サーバーをサポートする(利用も公開も可能)。 --Difyも同様で、他のローコード・ツールでもMCPクライアント/サーバがサポートされるものと思われる。 ***コーディングAIエージェント [#kfd78458] -[[MCPクライアントの機能を持つCursor>The Complete Agentic AI Engineering Course (2025)#ve30029a]]は、[[LangflowのMCPサーバ機能>LangFlowの4thステップ#x6a44d50]]と連携する項の説明で取り上げられている。 -コーディング・エージェントである[[Claude Code>Master Vibe Coding with AI Coding Agents:Claude Code...]](CLI)もMCPをサポートしている。 -前述のCursorなど、エディタIDEのGUIタイプのコーディング・エージェントもサポートがある。 *参考 [#u993eb67] -🦸🏻#14: What Is MCP, and Why Is Everyone – Suddenly!– Talking About It?~ https://huggingface.co/blog/kseniase/mcp **PKG - MNGサイト的な [#obe11db2] - MCP Servers~ https://mcp.so -MCP – Model Context Protocol Servers, Clients, and Tools~ https://glama.ai/mcp -Smithery - Extend your agent's capabilities~ https://smithery.ai/