
- AWSがAgentCoreのエージェントとローカルMCPサーバーを橋渡しする構成を公開
- WebSocketとnative messagingを中継に使い、認証情報をローカルに保つ設計
- 社内では1年で4万1000件超の会話を処理した実績があり、サンプルコードも公開
発表の背景
AWSは、クラウド上のAIエージェントからユーザーのローカルマシン上のMCPツールにアクセスするための「MCPブリッジ」と名付けた構成を解説するブログ記事を公開しました。MCPはAnthropicが2024年11月に公開したオープンな標準規格で、AIモデルが外部データやツールに接続する方法を標準化します。MCPはクライアント・サーバー型のアーキテクチャを持ち、ホストとなるAIアプリケーションが1つ以上のMCPサーバーに接続します。
プロトコルがサポートする転送方式は、同じマシン上のプロセス間で使うstdioと、リモート通信用のHTTPの2種類です。この記事は、「MCPサーバーがローカルにあり、MCPクライアントがリモートにある」ケースが欠けていたと指摘します。このパターンは、Excelやローカルファイルを主に扱う財務担当者やアナリストにとって重要だとしています。クラウド上のエージェントに、ブラウザの情報とあわせてローカルのファイルを操作させられます。
同じパターンは、MCPを介してローカルツールを呼び出すクラウドエージェントを備えたClaude Coworkのような製品にも使われていますが、この構成はモデルとカスタムツールサーバーを自前で持ち、AWS上で完全にセルフホストできる点が特徴です。AWSはこの仕組みを社内でも構築しており、本番用の財務向けAIアシスタントは公開から1年で4万1000件以上の会話を処理したと述べています。今回の記事はその内部構成を簡略化して再現したものです。ソースコードはGitHubで公開されています。
アーキテクチャの全体像
構成は、AgentCoreランタイム、ブラウザ拡張機能、MCPブリッジ、MCPサーバーの4つのコンポーネントから成ります。AgentCoreランタイムはクラウド上でエージェントをホストし、MCPクライアントとしてツールの検出や呼び出しを行います。ブラウザ拡張機能はチャットのインターフェースと双方向リレーの役割を担い、AgentCoreとの間はWebSocket、MCPブリッジとの間はnative messagingでメッセージを中継します。
MCPブリッジはユーザーのマシン上で動くFastMCPプロキシで、native messagingのエンベロープ形式とMCPのJSON-RPCを相互に変換します。MCPサーバーは同じマシン上にあるため、通信にはstdioを使います。ツール呼び出しの流れは、ユーザーのメッセージが拡張機能からWebSocketを通じてAgentCoreランタイムに届き、エージェントがMCPのJSON-RPC要求を返します。その要求は拡張機能を経由してブリッジに渡り、MCPサーバーにstdioで転送されます。応答はこの逆の経路をたどります。
技術的な要点
WebSocket接続には、ユーザーのローカルなAWS認証情報から生成したSigV4署名付きのpresigned URL(5分間有効)を使います。認証情報がユーザーのマシンの外に出ることはありません。接続が切れた場合は2秒後に新しいURLを要求して自動的に再接続します。
ツールの検出に先立ち、MCPの初期化ハンドシェイクが行われます。プロトコルバージョンを含むinitialize要求を送り、サーバーの応答を待ってからnotifications/initialized通知を送ります。この後で初めてツールの一覧取得や呼び出しが受け付けられます。
各JSON-RPC要求には一意なIDが割り当てられ、セッションIDとJSON-RPC IDをキーとするasyncio.Futureに応答を対応づけます。これにより、複数のツール呼び出しを並行して処理できます。ブリッジは2つのループを持ち、入力キューと出力キューを介して非同期にメッセージを仲介するため、遅いツールの完了を待たずに次のリクエストを受け付けられます。
デプロイと費用
デプロイには、Bedrockのモデルアクセスを有効にしたAWSアカウントとIAM権限、AWS CLI、AWS CDK、Node.js 20以上、Chromeが必要です。サンプルコードではClaude Opus 4.7が使われます。セットアップ時間は約15分とされています。
料金については、AgentCoreランタイムは呼び出しごとの課金でアイドルコストはかかりません。Bedrockのモデル利用はトークンごとの標準価格です。その他のコンポーネントはローカルで動作するため、追加の費用はかかりません。
なお、記事では本番運用に向けた追加の堅牢化について「What's Next」の節で議論すると述べています。その具体策はこの記事の本文には含まれておらず、サンプル実装をそのまま本番環境に適用できるかは別途検証が必要とみられます。橋渡しの仕組みが想定どおりに動くには、ブラウザ拡張機能のインストールやローカル環境の管理といった運用面の工夫も欠かせません。
Our agent runs in the cloud, but our users' spreadsheets live on their laptops. How do you bridge that gap?
私たちのエージェントはクラウド上で稼働します。しかしユーザーのスプレッドシートはノートパソコンの中にあります。この隔たりをどう埋めるのか。
日本の開発者・IT企業にとっての意味
日本企業ではExcelやローカルファイルを業務の中心で使うケースが多く、この記事が想定する財務担当者やアナリストのユーザー像は国内でも馴染み深い。従来、クラウド上のAIエージェントにローカルデータを扱わせるには、データをクラウドにアップロードするか、ローカルマシンを外部から到達可能なサーバーとして公開する必要があり、セキュリティや運用の面で障壁があった。この構成はブラウザ拡張機能とnative messagingを使い、認証情報をローカルに保ったままエージェントとローカルツールを接続する。AgentCoreでエージェントを運用する企業にとって、ローカルツール統合の具体的なパターンとして参考になる。一方で、この方式はローカルのMCPサーバーが信頼できる環境で動く前提に依存しており、本番適用にはアクセス制御や監査などのさらなる堅牢化が求められるとみられる。
用語解説
- MCP (Model Context Protocol)
- AIモデルが外部のデータやツールに接続するためのオープンな標準規格。Anthropicが2024年11月に公開
- AgentCore
- Amazon Bedrockの機能の1つで、AIエージェントをクラウド上でホスト・実行するマネージドランタイム
- native messaging
- ブラウザ拡張機能がローカルアプリケーションとメッセージをやり取りするための仕組み。ChromeとFirefoxが対応
- stdio
- 標準入出力を使ったプロセス間通信の方式。同一マシン上のプロセス間のデータ受け渡しに使われる
- JSON-RPC
- JSON形式を使ってリモートの手続き呼び出しを行う通信規格。MCPはこの仕様をベースにしている
出典
How we built an MCP bridge to give our AgentCore-hosted AI agent access to local MCP tools
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する