选择正确凭证
现有 API Key MCP 工具仍为
list_models、get_balance、chat_completion、generate_image、generate_video 和 get_task。同名工具在个人令牌下可能采用不同输入结构;连接后务必读取 tools/list。
创建令牌并连接
- 登录控制台 → Agent,打开 Personal MCP。
- 为凭证命名,仅选择需要的权限,设置 1–365 天有效期,默认 30 天。
- 使用
models:invoke或utilities:invoke时,绑定本人有效的 API Key;模型范围、预算和 RPM 限制继续生效。查询账户数据不要求余额大于零。 - 创建时复制
mcp_user_令牌到客户端的密钥设置,不要放入源代码、聊天内容或日志。无需访问时在同一控制台撤销。
Authorization 请求头,协议版本由客户端协商。目前未实现 OAuth,仅支持 OAuth 的客户端无法使用该连接。下表是连接参数,不是某个客户端的专用配置文件。
先发现工具再调用
客户端初始化连接后,以{} 调用 get_capabilities,并读取 tools/list。前者返回 audience: user、ownership: self、授权 scopes、可用工具及 oauth: false。其余个人工具都使用 input 对象,包括无业务参数的工具。
权限
权限在网站选择;MCP 不能创建授权、扩展自身权限或将 API Key 升级为管理员凭证。隐藏工具不代表可绕过权限:每次调用都会再次检查资源归属和权限。usage:content 还要求明确请求内容及 API Key 开启内容记录。
写入、结果和安全重试
每次写入必须为该操作意图提供唯一idempotencyKey:1–191 个不含空格的可打印 ASCII 字符,调用前先保存。若响应丢失,使用相同工具、相同输入和相同键重试。同一键用于不同输入会返回 idempotency_conflict。每个上传步骤各用一个键。
structuredContent 和 content 的 JSON 文本中。首次执行返回下列封装;重放返回 replayed: true 和只含可用标识符的小型 receipt,不会重新返回完整结果或 API Key 明文。
execution_pending(409)表示首次调用尚未得到确定结果。execution_unknown(409)或 status: unknown 回执表示操作可能已发生。先用 get_execution 核实,再检查相关任务、订单或账户操作。不要换新幂等键绕过这些状态。 MCP 执行完成后,其业务结果仍可能是等待中的模型任务或网站确认。
模型与实用工具流程
先调用list_models → get_model_schema 选择公开模型 ID。模型工具的 body 接受完整的受支持 HTTP JSON 请求,参数按对应模型文档填写。模型 ID 放在 body.model;generate_content 则使用必填的外层 model。文件字段仅供 edit_image 使用(image、image[]、mask),其他媒体输入使用已发布 URL。
task_id 并用 get_task 轮询。stream: true 会将流事件收集到最终 MCP 结果;SDK 实时流式输出请使用 HTTP API。可选 client_request_id 为视频请求关联用 UUID v4,与 idempotencyKey 不同。模型调用可能消耗积分。
模型结果收集上限为 8 MiB 和 300 秒。若收集中断或超限,执行回执会保留已知的 request_id。先检查 get_execution 和已有请求或任务,再决定下一步;不要另建付费请求,也不要用新幂等键替代结果未明的调用。客户端断开不代表已受理的模型任务已取消。
按 list_utilities → get_utility_schema → run_utility 使用 32 个实用工具。原有使用资格和配额继续生效,部分批量操作要求付费账户资格。普通字段放在 parameters,本人文件 ID 放在 files;二进制或较大结果返回临时文件。文件输入及非 JSON 输出还需要 files:write。
上传与取回文件
- 用文件名、MIME 类型和精确字节数调用
begin_upload,文件最多 250 MiB。 - 用从零开始的
index和 Base64data调用upload_chunk。每块解码后最多 1 MiB,索引必须从零连续递增。 - 用
file_id和可选小写 SHA-256 调用finish_upload;仅在status: ready后使用文件。 - 将文件 ID 交给支持文件的工具。
get_artifact返回元数据,传入offset则返回 Base64 字节;按next_offset继续读取直到null。下载链接要求所有者登录网站。
upload_image 和 upload_media 是独立的发布操作,所返回模型输入 URL 可分享访问;仅发布你愿意经这些 URL 公开访问的文件。
文件操作会在读取任何文件内容前检查归属、就绪状态、文件数量和大小。每个文件引用都计入该操作的限额,重复 ID 也会重复计数和累加大小。
upload_media:最多 20 个文件,合计 250 MiB。upload_image:单个文件,最大 50 MiB。edit_image:所有字段合计最多 20 个文件,其中最多 1 个mask;单文件 50 MiB,合计 100 MiB。输入 Schema 中各字段数组的限额仍然适用。run_utility:遵守get_utility_schema返回的工具文件数、单文件和总大小限额;即使目录允许更多,总大小也不得超过 250 MiB。
网站确认与付款
- API Key 明文:
start_reveal_key_action→ 用户打开confirmation_url并批准 → 将操作id作为action_id调用reveal_api_key。批准绑定该密钥及凭证,操作创建 15 分钟后到期,只能消费一次。create_api_key仅返回元数据。 - 取消订阅:
cancel_subscription发起确认,用户在网站执行。报告完成前检查get_account_action及订阅状态。 - **密码或账户注销:**以
password_change或delete_account调用start_account_action。验证码和密码由用户在网站输入,不交给助手。注销会撤销凭证并退出登录,之后不要继续轮询 MCP。 - 付款:
list_billing_products→create_checkout→ 用户付款 →get_payment_status。结账链接不等于付款成功。 - 真实消息:
resend_invoice和test_credit_alert会发送邮件或 Webhook;仅在用户明确要求发送时调用。
处理错误并避免重复操作
连接或认证失败可能返回 HTTP 错误。工具失败会设置isError: true,应检查 structuredContent.error.code、status、execution_id 及可能存在的 receipt。重放也可能返回未完成的执行 status。
实用的只读起点
- 查看花费:
get_balance→summarize_usage→list_usage查看单次请求。 - 解释失败:将
task_id传给diagnose_request,再次调用模型前先核实实际错误与退款状态。 - 准备集成:
list_models→get_model_schema→get_api_guide,读取指南无需调用模型。 - 查看账户安全:
list_api_keys→get_api_key→list_login_records。
from、不包含 to 的区间,时间使用带时区的 ISO 8601。默认最近 30 天,最长 366 天。只覆盖仍保留的记录,缺失日期不等于零用量。get_overview.timezoneOffset 采用 JavaScript getTimezoneOffset 分钟语义(UTC 减本地时间),默认 0;用量列表和分组汇总仍使用 UTC。
summarize_usage 的 creditsCharged 与 netCreditsCharged 表示保留记录中的净扣款。linkedRefundCredits 仅含已知且关联异步任务的退款;knownGrossCredits 为净扣款加这些已知退款,不代表完整毛花费。totalTokens、averageLatencyMs、pending 和 processing 描述匹配且仍保留的请求。
继续阅读完整工具参考、认证和 HTTP API 错误。