mcpField
C
Coronium mobile proxies

Coronium mobile proxies

リモート
coronium.ioクラウド・インフラ14 日前に更新
リポジトリ公式サイト

Coronium mobile proxies について

Coroniumの専用4G/5Gプロキシ利用者向けのローカルおよびホスト型MCPサーバーです。エージェントはプロキシの確認・管理や在庫と見積もりの比較ができ、支出機能を明示的に有効にすれば、承認後に購入や更新も行えます。

主な機能

  1. 01残高と所有プロキシのURL確認
  2. 02プロキシのテスト、ローテーション、交換
  3. 03プランと国・キャリア別在庫の比較
  4. 04購入・更新の見積もり取得
  5. 05サポートチケットとOpenVPNプロファイルの管理
  6. 06任意の承認制購入と暗号資産の振替

活用シーン

  1. 01プロキシの接続を確認して接続先をローテーション
  2. 02購入前にプランと在庫を比較
  3. 03更新費用の確認とサポートチケットの管理

MCP 対応

ローカルstdioとホスト型Streamable HTTPエンドポイントを通じて、Coroniumの顧客アカウント用ツールをMCPクライアントに提供します。ツールプロファイルで権限を制御し、支出ツールには明示的な有効化と購入確認が必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.coronium.io/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmcoronium-proxy-mcp2.4.3

ツール

59
パラメーター型必須説明
proxystringはい所有するモデムの _id(24 桁の 16 進文字)、正確な名前、または get_proxies の portId。
confirmbooleanはいユーザーがこの接続を中断する操作を明示的に許可した場合のみ True にします。

詳細

Coronium プロキシ MCP

Coronium.io の専用 4G/5G モバイルプロキシをご利用のお客様向けの、ローカルの stdio MCP サーバーです。バージョン 2.4.3 です。AI エージェントから、残高の確認、所有プロキシの一覧表示(すぐに使える HTTP および SOCKS5 の URL 付き)、プロキシのテストとローテーション、プロキシの交換、OpenVPN プロファイルのダウンロード、国や通信事業者別のプランと現在の在庫の比較、購入または更新の見積もり、サポートチケットの操作ができます。支出を有効にすると、正確な合計金額を承認した後、アカウント残高または保存済みカードでの購入と更新、自分の USDT または BTC からアカウントクレジットへの移動もできます。トークンなしで起動すると、エージェント用の新しいアカウントを開設できます(ブラウザーを使わないエージェントを参照)。

接続先は Coronium の顧客向け API https://api.coronium.io/api/v3(および同じホスト上の公開プランカタログ)のみです。管理、サーバー、リセラー管理用のツールはありません。同じツールは、Coronium が ホステッドサーバーとして https://api.coronium.io/mcp でも提供しており、claude.ai、Claude アプリ、Cowork から Coronium アカウントでサインインして利用できます。2.1.0 または 1.3.0 からアップグレードする場合は、変更履歴の2.1.0 からの移行または1.3.0 からの移行をお読みください(2.0.0 は npm で公開されたことがありません)。

接続

Node.js 20 以降が必要です。MCP ホストが固定バージョンを起動するように設定してください。

{
  "mcpServers": {
    "coronium": {
      "command": "npx",
      "args": ["-y", "[email protected]"],
      "env": {
        "CORONIUM_API_TOKEN": "YOUR_CORONIUM_API_TOKEN",
        "CORONIUM_TOOL_PROFILE": "directory"
      }
    }
  }
}

API トークンはダッシュボード(dashboard.coronium.io、Account、API Access)で作成します。ホストの保護された設定またはシークレットストアに保管し、リポジトリや会話には絶対に記載しないでください。CORONIUM_API_KEY は CORONIUM_API_TOKEN の別名です。設定を変更した後はホストを再起動してください。

トークンが接続手段です。まだアカウントがない場合は、ブラウザーを使わないエージェントを参照してください。デフォルトではパスワード用のツールはありません。ツールに渡したパスワードは会話に残るため、CORONIUM_ENABLE_LOGIN_TOOL=1 を設定した場合にのみ coronium_login が利用できます。

エージェントに購入を任せる場合は、buyer プロファイルを使い、支出を有効にしてください。

{
  "mcpServers": {
    "coronium": {
      "command": "npx",
      "args": ["-y", "[email protected]"],
      "env": {
        "CORONIUM_API_TOKEN": "YOUR_CORONIUM_API_TOKEN",
        "CORONIUM_TOOL_PROFILE": "buyer",
        "CORONIUM_ENABLE_SPENDING": "1"
      }
    }
  }
}

CORONIUM_ENABLE_SPENDING を設定しなければ、同じプロファイルで情報の確認、見積もり、管理はできますが、支払いはできません。

ホストのツールタイムアウトは 180 秒を超える値に設定してください。ローテーション、交換、支払いの呼び出しはバックエンドの応答を待ちます。呼び出しがタイムアウトした場合は、再度操作する前に結果を確認してください。このプロセスは MCP JSON-RPC に stdout のみを使用します。

ブラウザーを使わないエージェント

エージェントはブラウザーを使わず、ダッシュボードにもアクセスせずに、自分のCoroniumアカウントを開設し、資金を入金して購入できます。購入代金が支払われるまでは何も含まれず、購入ごとに正確な合計金額への本人の承認が必要です。

このMCP(stdio)を使用する場合。 CORONIUM_API_TOKENを設定せず、buyerプロファイルで起動します。coronium_create_account(メールアドレス、名前、任意の用途とパスワード)を実行すると、登録、サインイン、APIトークンの発行が行われ、残りのセッションでそのトークンが使用されます。APIトークンは一度だけ、パスワードを指定しなかった場合は生成されたパスワードも一度だけ返されるため、両方ともシークレットストアに保存してください。次に、coronium_get_crypto_balanceを実行し、USDT(TRC-20)またはBTCを入金して、coronium_convert_crypto_to_credit(ドライラン後、確定)を実行します。その後、coronium_quote_purchaseを実行し、funding_source: "account_credit"を指定してcoronium_buy_modems_with_balanceを実行します。

{
  "mcpServers": {
    "coronium": {
      "command": "npx",
      "args": ["-y", "[email protected]"],
      "env": {"CORONIUM_TOOL_PROFILE": "buyer", "CORONIUM_ENABLE_SPENDING": "1"}
    }
  }
}

curlを使用する場合。 REST APIに対して同じ手順を実行します(JSONの読み取りにはjqを使用します)。

API=https://api.coronium.io
[email protected]; PASSWORD='a-long-random-password'
# 1. Sign up (a verification email is sent; nothing waits for it)
curl -s -X POST $API/api/v3/signup -H 'Content-Type: application/json' \
  -d "{\"login\":\"$EMAIL\",\"password\":\"$PASSWORD\",\"name\":\"My agent\",\"purpose\":\"price monitoring\"}"
# 2. Sign in, then issue the long-lived API token (365 days)
SESSION=$(curl -s -X POST $API/api/v3/get-token -H 'Content-Type: application/json' \
  -d "{\"login\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" | jq -r .token)
TOKEN=$(curl -s $API/api/v1/account/api-token -H "Authorization: Bearer $SESSION" | jq -r .token)
# 3. Deposit addresses: send USDT (TRC-20) or BTC and wait for it to confirm
curl -s $API/api/v3/account/crypto-balance -H "Authorization: Bearer $TOKEN"
# 4. Move it into USD account credit: preview, then the real move (one way)
curl -s -X POST $API/api/v3/account/balance/convert -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' -d '{"coin":"all","dry_run":true}'
curl -s -X POST $API/api/v3/account/balance/convert -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" -H 'Content-Type: application/json' -d '{"coin":"all"}'
# 5. Plans and stock; the total is price x quantity
curl -s $API/api/v3/tariffs/available | jq '.data[] | {_id, name, country_code, price, period, stock}'
# 6. Buy, capped at the approved total; then read the proxies
curl -s -X POST $API/api/v3/payment/buy-with-account-credit -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" -H 'Content-Type: application/json' \
  -d '{"tariff_id":"TARIFF_ID","modemCount":1,"max_total_usd":APPROVED_TOTAL}'
curl -s $API/api/v3/account/proxies -H "Authorization: Bearer $TOKEN"

使い捨てメールドメインと予約済みメールドメインは拒否されます。すでにアカウントを持つメールアドレスで登録すると「ok」と表示されますが、別のパスワードではサインインに失敗します。

APIトークンを使ったホスト型購入者サーバー。 トークンをBearerヘッダーとしてhttps://api.coronium.io/mcp/buyerに送信します。このトークンはREST APIと同様にそこで購入に使用できるため、秘密にしてください(環境変数またはシークレットストアに保存し、リポジトリやチャットには決して含めないでください)。https://api.coronium.io/mcpは、どのトークンを使っても支払いを実行しません。

claude mcp add --transport http coronium-buyer https://api.coronium.io/mcp/buyer \
  --header "Authorization: Bearer $CORONIUM_API_TOKEN"

ヘッダー付きのStreamable HTTPに対応するMCPクライアントであれば使用できます。

{
  "mcpServers": {
    "coronium-buyer": {
      "type": "http",
      "url": "https://api.coronium.io/mcp/buyer",
      "headers": {"Authorization": "Bearer ${CORONIUM_API_TOKEN}"}
    }
  }
}

${CORONIUM_API_TOKEN}はClaude Codeによって展開されます。変数の展開に対応していないクライアントでは、このファイルをバージョン管理の対象外にしてください。

ホステッドサーバー

Coronium はこのサーバーを Streamable HTTP 経由で実行するため、ローカルサーバーが利用できない場所でも動作します。claude.ai、Claude のデスクトップアプリとモバイルアプリ、Cowork、そして Claude Code で利用できます。

claude.ai で利用する場合: URL https://api.coronium.io/mcp を使ってカスタムコネクターを追加し、Coronium アカウントでサインインします。Coronium のページが開きます。必要に応じて、そのブラウザーでダッシュボードにサインインし、アプリと権限を確認して、承認してください。インストールもトークンのコピーも不要です。

Claude Code: claude mcp add --transport http coronium https://api.coronium.io/mcp を実行し、続いて /mcp でサインインします。このリポジトリの Claude Code プラグインでは、同じ URL が唯一のサーバー coronium として宣言されています。

仕組み:

  • サインインには PKCE(S256)を使用した OAuth 2.1 を使います。クライアントは動的に登録するか、クライアント ID メタデータドキュメントを使って登録します。アクセストークンの有効期間は 1 時間です。リフレッシュトークンは使うたびにローテーションされ、再利用されたリフレッシュトークンがあると、そのサインインは終了します。Coronium が保存するのはトークンのハッシュのみです。
  • https://api.coronium.io/mcp は directory プロファイル(22 個のツール)を実行します。権限は read(アカウント、残高、プロキシ、プラン、価格、チケット)と manage(プロキシと OpenVPN プロファイルのテスト、ローテーション、置き換え、チケットの作成と返信)です。承認の内容にかかわらず、購入、更新、チャージ、キャンセル、返金を行うツールはありません。
  • https://api.coronium.io/mcp/buyer は、購入を行うエージェント向けの別のアドレスで、カスタムコネクターとして使用します。buyer プロファイルを実行し、15 個のツールを利用できます。接続による支出が許可されている場合は 20 個になります(購入ツール 2 個、更新ツール 2 個、convert_crypto_to_credit)。すべての OAuth 接続では、購入はデフォルトで無効です。購入ツールは、同意ページまたは後からダッシュボードで、パスワードを使ってその接続に対する購入を許可した場合にのみ表示されます。購入のたびに confirm: true、見積もり額の expected_total_usd、新しい idempotency_key が必要で、API はそれを超える金額を拒否します。
  • ダッシュボードにサインインした状態で https://dashboard.coronium.io/api/v1/oauth/connections を開くと、接続済みアプリを確認して切断できます。切断すると、アプリはただちに停止します。
  • API クライアントは、ダッシュボードの API トークンを Bearer トークンとして送信することもできます。/mcp では read と manage が付与され、支出はできません。/mcp/buyer では REST API と同じ権限である spend も付与されるため、ダッシュボードで切り替えなくても、金銭を扱うツールが一覧に表示されます。トークンは秘密にしてください。coronium_get_capabilities は、このルールを spending_rule として報告します。
  • ホステッドサーバーは create_account を一覧に表示しません。まずローカルサーバーまたは REST API でアカウントを作成してから(ブラウザーを使わないエージェントを参照)、その API トークンで接続してください。
  • ホステッドサーバーは顧客データを保持しません。ログに記録されるのはツール名と引数名のみで、値、認証情報、チケットの本文は記録されません。

TLS プロキシの背後で npx -y -p [email protected] coronium-proxy-mcp-http を実行すると、HTTP 経由で独自のコピーを実行できます。src/remote-auth.ts で説明されているトークンチェックに応答する OAuth 認可サーバーが必要です。設定:PORT(デフォルトは 5031)、HOST(デフォルトは 127.0.0.1)、MCP_PUBLIC_URL、MCP_ALLOWED_HOSTS、MCP_ALLOWED_ORIGINS、CORONIUM_BASE_URL。呼び出し元ごとのサインインでのみ動作するため、環境に CORONIUM_API_TOKEN、パスワード、CORONIUM_ENABLE_SPENDING が設定されている場合は、起動を拒否します。

リスティングからインストール

coroniumio/coronium-proxy-mcp MCP server

  • Claude Code plugin(ホスト型ディレクトリサーバー。金銭関連のツールはありません。ブラウザーでCoroniumアカウントにサインインすれば利用でき、トークンは不要です):
    /plugin marketplace add coroniumio/coronium-proxy-mcp
    /plugin install coronium-mobile-proxies@coronium
    
    次に /mcp を実行し、plugin:coronium-mobile-proxies:coronium を選択して「Authenticate」を選びます。詳細:plugins/coronium-mobile-proxies。
  • 公式MCPレジストリ:io.github.coroniumio/coronium-proxy-mcp(レジストリエントリー)。レジストリを読み取るホストは、npmパッケージ coronium-proxy-mcp をインストールするか、ホスト型リモートの https://api.coronium.io/mcp に接続します。
  • npm:接続に記載されている環境設定で npx -y [email protected] を実行します。
  • Glama:glama.ai/mcp/servers/coroniumio/coronium-proxy-mcp。

ツールプロファイル

CORONIUM_TOOL_PROFILE によって利用可能なツールが決まります。

  • directory は、22個のツールを明示的な許可リストとして登録します。内容は、残高(アカウントクレジット、BTC、USDT)、HTTPおよびSOCKS5のURL付き所有プロキシ、すぐに使える接続設定(get_proxy_connection)、ヘルスチェック、接続テスト、ローテーションとそのステータス、置換、OpenVPNプロファイル、国、国およびキャリア別のプランと在庫、更新見積もり、チケット(一覧、読み取り、作成、返信)、Webhookの読み取り、ケイパビリティです。ログインツール、OSフィンガープリントツール、ウォレットの作成、購入、更新、チャージ、キャンセルのツールはありません。check_token はトークン引数を取りません。Coronium Claude Codeプラグインが使用するプロファイルです。
  • buyer は、少数の専用プロキシを購入して稼働させるエージェント向けに15個のツールを登録し、支出を有効にすると20個になります。内容は、プラン、在庫、quote_purchase、get_renewal_quote、支払いステータス、所有プロキシ、get_proxy_connection、テスト、ローテーションとローテーションステータス、置換、残高、暗号資産残高、保存済みカード、ケイパビリティです。支出を有効にすると、buy_modems_with_balance、buy_modems_with_card、renew_modems_with_balance、renew_modems_with_card、convert_crypto_to_credit が追加されます。トークンもログインも設定されていない場合は、create_account も表示されます(16個、支出を有効にすると21個。詳しくはブラウザーを使わないエージェントを参照)。ログインツールはなく、どのツールもトークン引数を取りません。
  • full(未設定時のデフォルト)は、設定、Webhook、プールキー、Coronium Nodeツールを含む、金銭関連以外のすべてのツールを登録します。60個で、支出を有効にすると69個です。buyer と同様、トークンもログインも設定されていない場合は create_account も表示されます(61個、支出を有効にすると70個)。CORONIUM_ENABLE_LOGIN_TOOL=1 を設定しない限り、ログインツールは含まれません。
  • read-only は、変更を行わない32個のツールのみを登録します。CORONIUM_READ_ONLY=true は別名です。

支出はデフォルトで無効です。 金銭関連のツールは、CORONIUM_ENABLE_SPENDING=1 を設定し、かつプロファイルが full(購入、更新、暗号資産からクレジットへの変換、プールの購入とチャージ、返金を伴うキャンセル)または buyer(購入、更新、暗号資産からクレジットへの変換)の場合にのみ利用できます。両方の条件を満たさない場合、ツールは登録されず、HTTPクライアントも独自に金銭関連の呼び出しを拒否します(spending_disabled)。それ以外の支払いはダッシュボードで行います。

ツールは常にアルファベット順で表示されるため、セッションごとに一覧が変わることはありません。

設定
  • CORONIUM_API_TOKEN(または CORONIUM_API_KEY):ダッシュボードの API トークンです。メモリ内にのみ保持されます。エージェントが create_account で自身のアカウントを開設できるようにするには、buyer または full プロファイルでは設定しないでください。
  • CORONIUM_TOOL_PROFILE:buyer、directory、full または read-only を指定します。それ以外の値を指定すると、サーバーは起動時に停止します。
  • CORONIUM_ENABLE_SPENDING:1 または true を指定すると、full および buyer プロファイルで金銭関連のツールが有効になります。デフォルトでは無効です。
  • CORONIUM_ENABLE_LOGIN_TOOL:1 または true を指定すると、full および read-only プロファイルに coronium_login と coronium_logout が登録されます。デフォルトでは無効です。buyer または directory では有効になりません。
  • CORONIUM_BASE_URL:未設定または空の場合は https://api.coronium.io/api/v3 がデフォルトになります。上書きする場合は HTTPS が必要です(テストではループバックの HTTP も使用できます)。また、認証情報、クエリ、フラグメントを含めることはできません。通常の使用では未設定のままにして、トークンの送信先が Coronium のみになるようにしてください。

CORONIUM_ENABLE_SPENDING、CORONIUM_ENABLE_LOGIN_TOOL、CORONIUM_BASE_URL は、ホストの環境変数または DOTENV_CONFIG_PATH で指定されたファイルからのみ読み込まれます。作業ディレクトリに .env ファイルがあっても、支出を有効にしたり、トークンの送信先を変更したりすることはできません。

  • CORONIUM_LOGIN(または CORONIUM_EMAIL)と CORONIUM_PASSWORD:トークンの代わりにホスト環境から使用する以前のログイン方法です。現在も使用できますが、トークンの使用を推奨します。
  • CORONIUM_AUTO_LOGIN:0 を指定すると、自動ログインとトークンの更新が無効になります。
  • TOKEN_ENCRYPTION_KEY:任意のシークレットです。設定すると、ログイントークンを ~/.coronium/token.enc に AES-256-GCM で暗号化して永続化できます(ディレクトリは 0700、ファイルは 0600)。設定しない場合、ディスクには何も書き込まれません。
  • DOTENV_CONFIG_PATH:任意の .env パスを明示的に指定します。

ツールの動作

プロキシと URL。 get_proxies と get_proxy は http_url と socks5_url を返します。プロキシに HTTP と SOCKS5 の個別のログイン情報がある場合、各 URL ではそれぞれのログイン情報が使われます。一覧表示では接続をテストしません。test_modem はバックエンドでチェックを実行し、ok:true または ok:false を返します。

接続設定。 get_proxy_connection は、所有するプロキシ 1 つについて、HTTP と SOCKS5 の URL、HTTP_PROXY/HTTPS_PROXY/ALL_PROXY の値と export 行、curl、Python requests と httpx、Node undici と axios、Playwright、Puppeteer、Selenium(selenium-wire)用のスニペットに加えて、アカウントにある場合は国、通信事業者、有効期限、ローテーションリンクを返します。protocol は環境変数と URL スニペットに使う URL を選択します。ブラウザーは常に HTTP エンドポイントを使います。すべての値はアカウントのプロキシレコードから取得され、値がない場合は null になります。この結果は秘密情報です。

ローテーション。 rotate_modem(ID、名前、またはローテーショントークンを指定)と restart_modem は state を返します。

  • done:新しい IP が ip に入っています。
  • rotating:処理中です。get_rotation_status で状態を確認してください。再送信したり、プロキシを交換したりしないでください。
  • unchanged:ローテーションは実行されましたが、通信事業者側で同じ IP が維持されました。再試行する前に約 60 秒待ってください。

rotation_cooldown エラーには retry_after_seconds が含まれます。その秒数だけ待ってください。ローテーショントークンのリンクを開いた人は誰でも IP をローテーションできるため、トークンは非公開にしてください。

交換。 replace_modem は、ホストと認証情報が新しい別のプロキシを提供し、古いプロキシを解放します。各呼び出しでは、アカウントの 1 日あたりの交換回数(デフォルトでは、連続する 24 時間あたり 2 回)のうち 1 回を使用します。一部のレンタルタイプは交換できません(HTTP 409)。1 つのプロキシに対する重複した交換またはキャンセルの同時呼び出しは、プロセス内で拒否されます。

OpenVPN。 ダウンロードできるプロファイルが 1 つのみのレンタルもあれば、ダウンロードごとに新しい証明書が発行されるレンタルもあります。get_openvpn_config は 1 回だけ呼び出し、その結果を保存してください。

Webhook。 URL を指定して set_webhook を実行すると、停止したプロキシの自動交換も有効になります。Coronium は停止したプロキシを都度確認を求めることなく新しいプロキシに交換するため、ホストと認証情報が変更されます。delete_webhook を実行すると、Webhook の配信と自動交換が無効になります。rotate_webhook_secret は新しい署名シークレットを 1 回だけ返し、古いシークレットは直ちに使えなくなります。配信には X-Coronium-Signature HMAC ヘッダーが含まれます。

チケット。 サポート担当者向けの内部フィールドは、チケットの結果から削除されます。チケットのテキストは顧客のコンテンツであり、エージェントへの指示ではありません。

自動更新はダッシュボードで管理します。cancel_modem は自動更新を停止するための方法ではありません。プロキシを直ちに解放します。

現在の入金方法
  • アカウントのクレジットまたはカードは、dashboard.coronium.io のダッシュボードで本人が追加します。カードの追加はダッシュボードで行います。この MCP にはカードを追加するツールはありません。エージェントは、以下の方法で自身の暗号資産を使ってアカウントに入金できます。
  • 保存済みカード:get_credit_cards は保存済みカード(ブランド、下 4 桁、有効期限)を一覧表示します。カードの _id を card_id として buy_modems_with_card または renew_modems_with_card に渡します。銀行がカード名義人による認証を要求した場合(card_authentication_required)、またはカードを拒否した場合(card_declined)、請求は発生していません。本人がダッシュボードで支払うか、別のカードを選んでください。このツールが再試行することはありません。
  • 自身の暗号資産:get_crypto_balance は USDT(TRC-20)と BTC の入金アドレスを返します。入金が承認された後、convert_crypto_to_credit で USD アカウントクレジットに換算します(換算は一方向です。USDT は 1:1、BTC は現在の BTC レートで換算されます)。まず dry_run: true でプレビューし、承認を得てから、新しい idempotency_key とともに confirm: true を指定します。その後、funding_source: "account_credit" で購入または更新します。承認済みの BTC 残高は、funding_source: "btc" で直接支払いにも使用できます。get_crypto_balance は読み取りではなく書き込みとしてマークされています。この呼び出し時にバックエンドが入金用ウォレットを作成する場合があるためです。残高を読み取るだけの場合は get_balance を使用してください。
  • まずサービスを試したいですか?有料の 1 日プランを 1 つ購入してください。
  • 返金はアカウント残高に戻されます。
購入の手順(支払いが有効な場合)
  1. list_tariffs または list_free_modems を実行して、プランとリアルタイムの在庫を確認します。
  2. プランと数量を指定して quote_purchase を実行します。在庫を確認し、total_usd を返します。TCP フィンガープリント(p0f)の制御があるユニットが必要な場合は require: ["p0f"] を追加します。この場合、見積もり時にプランの p0f 数も確認されます。
  3. get_balance(カードで支払う場合は get_credit_cards)を実行し、プラン、数量、支払い元、合計金額を相手に提示します。その金額に対する明確な承諾を待ちます。
  4. buy_modems_with_balance(カードで支払う場合は card_id を指定して buy_modems_with_card)を実行します。confirm: true、見積もりの合計金額を設定した expected_total_usd、見積もり時と同じ require、新しい UUID の idempotency_key を指定します。
  5. 領収書には payment_id が含まれます。HTTP 202(pending: true)または payment_delivery_unconfirmed エラーが返された場合は、その payment_id を指定して get_payment_status をポーリングし、get_proxies を確認します。有効化には通常数分かかります。決して再注文しないでください。
金銭関連ツール(支払いが有効な場合)
  • すべての金銭関連ツールには、confirm:true、承認された意図ごとの UUID idempotency_key、承認された金額が必要です。残高での購入と更新には明示的な funding_source(account_credit または btc。デフォルトはありません)も必要です。カード関連ツールには card_id が必要です。convert_crypto_to_credit は dry_run: true でプレビューでき、実際に変換する場合にのみ confirm とキーが必要です。
  • expected_total_usd:ツールは送信の直前に最新の価格(プラン価格とクーポン、更新見積もり、またはプールのプラン価格)を再取得し、合計金額が承認額と異なる場合(高い場合も低い場合も)、price_changed で処理を拒否します。購入と更新では、これを max_total_usd としてサーバーにも送信するため、サーバー側の合計金額が上がっている場合、サーバーは拒否します(HTTP 409 price_changed。請求は行われず、details.quote に現在の金額が含まれます)。いずれも価格を固定するものではありません。price_changed が返された場合は、再度見積もりを取り、改めて承認を得て、新しく承認された金額に対して新しい idempotency_key を使用してください。
  • idempotency_key は、すべての購入、更新、暗号資産の変換で Idempotency-Key ヘッダーとして送信されます。同じアカウントが過去に送信したキー(24 時間以内、同じサーバープロセス内)を使って再度呼び出すと、事前チェックを省略し、最初の領収書または最初のエラーを replay: true とともに返します。最初の呼び出しで在庫の最後のユニットを購入した場合でも、再請求は行われません。異なるペイロードで同じキーを使用すると、拒否されます(idempotency_conflict)。キーは英字、数字、-、_ からなる 8〜128 文字である必要があります(UUID は使用できます)。購入、更新、暗号資産変換の各ルートでこれ以外のキーを指定すると、API は HTTP 400「Invalid Idempotency-Key format」を返します。
  • cancel_modem には min_refund_usd が必要です。返金額のプレビューを再実行し、返金額が現在の金額より低くなっている場合は refund_changed で処理を拒否します。
  • 割引が適用されないクーポンは、通常価格で請求されるのではなく、coupon_invalid で拒否されます。
  • require: ["p0f"] を指定すると、p0f 制御のあるユニットのみを購入します。プランの数量が不足している場合、請求前に p0f_unavailable で拒否されます。want_p0f: true は非推奨の別名です。
  • 購入と更新の結果には payment_id、pending、next_step が含まれます。支払いが確認されているエラーにも payment_id が含まれます。これを指定して get_payment_status をポーリングしてください。payment_id がない場合は、get_payments と get_proxies で照合してください。outcome:"unknown" の場合は、操作する前に確認してください。outcome:"refunded_not_charged" の場合は、請求されていません。
  • 書き込み操作が自動的に再試行されることはありません。支払いキーはプロセスの存続期間中、1 つのペイロードに紐付けられ、同時に実行される同一の呼び出しは 1 つのリクエストを共有します。

結果とエラー

成功したツールは、同じ {data, observed_at} オブジェクトを含む JSON テキストと structuredContent を返します。observed_at はこのプロセスがレスポンスを処理した時刻であり、バックエンドで測定された時刻ではありません。

エラーでは isError:true が設定され、JSON テキストとして {error} が含まれます(structuredContent は含まれません。これは常にツールの出力スキーマと一致します)。error には、code(常に小文字。例:payment_in_progress)、message、次に行うことを示す1文の recovery_hint、および判明している場合は status、backend_code(元のコードと異なる場合)、request_id、retry_after_seconds、idempotency_key、outcome、suggested_action が含まれます。429はコードではなく、ステータスと Retry-After に基づいて分類されます。プランが在庫切れの場合、エラーには現在在庫のあるプランが最大5件記載されます。エラーの詳細から認証情報のフィールドは削除されます。残高の読み取りに失敗した場合はエラーとなり、ゼロにはなりません。

ツールカタログ

すべての名前は coronium_ で始まります。「buyer」と「directory」は、これらのプロファイルに属するツールを示します。正確な引数は tools/list で確認できます。カタログには72個すべてのツールスキーマ(docs/tool-catalog.json にも記載)が含まれています。内訳は70個のツールと、オプトイン方式の coronium_login および coronium_logout です。70個のうち、9個は送金を行い、CORONIUM_ENABLE_SPENDING=1 が必要です。

  • coronium_apply_modem_settings(書き込み)。必須:proxy、confirm。
  • coronium_archive_ticket(書き込み)。必須:ticket_id、confirm。
  • coronium_build_pool_proxy_url(書き込み)。必須:id。
  • coronium_build_saved_pool_session_url(書き込み)。必須:id。
  • coronium_buy_modems_with_balance(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です。購入者向け)。必須:tariff_id、quantity、expected_total_usd、confirm、idempotency_key、funding_source。
  • coronium_buy_modems_with_card(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です。購入者向け)。必須:tariff_id、quantity、expected_total_usd、confirm、idempotency_key、card_id。
  • coronium_buy_pool_with_balance(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です)。必須:tariff_id、expected_total_usd、confirm、idempotency_key。
  • coronium_cancel_modem(返金を伴うキャンセル。CORONIUM_ENABLE_SPENDING=1 が必要です)。必須:proxy、min_refund_usd、confirm。
  • coronium_cancel_pool_key(返金を伴うキャンセル。CORONIUM_ENABLE_SPENDING=1 が必要です)。必須:id、confirm、idempotency_key。
  • coronium_change_proxy_password(書き込み)。必須:proxy、confirm。
  • coronium_check_coupon(読み取り)。必須:code。
  • coronium_check_token(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_close_pool_session(書き込み)。必須:confirm。
  • coronium_convert_crypto_to_credit(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です。購入者向け)。必須:なし。
  • coronium_create_account(書き込み、購入者向け)。必須:email、name。
  • coronium_create_ticket(書き込み、ディレクトリ向け)。必須:subject、message、confirm。
  • coronium_delete_saved_pool_session(書き込み)。必須:id、confirm。
  • coronium_delete_webhook(書き込み)。必須:confirm。
  • coronium_get_account(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_get_balance(読み取り、購入者向け、ディレクトリ向け)。必須:なし。
  • coronium_get_capabilities(読み取り、購入者向け、ディレクトリ向け)。必須:なし。
  • coronium_get_credit_cards(読み取り、購入者向け)。必須:なし。
  • coronium_get_crypto_balance(書き込み、購入者向け)。必須:なし。
  • coronium_get_low_balance_threshold(読み取り)。必須:なし。
  • coronium_get_openvpn_config(書き込み、ディレクトリ向け)。必須:proxy。
  • coronium_get_p0f_options(読み取り)。必須:proxy。
  • coronium_get_payment_status(読み取り、購入者向け)。必須:payment_id。
  • coronium_get_payments(読み取り)。必須:なし。
  • coronium_get_pool_carriers(読み取り)。必須:country。
  • coronium_get_pool_stock(読み取り)。必須:なし。
  • coronium_get_proxies(読み取り、購入者向け、ディレクトリ向け)。必須:なし。
  • coronium_get_proxy(読み取り、ディレクトリ向け)。必須:proxy。
  • coronium_get_proxy_connection(読み取り、購入者向け、ディレクトリ向け)。必須:modem_id。
  • coronium_get_proxy_health(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_get_renewal_quote(読み取り、購入者向け、ディレクトリ向け)。必須:modems。
  • coronium_get_rotation_status(読み取り、購入者向け、ディレクトリ向け)。必須:proxy。
  • coronium_get_speed_test(読み取り)。必須:proxy。
  • coronium_get_subscriptions(読み取り)。必須:なし。
  • coronium_get_ticket(読み取り、ディレクトリ向け)。必須:ticket_id。
  • coronium_get_usage(読み取り)。必須:proxy。
  • coronium_get_webhook(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_list_countries(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_list_free_modems(読み取り、購入者向け、ディレクトリ向け)。必須:なし。
  • coronium_list_pool_keys(書き込み)。必須:なし。
  • coronium_list_pool_sessions(読み取り)。必須:なし。
  • coronium_list_pool_tariffs(読み取り)。必須:なし。
  • coronium_list_saved_pool_sessions(読み取り)。必須:なし。
  • coronium_list_tariffs(読み取り、購入者向け、ディレクトリ向け)。必須:なし。
  • coronium_list_tickets(読み取り、ディレクトリ向け)。必須:なし。
  • coronium_login(オプトイン。CORONIUM_ENABLE_LOGIN_TOOL=1 が必要です)。必須:なし。
  • coronium_logout(オプトイン。CORONIUM_ENABLE_LOGIN_TOOL=1 が必要です)。必須:なし。
  • coronium_preview_modem_cancellation(読み取り)。必須:proxy。
  • coronium_quote_purchase(読み取り、購入者向け)。必須:tariff_id、quantity。
  • coronium_renew_modems_with_balance(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です。購入者向け)。必須:modems、funding_source、expected_total_usd、confirm、idempotency_key。
  • coronium_renew_modems_with_card(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です。購入者向け)。必須:modems、card_id、expected_total_usd、confirm、idempotency_key。
  • coronium_replace_modem(書き込み、購入者向け、ディレクトリ向け)。必須:proxy、confirm。
  • coronium_reply_to_ticket(書き込み、ディレクトリ向け)。必須:ticket_id、message、confirm。
  • coronium_restart_modem(書き込み)。必須:proxy、confirm。
  • coronium_revoke_openvpn(書き込み)。必須:proxy、confirm。
  • coronium_rotate_modem(書き込み、購入者向け、ディレクトリ向け)。必須:proxy_identifier、confirm。
  • coronium_rotate_webhook_secret(書き込み)。必須:confirm。
  • coronium_save_pool_session(書き込み)。必須:pool_key_id、label、params。
  • coronium_set_low_balance_threshold(書き込み)。必須:thresholds。
  • coronium_set_modem_metadata(書き込み)。必須:proxy、metadata。
  • coronium_set_modem_os(書き込み)。必須:proxy、os、confirm。
  • coronium_set_rotation_interval(書き込み)。必須:proxy、interval_seconds、confirm。
  • coronium_set_webhook(書き込み)。必須:webhook_url、confirm。
  • coronium_set_white_list(書き込み)。必須:proxy、white_list、confirm。
  • coronium_start_speed_test(書き込み)。必須:proxy、confirm。
  • coronium_test_modem(書き込み、購入者向け、ディレクトリ向け)。必須:proxy。
  • coronium_test_webhook(書き込み)。必須:confirm。
  • coronium_topup_pool_key(支払いを伴います。CORONIUM_ENABLE_SPENDING=1 が必要です)。必須:id、tariff_id、expected_total_usd、confirm、idempotency_key。

開発と検証

npm ci
npm run check
npm run docs:check
npm run test:package

テストは、合成認証情報と一時的なホームディレクトリを使用し、ループバックバックエンドに対して実行されます。test/fixtures/v3-routes.json には公開 /api/v3 ルート(メソッド、パス、認証、フィールドの形式のみ)が記載されており、各ツールのルートがすべて含まれていることをテストで確認します。テストでは、料金の発生、実際のプロキシの切り替え、チケットの送信、本番環境への接続は行いません。任意の npm run test:public は、本番環境に対して認証なしでカタログを4回読み取ります。このテストは CI の一部ではありません。

公開には、publish-v<version> タグまたは main からの手動実行で .github/workflows/publish.yml を使用し、npm の信頼された公開機能または NPM_TOKEN シークレットを利用します。npm のリリース後、.github/workflows/mcp-registry.yml は registry-v<version> タグで server.json を MCP Registry に公開し、GitHub OIDC で認証します。

適切な利用

Coronium プロキシは、アプリやウェブサイトの QA、広告の検証、ローカライズのテスト、公開情報の監視など、合法的な目的でご利用ください。Coronium の利用規約(https://www.coronium.io/terms-and-conditions)およびプロキシ経由でアクセスするすべてのサイトの利用規約に従ってください。このサーバーまたは Coronium プロキシを使用して、偽アカウントや大量のアカウントを作成したり、禁止措置やレート制限を回避したり、セキュリティ対策を迂回したり、スパムを送信したり、不正行為を行ったりしないでください。

お問い合わせ

サポートおよびセキュリティに関する報告は [email protected] までご連絡ください。ライセンス:MIT。

コメント

MCP は初めてですか?

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

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