mcpField
C
Coronium mobile proxies

Coronium mobile proxies

远程服务
coronium.io云与基础设施14 天前更新

关于 Coronium mobile proxies

面向 Coronium 专用 4G/5G 代理客户的本地及托管 MCP 服务。Agent 可查看和管理代理、比较库存与报价;明确启用消费功能后,也可在确认后购买或续费。

主要功能

  1. 01查看余额和已购代理连接地址
  2. 02测试、轮换和更换代理
  3. 03比较套餐及国家和运营商库存
  4. 04获取购买与续费报价
  5. 05管理支持工单和 OpenVPN 配置
  6. 06可选的确认式购买与加密货币兑换

适用场景

  1. 01检查代理连通性并轮换连接端点
  2. 02购买前比较可用套餐和库存
  3. 03查看续费费用并处理支持工单

MCP 相关

通过本地 stdio 和托管 Streamable HTTP 端点,向 MCP 客户端提供 Coronium 客户账户工具。工具配置决定可用权限;消费工具需明确启用并确认购买。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址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 个十六进制字符)、准确名称或来自 get_proxies 的 portId。
confirmboolean是仅在用户明确授权此项会造成中断的操作后才设为 True。

详细介绍

Coronium 代理 MCP

面向 Coronium.io 专用 4G/5G 移动代理客户的本地 stdio MCP 服务。版本 2.4.3。它可以让 AI Agent 查询余额、列出已拥有的代理及可直接使用的 HTTP 和 SOCKS5 URL、测试和轮换代理、更换代理、下载 OpenVPN 配置文件、按国家和运营商比较套餐与实时库存、获取购买或续费报价,以及处理支持工单。启用消费功能后,它还可以从账户余额或已保存的银行卡购买和续费,并将你自己的 USDT 或 BTC 转入账户余额,但须经你批准确切的总金额。不提供令牌启动时,它可以为 Agent 开设新账户(参见没有浏览器的 Agent)。

它只与 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 的别名。更改配置后,请重启宿主。

令牌是访问入口。还没有账户?请参见没有浏览器的 Agent。默认情况下没有密码工具:只有设置 CORONIUM_ENABLE_LOGIN_TOOL=1 时,才会提供 coronium_login,因为传递给工具的密码会进入对话。

如果你希望 Agent 替你购买,请使用 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 秒以上:轮换、更换和付款调用都需要等待后端处理。如果调用超时,请先检查其结果,再采取后续操作。此进程仅使用 stdout 输出 MCP JSON-RPC。

无需浏览器的 Agent

Agent 可以自行开设 Coronium 账户、充值并购买,全程无需浏览器,也不必访问控制面板。只有完成付款后才会提供任何内容,并且每笔购买仍需获得用户对确切总金额的确认。

使用此 MCP(stdio)。 启动时不设置 CORONIUM_API_TOKEN,并使用 buyer 配置。coronium_create_account(邮箱、姓名、可选用途和密码)会注册、登录并签发 API token,之后本次会话中的其余操作都会使用该 token。API token 只会返回一次;如果你未提供密码,生成的密码也只会返回一次;请将两者存入机密存储。然后依次执行: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 执行相同步骤(使用 jq 读取 JSON):

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 token 的托管买家服务。 将 token 作为 Bearer 标头发送至 https://api.coronium.io/mcp/buyer。该 token 可在此处购买,权限与 REST API 上相同,因此请妥善保密(存放在环境变量或机密存储中,切勿放入代码库或聊天中)。https://api.coronium.io/mcp 不会使用任何 token 消费资金。

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。

工作原理:

  • 登录采用 OAuth 2.1 和 PKCE(S256)。客户端可以动态注册,也可以通过客户端 ID 元数据文档注册。访问令牌有效期为一小时;每次使用刷新令牌时都会轮换,重复使用刷新令牌会使该登录失效。Coronium 只存储令牌哈希。
  • https://api.coronium.io/mcp 运行 directory 配置(22 个工具)。权限:read(账户、余额、代理、套餐、价格、工单)和 manage(测试、轮换和更换代理、OpenVPN 配置文件、创建和回复工单)。无论你批准什么,它都不包含购买、续订、充值、取消或退款工具。
  • https://api.coronium.io/mcp/buyer 是供购买类 Agent 使用的独立地址,可用作自定义连接器。它运行 buyer 配置:15 个工具;如果连接可以消费,则为 20 个(两个购买工具、两个续订工具和 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 上,它还拥有 spend 权限,与其在 REST API 上的权限相同,因此无需在控制面板中切换即可列出资金相关工具。请妥善保密。coronium_get_capabilities 会通过 spending_rule 报告此规则。
  • 托管服务不会列出 create_account。请先通过本地服务或 REST API 创建账户(参见无浏览器的 Agent),然后使用其 API 令牌连接。
  • 托管服务不会保留客户数据。其日志会记录工具名称和参数名称,但绝不会记录参数值、凭据或工单文本。

使用 npx -y -p [email protected] coronium-proxy-mcp-http,在 TLS 代理后通过 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 服务

  • Claude Code 插件(托管目录服务,不包含资金工具;在浏览器中使用 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。
  • Official MCP Registry: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 为购买并运行少量专用代理的 Agent 注册 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 个;参见没有浏览器的 Agent)。不包含登录工具,任何工具都不接受令牌参数。
  • 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 令牌,仅保存在内存中。在 buyer 或 full 配置中不设置此项,可让 Agent 使用 create_account 开设自己的账户。
  • 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:可选密钥,可让登录令牌以 AES-256-GCM 加密形式持久保存到 ~/.coronium/token.enc(目录权限为 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 会返回 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 会提供一个不同的代理,拥有新的主机和凭据,并释放旧代理。每次调用都会消耗账户每日更换次数中的一次(滚动 24 小时内默认可更换 2 次)。某些租赁类型无法更换(HTTP 409)。同一代理的并发重复更换或取消调用会在进程内被拒绝。

OpenVPN。 某些租赁仅允许下载一次配置文件,其他租赁则会在每次下载时签发新证书。请只调用一次 get_openvpn_config 并保留结果。

Webhooks。 使用 URL 调用 set_webhook 也会启用自动更换失效代理:Coronium 会在无需每次询问的情况下,将失效代理换成新代理,因此其主机和凭据也会改变。delete_webhook 会关闭事件投递和自动更换。rotate_webhook_secret 只返回一次新的签名密钥;旧密钥会立即失效。投递请求会携带 X-Coronium-Signature HMAC 标头。

工单。 工单结果会移除仅供支持团队内部使用的字段。工单文本是客户内容,绝不是给 Agent 的指令。

自动续订在控制面板中管理。cancel_modem 绝不能用于停止自动续订:它会立即释放代理。

当前的资金充值方式
  • 用户在 dashboard.coronium.io 的控制面板中为账户充值或添加银行卡。用户需在控制面板中添加银行卡;此 MCP 没有添加银行卡的工具。Agent 可以使用自己的加密货币为账户充值(见下文)。
  • 已保存的银行卡:get_credit_cards 会列出已保存的银行卡(品牌、末四位、到期时间)。将银行卡的 _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 会将其转换为美元账户余额(不可逆;USDT 按 1:1 汇率,BTC 按实时 BTC 汇率):先使用 dry_run: true 预览,然后在确认无误后使用 confirm: true 和新的 idempotency_key。接着使用 funding_source: "account_credit" 购买或续订。已确认的 BTC 余额也可使用 funding_source: "btc" 直接付款。get_crypto_balance 标记为写入操作而非读取操作:后端会在该调用中创建缺失的存款钱包。如需仅读取余额,请使用 get_balance。
  • 想先试用服务?购买一个付费的 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。如果没有该 ID,请使用 get_payments 和 get_proxies 进行核对。outcome:"unknown" 表示应先检查再采取操作;outcome:"refunded_not_charged" 表示未扣款。
  • 写入操作绝不会自动重试。付款密钥在进程生命周期内绑定到一个载荷;并发的相同调用会共享一个请求。

结果和错误

成功的工具会返回 JSON 文本和 structuredContent,二者包含相同的 {data, observed_at} 对象。observed_at 表示此进程处理响应的时间,并非后端的测量时间。

错误会设置 isError:true,并以 JSON 文本形式携带 {error}(而非 structuredContent;后者始终符合工具的输出架构)。error 包含 code(始终为小写,例如 payment_in_progress)、message、recovery_hint(一句话说明接下来该怎么做),以及在已知时提供的 status、backend_code(与原始代码不同时提供)、request_id、retry_after_seconds、idempotency_key、outcome 和 suggested_action。429 错误根据状态和 Retry-After 分类,而非根据其代码分类。当某个套餐缺货时,错误会列出当前最多五个有库存的套餐。错误详情中的凭证字段会被隐藏。余额读取失败会返回错误,而不会返回零。

工具目录

所有名称均以 coronium_ 开头。“buyer”和“directory”表示这些工具属于相应配置。具体参数以 tools/list 为准。目录列出了全部 72 个工具架构(也见 docs/tool-catalog.json):70 个工具,以及需选择启用的 coronium_login 和 coronium_logout。这 70 个工具中,有九个会转移资金,并需要设置 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 会对生产环境进行四次未经身份验证的目录读取,且不属于 CI。

发布时,可在 publish-v<version> 标签上运行 .github/workflows/publish.yml,也可从 main 手动运行,并使用 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。