mcpField
O
openrouter-admin

openrouter-admin

ローカル
github.com/ovironAI・エージェント01 週間前に更新

openrouter-admin について

openrouter-adminは、OpenRouter管理APIを扱うMCPサーバーです。アカウント利用状況の確認や推論キー、ガードレールの管理に使え、概要ダッシュボードと利用明細を提供します。書き込み操作は既定で無効です。

主な機能

  1. 01クレジットとキーの概要表示
  2. 02推論キーの作成と管理
  3. 03ガードレールの管理と割り当て
  4. 04モデルや日付別の利用集計
  5. 05推論とモデルエンドポイントの検索

活用シーン

  1. 01残高と日ごとのモデル費用の確認
  2. 02日付やキー別の費用調査
  3. 03上限と有効期限付きキーの作成
  4. 04キーやメンバーへのガードレール割り当て

MCP 対応

MCP対応クライアント向けに、OpenRouter管理APIの操作をツールとして公開します。読み取りツールは常時利用でき、キーの書き込み操作には環境変数による明示的な有効化が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"oviron-openrouter-admin": {
"command": "npx",
"args": [
"-y",
"openrouter-admin-mcp"
],
"env": {
"OPENROUTER_PROVISIONING_KEY": "<OPENROUTER_PROVISIONING_KEY>",
"OPENROUTER_ADMIN_ALLOW_WRITE": "<OPENROUTER_ADMIN_ALLOW_WRITE>"
}
}
}
}
起動コマンドnpx -y openrouter-admin-mcp
設定が必要な環境変数
OPENROUTER_PROVISIONING_KEYシークレットOpenRouter Provisioning API key — create at https://openrouter.ai/settings/provisioning. Distinct from inference keys: it can manage your account but cannot make completion calls.
OPENROUTER_ADMIN_ALLOW_WRITESet to '1' to enable destructive write tools (or_key_create, or_key_update, or_key_delete). Disabled by default — read-only tools (or_overview, or_credits, or_keys_list, or_key_get, or_activity, or_current_key) are always available.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmopenrouter-admin-mcp0.7.3

ツール

16

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

openrouter-admin-mcp

npm version npm downloads CI MCP Registry Node License: MIT

OpenRouter 管理 API 用の MCP サーバーです。Claude Code、Claude Desktop、Cursor、または MCP 対応クライアントから、クレジット、推論キー、ガードレール、組織メンバー、使用状況分析をプログラムから操作できます。

demo

デフォルトでは読み取り専用です。破壊的な書き込み操作は、オプトインの環境変数フラグで有効にします。

これは推論プロキシではありません。アカウントを管理できますが、補完リクエストは実行できない OpenRouter のプロビジョニング API キーを使用します。

概要

OpenRouter の UI は単発の設定変更には便利ですが、キーごとの支出確認、モデル/日ごとの使用状況の詳細表示、アカウント全体のガードレール設定、上限の変更には多くのクリックが必要です。このサーバーは、それらの操作を MCP ツールとして公開します。Claude に「今週クレジットを使い切ったのは何ですか?」「1 日あたり $0.30 の上限を設定した一時キーを作成して」「新しい本番キーを 1 日あたり $50 のガードレールに関連付けて」と尋ねるだけで、1 回のターンで実行できます。

機能

OpenRouter 管理 API をラップする 26 個のツール:

  • or_overview — クレジット、アクティブなキー(リセット/有効期限を含む)、本日 UTC のモデルごとの消費量を一度に表示するダッシュボード。
  • limit_reset(日次/週次/月次)と expires_at を含む、推論キーの CRUD。
  • ガードレールの CRUD — プロバイダー/モデルの許可リストと ZDR の適用に対応した、アカウント全体の支出上限。キーまたは組織メンバーに一括割り当てできます。
  • アクティビティの詳細表示 — by_model、by_day、by_provider、by_key ごとに集計します。各行にはトークンレベルの内訳(プロンプト/補完/推論)が含まれます。
  • 生成の検索 — gen-… ID を指定して、個々の推論呼び出し(コスト、トークン数、レイテンシ、終了理由)を取得します。
  • モデルとエンドポイントの検出 — 100 万トークンあたりの最新価格、プロバイダーごとの稼働率、ZDR 準拠のエンドポイントを確認できます。

基盤機能:Retry-After に対応した 429/5xx の HTTP リトライ、セッション内の GET キャッシュ、書き込み時のキャッシュ無効化を備えています。生のフィールドを返すため、解釈はエージェントに委ねられます。

インストール

ワンクリック

VS Code にインストール Cursor にインストール

インストール後、プレースホルダーの sk-or-v1-... を実際のキーに置き換えてください。

手動

npx で実行する(インストール不要)か、グローバルにインストールします。

npx -y openrouter-admin-mcp
# or
npm install -g openrouter-admin-mcp

設定

https://openrouter.ai/settings/provisioning で Provisioning キーを作成し、MCP クライアントの設定にサーバーを追加します。

Claude Code(~/.claude.json)または Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "openrouter-admin": {
      "command": "npx",
      "args": ["-y", "openrouter-admin-mcp"],
      "env": {
        "OPENROUTER_PROVISIONING_KEY": "sk-or-v1-..."
      }
    }
  }
}

クライアントを再起動してサーバーを読み込みます。デフォルトでは読み取り専用アクセスが有効になります。キーの作成、変更、削除を有効にするには、以下の書き込みツールを有効にするをご覧ください。

書き込みツールを有効にする

破壊的な操作(or_key_create、or_key_update、or_key_delete)は、プロンプトインジェクションされたツール呼び出しによる意図しないキーの変更を防ぐため、デフォルトで無効になっています。有効にするには、env ブロックに OPENROUTER_ADMIN_ALLOW_WRITE を追加します。

"env": {
  "OPENROUTER_PROVISIONING_KEY": "sk-or-v1-...",
  "OPENROUTER_ADMIN_ALLOW_WRITE": "1"
}

サーバーは、起動したモードをログに記録します。

openrouter-admin-mcp running on stdio (write tools: ENABLED)

読み取りツール(or_overview、or_credits、or_current_key、or_keys_list、or_key_get、or_activity)は、このフラグの値にかかわらず常に利用できます。

ツール

読み取り(常に利用可能)
ツール目的
or_overviewダッシュボードの概要を一度に表示します。クレジット、アクティブなキー、今日のモデル別消費量を確認できます。
or_creditsアカウント残高:購入総額、使用総額、残額。
or_current_keyサーバーが使用している Provisioning キーのメタデータ。
or_keys_listすべての推論キーと、使用状況、上限、リセット間隔、有効期限。
or_key_getハッシュで指定したキーの詳細。
or_activity直近 30 UTC 日間の使用状況。フィルター:date、api_key_hash、user_id。集計:none、by_model、by_day、by_provider、by_key。
or_generationgen-… ID で指定した推論呼び出しを取得します(コスト、トークン数、レイテンシ、終了理由)。
or_modelsモデルカタログ。100 万トークンあたりの価格、コンテキスト長、モダリティを表示します。絞り込み可能です。
or_model_get1 つのモデル ID の詳細。
or_model_endpointsモデルのプロバイダー別エンドポイント:価格、稼働時間、ステータス。
or_models_userアカウントのプライバシー/ガードレール設定に基づいて絞り込んだモデル。
or_zdr_endpointsプライバシー要件のあるワークフロー向けの ZDR 準拠エンドポイント。
or_guardrails_listすべてのガードレール:limit_usd、リセット、許可/ブロックリスト、ZDR。
or_guardrail_get1 つのガードレールの詳細。
or_guardrails_assignments複合ツール:どのキー/メンバーがどのガードレールに紐付けられているかを表示します。
or_org_membersOpenRouter 組織のメンバー(Management キー+組織アカウント)。
書き込み(OPENROUTER_ADMIN_ALLOW_WRITE=1 でオプトイン)
ツール目的
or_key_create新しい推論キーを作成します。一度だけ表示されるシークレットを返します。
or_key_update名前/無効状態/上限/limit_reset/expires_at を更新します。
or_key_deleteキーを完全に削除します。
or_guardrail_createガードレールを作成します。
or_guardrail_updateガードレールを更新します。
or_guardrail_deleteガードレールを削除します。
or_guardrail_assign_keys / _unassign_keys推論キーへのガードレールの一括割り当て/解除。
or_guardrail_assign_members / _unassign_members組織メンバーへのガードレールの一括割り当て/解除。
例 — 1 日の上限を設定した一時キーを作成する
> Create a key called "scratch" with a $0.50 daily limit that expires in 30 days.

[Claude calls or_key_create with:
  name="scratch",
  limit=0.50,
  limit_reset="daily",
  expires_at="2026-05-25T00:00:00Z"]

Created key **scratch**
Hash: f7a3...
Limit: $0.5 (resets daily)
Expires: 2026-05-25T00:00:00Z

Secret: `sk-or-v1-...`
⚠️ This secret cannot be retrieved later — store it now.
例 — コストの急増を調査する
> Why did my OpenRouter spend jump yesterday?

[Claude calls or_activity with date="2026-04-24", aggregate="by_model"]

Activity: 47 rows | total $0.8570 | 305 req
By model (top 5):
- xiaomi/mimo-v2-flash      $0.5240 | 178 req | 24 rows
- anthropic/claude-haiku-4.5 $0.2105 | 39 req  | 5 rows
- ...
例 — アカウント全体に適用するガードレールにキーを紐付ける
> Cap our prod-bot key at the daily-$50 guardrail.

[Claude calls or_guardrails_list, finds gr_prod_daily_50,
 then or_guardrail_assign_keys with id="gr_prod_daily_50", hashes=["…"]]

Assigned guardrail `gr_prod_daily_50` to 1 key(s).

設計

サーバーは API の生フィールドを返します。「上限に近い」ものや「異常」を示したり、エージェントが何をすべきか判断したりはしません。それはエージェントの役割です。複合ツール(or_overview、or_guardrails_assignments)は複数のエンドポイントを 1 つのワークフロー応答にまとめますが、解釈は行いません。その理由は、本番環境の MCP サーバー(Stripe、GitHub、Linear)も同じパターンに従っているためです。

データの取り扱い

  • Provisioning キーは環境変数 OPENROUTER_PROVISIONING_KEY から読み取られ、HTTPS 経由で https://openrouter.ai/api/v1/* にのみ転送されます。
  • サーバーは再起動をまたいで状態を保持しません。セッション内の GET キャッシュ(/credits、/key、/keys、/keys/{hash} で TTL 60s)はメモリ内にのみ保持され、シャットダウン時に破棄されます。
  • キーがエラーメッセージやツール出力に表示されることはありません(テストで検証済みです)。

開発

git clone https://github.com/oviron/openrouter-admin-mcp.git
cd openrouter-admin-mcp
npm install
npm run build      # compile TypeScript + chmod +x build/index.js
npm test           # vitest, 84 unit tests, mocked fetch

プロジェクトの構成:

src/
  client.ts            # OpenRouterClient — fetch wrapper, retry, in-session cache
  index.ts             # MCP server entry — registers tool groups
  tools/
    credits.ts         # or_credits, or_current_key
    keys.ts            # or_keys_list, _get, _create, _update, _delete
    activity.ts        # or_activity (5 modes incl. by_key)
    overview.ts        # or_overview composite
    generation.ts      # or_generation
    models.ts          # or_models, _model_get, _model_endpoints, _models_user, _zdr_endpoints
    guardrails.ts      # or_guardrails_list/_get/CRUD/bulk-assign + composite assignments
    organization.ts    # or_org_members
test/
  client.test.ts, credits.test.ts, keys.test.ts,
  activity.test.ts, overview.test.ts, generation.test.ts,
  models.test.ts, guardrails.test.ts, organization.test.ts,
  registration.test.ts, helpers.ts, smoke.test.ts

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。