OpenRouter Agents MCP Server について
OpenRouter Agents MCP Server は、マルチエージェントによるリサーチを行う MCP サーバーで、小型のクライアントアダプターを含みます。OpenRouter 経由で複数のモデルを利用し、並列調査と結果の統合を必要とするユーザー向けです。
主な機能
- 01並列マルチエージェントによるリサーチと結果統合
- 02非同期ジョブとバッチリサーチクエリ
- 03レポートに対する BM25 とベクトルのハイブリッド検索
- 04LLM 呼び出しを使わない埋め込みベースのモデルルーティング
- 05モデル API 障害向けのサーキットブレーカー
活用シーン
- 01同一テーマに対する並列リサーチクエリの実行
- 02保存済みのレポートとナレッジベースの検索
- 03リサーチセッションの追跡と再開
MCP 対応
STDIO または Streamable HTTP で動作し、リサーチ、ナレッジベース、セッション、グラフ関連のツールを MCP クライアントに公開します。sampling と elicitation にも対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
42掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| messages | array | はい | |
| sessionId | string | いいえ | |
| model | string | いいえ | |
| _requestId | string | いいえ |
詳細
OpenRouter Agents MCP サーバー
マルチエージェント AI リサーチ向けの本番環境用 MCP サーバーです。計画し、並列化し、統合します。
インストール
npx @terminals-tech/openrouter-agents --stdio
Claude Code のワンライナー:
claude mcp add openrouter-agents -- npx @terminals-tech/openrouter-agents --stdio
新機能(v2.0.0)
- MCP SDK 1.27.1 — registerTool/registerPrompt/registerResource API、セキュリティ修正
- Zod 4 — Zod 3 からアップグレード。z.record() の構文、設定スキーマの修正
- Express 5 — Express 4 からアップグレード。最新のパスパターン、req.query の処理
- ストリーミング可能な HTTP — 主要なトランスポート(SSE はレガシーなフォールバックとして非推奨)
- サーキットブレーカー — 設定可能なしきい値によるモデル API のフォールトトレランス
- 埋め込みベースのモデルルーティング — モデル選択のためのローカルなベクトル類似度(LLM 呼び出し不要)
- 永続ストレージ — レポート、ジョブ、ナレッジグラフはデフォルトでセッションをまたいで保持されます
macOS/Node 25 に関する注意:シャットダウン時に、見た目上の
libc++abi: mutex lock failedメッセージが表示される場合があります。これは問題ありません。シャットダウン前にデータはチェックポイントに保存されます。インメモリモード(永続化なし、メッセージなし)にするには、DB_AUTO_HEAL=trueを設定してください。
変更履歴の全文 | 拡張機能ガイド | MCP 準拠レポート
設定
環境変数に OPENROUTER_API_KEY を設定し、.env または .mcp.json で構成します。
| 変数 | デフォルト | 説明 |
|---|---|---|
OPENROUTER_API_KEY | 必須 | OpenRouter API キー |
OPENROUTER_API_KEYS | (任意) | ローテーション用のカンマ区切りの OpenRouter キー |
OPENROUTER_KEY_COOLDOWN_MS | 5000 | 失敗後、キーごとに適用される基本クールダウン時間 |
SERVER_PORT | 3002 | HTTP サーバーポート |
MODE | ALL | AGENT、MANUAL、または ALL |
EMBEDDING_ROUTING_ENABLED | true | 埋め込みベースのモデルルーティングを有効化 |
INDEXER_ENABLED | true | ナレッジのインデックス作成を有効化 |
.mcp.json の例(チームで共有可能)
{
"mcpServers": {
"openrouter-agents": {
"command": "npx",
"args": ["@terminals-tech/openrouter-agents", "--stdio"],
"env": {
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}",
"INDEXER_ENABLED": "true"
}
}
}
}
マルチクライアントのセットアップ
トランスポートモード
| トランスポート | フラグ | 用途 |
|---|---|---|
| STDIO | (デフォルト) | MCP クライアント(Claude、Jan AI、Continue) |
| HTTP | --http | ウェブアプリ、共有サーバー |
MCP 仕様に基づき、STDIO がデフォルトのトランスポートです。HTTP モードでは --http を明示的に指定してください。
クライアント別のセットアップ
Jan AI
- Settings → Advanced → Experimental で MCP Servers を有効にします
-
- をクリックしてサーバーを追加します
- 次のように設定します。
- 名前:
openrouter-agents - コマンド:
npx - 引数:
@terminals-tech/openrouter-agents - 環境変数:
OPENROUTER_API_KEY=sk-or-...
- 名前:
注:STDIO がデフォルトになったため、--stdio フラグは不要です。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"openrouter-agents": {
"command": "npx",
"args": ["@terminals-tech/openrouter-agents"],
"env": {
"OPENROUTER_API_KEY": "sk-or-..."
}
}
}
}
Continue / Zed / その他の MCP クライアント
標準の MCP 設定です。STDIO がデフォルトのため、フラグは不要です。
{
"command": "npx",
"args": ["@terminals-tech/openrouter-agents"],
"env": { "OPENROUTER_API_KEY": "..." }
}
機能マトリックス
| 機能 | すべての MCP クライアント | Claude Code のみ |
|---|---|---|
| コアリサーチツール | ✓ | ✓ |
| ナレッジベース | ✓ | ✓ |
| セッション/グラフツール | ✓ | ✓ |
| Rail プロトコルツール | ✓ | ✓ |
| スラッシュコマンド | - | ✓ |
モデル(v2.0.0)
高コスト階層
| モデル | ドメイン |
|---|---|
anthropic/claude-sonnet-4.5 | 推論、技術、一般、クリエイティブ |
anthropic/claude-opus-4.6 | 推論、技術、一般、クリエイティブ |
openai/gpt-5.2-chat | 推論、技術、一般 |
openai/gpt-5.3-codex | コーディング、技術、推論 |
google/gemini-3-pro-preview | 推論、技術、一般 |
qwen/qwen3-coder | コーディング、編集、技術 |
低コスト階層
| モデル | ドメイン |
|---|---|
google/gemini-3-flash-preview | コーディング、編集、技術 |
anthropic/claude-haiku-4.5 | 一般、技術、推論 |
deepseek/deepseek-chat-v3.1 | 一般、推論、技術、コーディング |
deepseek/deepseek-v3.2 | 一般、推論、技術、コーディング |
openai/gpt-oss-120b | 一般、推論、検索 |
モデルは埋め込みベースのルーティングで選択されます。クエリの埋め込みをモデルのドメインプロファイルと照合し、LLM の呼び出しを行わずに選択します。
ツール
リサーチ
| ツール | 説明 |
|---|---|
research | 非同期リサーチ(job_id を返します) |
conduct_research | ストリーミング対応の同期リサーチ |
batch_research | 並列バッチクエリ |
research_follow_up | コンテキストを考慮したフォローアップ |
agent | 統合エントリーポイント(自動ルーティング) |
ナレッジベース
| ツール | 説明 |
|---|---|
search | BM25 とベクトルによるハイブリッド検索 |
retrieve | インデックスまたは SQL クエリ |
query | パラメーター付き SQL SELECT |
get_report | ID でレポートを取得 |
history | 最近のレポート一覧 |
セッションとグラフ
| ツール | 説明 |
|---|---|
undo / redo | セッションの時間移動 |
checkpoint | 名前付きの保存ポイント |
fork_session | 別のタイムラインを作成 |
graph_traverse | ナレッジグラフを探索 |
graph_clusters | ノードのクラスターを検出 |
graph_pagerank | 重要度ランキング |
Rail Protocol
| ツール | 説明 |
|---|---|
list_rails | レール、トンネル、ルート、コンセンサスを一覧表示 |
explain_rail | レール/トンネルの詳細設定 |
list_routes | 定義済みルートをすべて一覧表示 |
list_tunnels | アクティブなエージェント間トンネル |
list_consensus | ストリーミングコンセンサスセッション |
ユーティリティ
| ツール | 説明 |
|---|---|
ping | ヘルスチェック |
get_server_status | 完全な診断情報 |
job_status | 非同期ジョブを確認 |
date_time | 現在のタイムスタンプ |
calc | 数式の評価 |
list_tools | 利用可能なツール |
MCP 準拠
MCP 仕様 2025-11-25(安定版、AAIF/Linux Foundation のガバナンス)に準拠しています。
| 機能 | SEP | ステータス |
|---|---|---|
| JSON-RPC 2.0 | コア | 準拠 |
| ツール/リソース/プロンプト | コア | 準拠 |
| タスクプロトコル | SEP-1686 | 準拠 |
| ツールによるサンプリング | SEP-1577 | 準拠 |
| エリシテーション | SEP-1036 | 準拠 |
| MCP アプリ | SEP-1865 | 準拠 |
| エンタープライズ認証 | SEP-990 | 準拠 |
| クライアントメタデータ | SEP-991 | 準拠 |
アーキテクチャ
User Query
│
▼
┌─────────────────┐
│ Planning Agent │ ─── Decomposes into sub-queries
└────────┬────────┘
│
┌────┴────┐
▼ ▼
┌───────┐ ┌───────┐
│Agent 1│ │Agent N│ ─── Parallel research (embedding-routed models)
└───┬───┘ └───┬───┘
│ │
▼ ▼
┌─────────────────┐
│ Synthesizer │ ─── Consensus + citations (Signal protocol)
└────────┬────────┘
│
▼
┌─────────────────┐
│ Knowledge Base │ ─── PGlite + pgvector (persistent)
└─────────────────┘
コア抽象化
| モジュール | 目的 |
|---|---|
| Signal Protocol | 信頼度スコアリングと合意形成を伴うエージェント間通信 |
| Rail Protocol | バックプレッシャー、来歴、トンネルを備えた双方向チャネル |
| Error Taxonomy | 自動学習とサーキットブレーカーを備えた決定論的な分類 |
| Circuit Breaker | 設定可能なしきい値と自動復旧によるモデル API のフォールトトレランス |
| Parameter Normalization | 宣言型エイリアスシステム(q→query、cost→costPreference) |
| RoleShift Protocol | MCP のサンプリング/エリシテーションを介した双方向サーバー↔クライアント通信 |
| Embedding Router | @terminals-tech/embeddings を介したローカルのベクトルベースのモデル選択 |
Circuit Breaker
モデル API の障害の連鎖を防ぎます。環境変数で設定できます。
| 変数 | デフォルト | 説明 |
|---|---|---|
RAIL_CIRCUIT_BREAKER | true | サーキットブレーカーを有効化します |
RAIL_CIRCUIT_THRESHOLD | 5 | トリップするまでの失敗回数 |
RAIL_CIRCUIT_RESET_MS | 120000 | 復旧タイムアウト(ms) |
状態:closed(通常) -> open(障害発生中、リクエストを拒否) -> half-open(復旧をテスト中)。
トランスポート(v2.0.0)
| トランスポート | 状態 | 用途 |
|---|---|---|
| Streamable HTTP | 主要 | すべての新規インテグレーション |
| SSE | 非推奨 | レガシーとの互換性のみ |
| STDIO | デフォルト | MCP クライアント(Claude、Jan AI、Continue) |
リンク
- ホームページ: terminals.tech
- npm: @terminals-tech/openrouter-agents
- GitHub: terminals-tech/openrouter-agents
- ドキュメント: CLAUDE.md | ツールのパターン | はじめに
リリース
リリースは release-please を使用して自動化されています。
mainに規約に沿ったコミットをプッシュします(例:feat:、fix:、chore:)- release-please がバージョン更新の PR を作成します
- PR をマージすると、GitHub Release が自動的に作成されます
- リリース時に CI 経由で npm の公開が実行されます
手動で公開する場合:
npm test && npm publish --access public
バージョン: 2.0.0 | MCP SDK: 1.27.1 | MCP Spec: 2025-11-25 | 作者: Tej Desai | ライセンス: MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。