# 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)