はじめに
株式会社 日立製作所の岡井倫人です。
近年、AIは急速に進化をしており、特にAIエージェントが注目を集めています。実際に、2025年は「AIエージェントの年」と呼ばれるほどです。AIエージェントでは、ツール、他のAIエージェントなど外部のシステムとの連携が不可欠です。
Solo.ioはAIエージェントとツール間やAIエージェント同士の連携を容易にするAgentgatewayを公開しています。そこで、今回、AgentgatewayのQuickstartを試してみました。
Agentgatewayとは
Agentgatewayは多様な連携を可能にするゲートウェイとして機能します。その中でも特に、AIエージェントとツール間やAIエージェント同士の連携を容易にするゲートウェイとして使用されることが想定されます。AIエージェントは、様々なツールや外部のエージェントと連携しながらタスクを遂行します。そのため、連携においてはプロトコルの統一、セキュリティ、可観測性、ガバナンスが重要な課題になります。この課題において、Agentgatewayは、MCP(Model Context Protocol)やA2A(Agent2Agent)などのAIネイティブなプロトコルに対応し、AIエージェントとツール間、AIエージェント同士の連携に対して、上記の課題を解決することができます。以下は、Agentgatewayの簡単なイメージ図になります。
![]() |
| 図1 Agentgatewayのイメージ図 |
AgentgatewayのQuickstart
今回はUbuntu 22.04を使用してAgentgatewayのQuickstartを試してみました。
Agentgatewayのインストール
まずは以下のコマンドでAgentgatewayのバイナリをインストールします。
$ curl https://raw.githubusercontent.com/agentgateway/agentgateway/refs/heads/main/common/scripts/get-agentgateway | bash
正しくインストールされたかを確認するために、以下のコマンドを実行します。
$ agentgateway --version
今回の出力結果は以下になります。今回使用するAgentgatewayのバージョンは0.10.5になります。
{
"version": "0.10.5",
"git_revision": "dc4d4fd9715fb6623f9050e59353bb5cea0361b0",
"rust_version": "1.90.0",
"build_profile": "release",
"build_target": "x86_64-unknown-linux-musl"
}
設定ファイルのダウンロードとAgentgatewayの起動
次に以下のコマンドで公開されている簡易な設定ファイルをダウンロードします。
$ curl https://raw.githubusercontent.com/agentgateway/agentgateway/refs/heads/main/examples/basic/config.yaml -o config.yaml
ダウンロードされる設定ファイルは以下になります。
# yaml-language-server: $schema=../../schema/local.json
binds:
- port: 3000
listeners:
- routes:
- policies:
cors:
allowOrigins:
- "*"
allowHeaders:
- mcp-protocol-version
- content-type
- cache-control
backends:
- mcp:
targets:
- name: everything
stdio:
cmd: npx
args: ["@modelcontextprotocol/server-everything"]
上記の設定ファイルの概要は以下になります。次の章でもUIから設定内容を確認します。
- 3000ポートのHTTPリスナーが作成される
- HTTPリスナーに1つのルートが作成される
- ルートにはCORSのポリシーが適用される
- ルートに1つのバックエンドが作成される
- バックエンドにMCPサーバが設定される
- バックエンドの送信先であるターゲットにサンプルのオープンソースのMCPテストサーバであるserver-everythingが設定される
最後に以下のコマンドでダウンロードした設定ファイルを読み込み、Agentgatewayを起動します。
$ agentgateway -f config.yaml
組み込みUIへのアクセス
Agentgatewayには設定の更新やMCPサーバで公開されているツールを確認できる組み込みUIがあります。ブラウザで http://localhost:15000 にアクセスすると、以下のホーム画面が表示されます。
![]() |
| 図2 ホーム画面 |
ホーム画面から様々な設定を確認することができます。まずはリスナーの設定を確認します。リスナーは、Agentgatewayがどのようにリクエストを受け付け、処理するかを定義します。「Listeners」を押下するとリスナーの一覧が表示されます。今回は3000ポートが空いており、プロトコルにはHTTPが設定されていることが確認できます。
![]() |
| 図3 リスナーの一覧画面 |
次にルートの設定を確認します。ルートは、リスナー上に設定され、トラフィックをバックエンドにルーティングします。「Routes」を押下するとルートの一覧が表示されます。3000ポートには1つのルートがあり、そのルートには1つのバックエンドが設定されていることが確認できます。
![]() |
| 図4 ルートの一覧画面 |
次にバックエンドの設定を確認します。バックエンドは、トラフィックの最終的な送信先であるターゲットを定義します。1つのバックエンドに対して複数のターゲットを設定することもできます。「Backends」を押下するとバックエンドの一覧が表示されます。バックエンドはMCPサーバで、ターゲットとしてserver-everythingが設定されていることが確認できます。
![]() |
| 図5 バックエンドの一覧画面 |
次にポリシーの設定を確認します。ポリシーは、バックエンドのトラフィック管理、変換、セキュリティを定義します。「Policies」を押下するとポリシーの一覧が表示されます。ルートに対してポリシーが設定されていることが確認できます。
![]() |
| 図6 ポリシーの一覧画面 |
ポリシーの一覧画面で、右にある「Select」を押下するとポリシーの詳細が表示されます。このポリシーはCORSが設定されていることが確認できます。CORS以外にもMCP AuthenticationやTimeoutなど様々なポリシーが設定できます。
![]() |
| 図7 ポリシーの詳細画面 |
最後に、「Playground」を押下すると、MCPサーバに接続できるプレイグラウンド画面が表示されます。
![]() |
| 図8 Playgroundの画面 |
Connectを押下するとターゲットに接続し、利用可能なツールの一覧が表示されます。
![]() |
| 図9 ツールの一覧画面 |
今回はechoツールを試してみます。「echo」を選択すると、メッセージ入力欄が表示されます。
![]() |
| 図10 echo選択後の画面 |
メッセージ入力欄に「This is my first agentgateway setup.」を入力して、「Run Tool」を押下すると、echoツールが実行され、画面下部にレスポンスが表示されます。このように、組み込みUIでツールを実行することができます。
![]() |
| 図11 echo実行後の画面 |
以上がAgentgatewayのQuickstartになります。
おわりに
今回はAgentgatewayのQuickstartをやってみました。今後はセキュアなシステムにするために、MCPの認証認可を実現できるKeycloakとAgentgatewayを連携させるなど、引き続きAgentgatewayを調査していきたいと思います。










