关于 Coronium mobile proxies
面向 Coronium 专用 4G/5G 代理客户的本地及托管 MCP 服务。Agent 可查看和管理代理、比较库存与报价;明确启用消费功能后,也可在确认后购买或续费。
主要功能
- 01查看余额和已购代理连接地址
- 02测试、轮换和更换代理
- 03比较套餐及国家和运营商库存
- 04获取购买与续费报价
- 05管理支持工单和 OpenVPN 配置
- 06可选的确认式购买与加密货币兑换
适用场景
- 01检查代理连通性并轮换连接端点
- 02购买前比较可用套餐和库存
- 03查看续费费用并处理支持工单
MCP 相关
通过本地 stdio 和托管 Streamable HTTP 端点,向 MCP 客户端提供 Coronium 客户账户工具。工具配置决定可用权限;消费工具需明确启用并确认购买。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.coronium.io/mcpclaude mcp add --transport http coroniumio-coronium-proxy https://api.coronium.io/mcp{"mcpServers":{"coroniumio-coronium-proxy":{"type":"http","url":"https://api.coronium.io/mcp"}}}在 Cursor 中打开{"servers":{"coroniumio-coronium-proxy":{"type":"http","url":"https://api.coronium.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"coroniumio-coronium-proxy":{"type":"http","url":"https://api.coronium.io/mcp"}}}{"mcpServers":{"coroniumio-coronium-proxy":{"serverUrl":"https://api.coronium.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
59| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| proxy | string | 是 | 自有调制解调器的 _id(24 个十六进制字符)、准确名称或来自 get_proxies 的 portId。 |
| confirm | boolean | 是 | 仅在用户明确授权此项会造成中断的操作后才设为 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,它会拒绝启动,因为它只能使用每个调用方自己的登录信息运行。
从目录安装
- 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 天套餐。
- 退款会退回到账户余额。
逐步购买(启用消费)
- 使用
list_tariffs或list_free_modems查看套餐和实时库存。 - 使用套餐和数量调用
quote_purchase。它会检查库存并返回total_usd。对于具有 TCP 指纹(p0f)控制的设备,请添加require: ["p0f"];此时,报价还会检查套餐的 p0f 数量。 - 调用
get_balance(或调用get_credit_cards以使用银行卡付款),然后向用户展示套餐、数量、资金来源和总额。等待用户明确同意该笔确切金额。 - 调用
buy_modems_with_balance(或使用card_id调用buy_modems_with_card),并设置confirm: true、将expected_total_usd设为报价总额、使用与报价相同的require,以及一个新的 UUIDidempotency_key。 - 收据中包含
payment_id。如果 HTTP 202(pending: true)或出现错误payment_delivery_unconfirmed,请使用该payment_id轮询get_payment_status,并检查get_proxies。激活通常需要几分钟。切勿再次下单。
资金工具(启用消费)
- 每个资金工具都需要
confirm:true、每个已批准意图对应一个 UUIDidempotency_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 409price_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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。