8月20日、Fastlyが「MCP at the edge: Eliminating agent loop latency in every POP」と題した記事を公開した。MCPサーバーをWebAssemblyバイナリとしてエッジで動かし、AIエージェントループのレイテンシを大幅に削減する実装アプローチを詳解している。エージェントが1タスクで40回のツール呼び出しを行うケースでは、地理的遅延の積み重ねがユーザー体験を著しく損なう——この問題への実践的な回答だ。
エージェントループのレイテンシが「地味に致命的」な理由
Model Context Protocol(MCP)は、AIエージェントがツール呼び出し・リソース取得・プロンプト取得を標準化された方法で行うためのプロトコルだ。
問題は、一般的なMCPサーバーの構成にある。多くは単一リージョンのクラウド上で動き、クライアントごとにセッションを保持する。エージェントが1つのタスクを完了するまでに40回のツール呼び出しを行うケースでは、地理的に離れたユーザーは1回の呼び出しあたり最大500msの遅延を受ける可能性がある。これがエージェントループ内で積み重なると、ユーザー体験は著しく損なわれる。
Fastlyが今回公開したedge-mcpプロジェクトは、MCPサーバーをWebAssemblyバイナリとしてFastly Compute上で動かし、同社の全データセンター(620+ Tbpsのグローバルネットワーク)にデプロイする実装だ。ローカルでのテストにはViceroy(FastlyのローカルComputeランタイム)が使える。
ステートレスMCPがエッジと相性がいい理由
エッジ展開の鍵になるのが、MCPの最新仕様(2026-07-28)がステートレス設計になっている点だ。この仕様では初期化ハンドシェイクが不要で、各リクエストが_metaブロックに自身のID・ネゴシエート済みケーパビリティを含む。セッションが特定マシンに紐付かないため、どのFastlyデータセンターでもリクエストを正しく処理できる。
ステートレス設計がもたらすメリットは具体的だ:
- コールドスタートが50マイクロ秒未満:デプロイ即時、全世界で有効になる
- スケーリングが自動かつ水平:セッション管理のオーバーヘッドがない
- WebAssemblyランタイムによるリクエスト単位の分離:ノイジーネイバー問題を排除
ステートレスでも長時間処理に対応できる継続メカニズム
ステートレスと長時間処理は一見矛盾するが、現行仕様には2つの継続メカニズムがある。
Multi-Round-Trip Requests(MRTR) は、ツールが処理途中でクライアントに入力を求め、後から再開できる仕組みだ。中間状態は不透明なトークンとして保持され、クライアントが次のリクエスト時にそのトークンを送り返すことで処理が再開される。コネクションを長時間保持する必要はない。
Tasksエクステンション は、ツールが長時間処理を開始してタスクハンドルを返し、クライアントがポーリングで完了を確認する方式だ。ソケットを長時間保持する必要がなく、Fastlyのリクエストモデルとの親和性が高い。
いずれの継続トークンも認証暗号化で保護され、呼び出し元のIDにバインドされているため、トークンの偽造やハイジャックへの耐性がある。
キャッシュとセキュリティの実装
ツールカタログのキャッシュ
tools/listやprompts/listなど、全ユーザーに同じレスポンスを返すディスカバリ系APIはエッジキャッシュの対象にしている。サーバーはフレッシュネスとキャッシュスコープのヒントをレスポンスに付与し、ハンドラーを都度実行せずにツールカタログを配信できる。リクエスト発信者に依存するデータはキャッシュから自動的に除外される。
セキュリティはエッジで完結
オリジンにリクエストが到達する前に以下の処理をエッジで完了させる:
- 認証はフェイルクローズ:設定ミスはエンドポイントのロックダウンにつながり、意図せず開放されることはない
- ES256 JWTをエッジで検証:キャッシュされたJWKSを使い、不正リクエストをダウンストリームに通す前に遮断
- 認可はデフォルト拒否:ツールが宣言したスコープを呼び出し元が持っていなければ呼び出し不可
- SSRF対策:JWKSフェッチにガードを実装し、内部エラーは相関IDで難読化
MCPをエッジで動かすという発想自体は以前からあったが、ステートレス仕様の整備とFastly ComputeのWebAssemblyランタイムが揃ったことで、実用的な構成として成立するようになった。エージェントループのパフォーマンスがインフラ構成に直結する以上、MCP実装の見直しを検討しているチームにとって参考になる実装例だ。
詳細はMCP at the edge: Eliminating agent loop latency in every POPを参照していただきたい。