# MCP in Envoy AI Gateway [[Envoy AI Gateway]] における [[Model Context Protocol|MCP]] トラフィック対応の設計判断を詳述する公式ブログ記事。[[Tetrate]] の [[Ignasi Barrera]] と [[Erica Hughberg]] の共著。(Source: 本ページ) ## Part 1: 一般的な誤解の払拭 1. **性能に関する誤解**: 「MCP実装は遅い」という認識に反し、実際には「クラウドネイティブソリューション並みの性能」を提供する。デフォルト設定はセキュリティと性能のバランスを取っており、設定調整により遅延を削減できる。 2. **プロジェクト独立性の誤解**: Envoy AI Gatewayは独立プロジェクトではなく、[[Envoy Gateway]] コントロールプレーンを拡張し [[Envoy]] Proxy のデータプレーン拡張機能を活用している。 3. **AIトラフィック処理能力への疑問**: 「LLMおよびMCPトラフィックは最終的にHTTPに依存」しており、Envoyはほぼ10年のクラウドネイティブHTTPプロキシ運用実績を持つ。 (Source: 本ページ) ## Part 2: アーキテクチャ詳細 ### MCPの根本的課題 MCPはステートフルプロトコルであり、セッションIDを複数呼び出し間で再利用し、複数のアップストリームMCPサーバ(GitHub・Jira等)との独立セッションを保持する必要がある。この点が従来のステートレスAPIゲートウェイ設計との根本的な相容れなさを生む。(Source: 本ページ) ### 採用されたアプローチ: トークンエンコーディング設計 1. エージェントがMCPセッションを初期化すると、ゲートウェイがバックエンドサーバとのアップストリームセッションを確立する。 2. ゲートウェイがアップストリームセッションのコンパクトな説明を構築し、安全で自己完結的なクライアントセッションIDへエンコードする。 3. クライアントがこのIDを返却すると、任意のゲートウェイレプリカがデコードでき、正確なアップストリームへルーティングできる。 ### 性能チューニング可能性 オーバーヘッドの主因は鍵導出関数(KDF)であり、セッション暗号化に起因する。デフォルト設定(KDF 100,000回反復)は数十ミリ秒のオーバーヘッドを生むが、約100回反復への調整で1〜2ミリ秒まで削減できる。(Source: 本ページ) ## Part 3: 設計選定理由 ### 検討された代替案: 集約化ステート管理 UUIDをクライアントに返却し、Redis等の共有ストアに `UUID → [Upstream_Session_1, Upstream_Session_2]` マッピングを保存するアプローチを検討したが、以下の問題により採用しなかった: - 管理対象コンポーネントの追加 - 高可用性アーキテクチャの複雑化 - 単一障害点リスク ### 採用設計: エンコードステートの3つの利点 1. 水平スケーリングの簡素化(セッション情報がリクエストと共存在) 2. 運用の簡素化(専用ステートコンポーネント不要) 3. 計算オーバーヘッドを受容することでアーキテクチャの清潔性と無ステート性を維持 (Source: 本ページ) ## Part 4: 評価プロセス 採用検討組織向けに、Envoy AI GatewayにおけるMCPルート構成とエンクリプション調整の実験、ベンチマークハーネスの実行(リポジトリ提供)、コミュニティでの経験共有を推奨する。(Source: 本ページ) ## Part 5: Envoyエコシステム連携 Envoyプロキシの十年の本番環境実績に基づくデータプレーン、新AIパターンへの迅速な適応と実績実装のEnvoyコアへの還元、可観測性・セキュリティ・性能への共有投資が主要な利点として挙げられる。(Source: 本ページ) ## 競合との比較についての記述姿勢 本記事は他のMCPゲートウェイ([[agentgateway]] 等)と明示的に比較していない。代わりに「他のクラウドネイティブソリューション並み」という一般的基準への参照に留めている。両者の設計対比は本 wiki の [[Envoy AI Gateway]] エンティティページで独自に整理した(agentgatewayは新規Rust実装の統合プロキシ、Envoy AI Gatewayは既存Envoyエコシステムの拡張という出自の違い)。(編集者注) ## 関連 - [[Envoy AI Gateway]] — 本記事が解説するMCP対応設計の主体 - [[Model Context Protocol]] — 対応対象プロトコル - [[Ignasi Barrera]] — 著者 - [[agentgateway]] — 比較対象として言及される隣接プロダクト(記事内では明示比較なし) ## 出典 - [MCP in Envoy AI Gateway](https://aigateway.envoyproxy.io/blog/mcp-in-envoy-ai-gateway)(Ignasi Barrera, Erica Hughberg、2025-12-08)