跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Zuora,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
单个租户的 Zuora Billing REST API:客户账户,订阅和订单(预览、续订、暂停、恢复),带明细和 PDF 的发票,付款、退款和贷项通知单,含费率计划的产品目录,用量,以及 ZOQL、Object Query 和 Data Query 读取。使用 OAuth2 客户端凭据,无需在浏览器中登录。取消订阅、付款和退款在安装时关闭。
试试这样问
Zuora 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Zuora、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Zuora + ChatGPT
单个租户的 Zuora Billing REST API:客户账户,订阅和订单(预览、续订、暂停、恢复),带明细和 PDF 的发票,付款、退款和贷项通知单,含费率计划的产品目录,用量,以及 ZOQL、Object Query 和 Data Query 读取。使用 OAuth2 客户端凭据,无需在浏览器中登录。取消订阅、付款和退款在安装时关闭。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
ZUORA_CLIENT_ID, ZUORA_CLIENT_SECRET, ZUORA_API_URL
步骤 1 — 获取凭证
设置大约需要 5 分钟。你需要一个 Zuora 租户,以及其用户管理的访问权限。
- 在 Zuora 中打开 Settings、Administration、Manage Users,选择或创建一个 API 用户,其角色需具备工具所需的权限:API 访问、Billing 和 Payments 的读取权限,以及修改数据的工具所需的写入权限。
- 打开该用户,在 OAuth Clients 下创建一个客户端。把客户端 ID 复制到
ZUORA_CLIENT_ID,把客户端密钥复制到ZUORA_CLIENT_SECRET。密钥只显示一次;如果丢失,请新建一个客户端。 - 把
ZUORA_API_URL设为你租户的 REST 主机,不带路径和末尾斜杠:https://rest.zuora.com(US Cloud 2)、https://rest.na.zuora.com(US Cloud 1)、https://rest.eu.zuora.com(EU)、https://rest.ap.zuora.com(APAC),或沙箱主机https://rest.apisandbox.zuora.com、https://rest.sandbox.na.zuora.com、https://rest.sandbox.eu.zuora.com、https://rest.test.zuora.com、https://rest.test.eu.zuora.com、https://rest.test.ap.zuora.com。主机可在 Zuora 的租户信息中,以及你所在数据中心的 API 文档地址中找到。 - 安装连接器并运行
zuora_list_products:它会列出产品目录并确认设置无误。
无需在浏览器中登录。AnythingMCP 使用 OAuth2 客户端凭据授权,从该主机的 /oauth/token 获取访问令牌,并在过期前自动续期。沙箱客户端只能在对应的沙箱主机上使用。在 Multi-entity 租户中,OAuth 客户端必须属于你要读取的实体。
读取内容:客户账户用 zuora_list_accounts(Object Query 筛选条件,如 ["status.EQ:Active", "balance.GT:0"])、zuora_get_account、zuora_get_account_summary(一次调用获取联系人、订阅、近期发票、付款和用量)和 zuora_list_account_payment_methods(号码已脱敏);订阅用 zuora_list_subscriptions、zuora_list_account_subscriptions 和 zuora_get_subscription;订单用 zuora_list_orders 和 zuora_get_order;发票用 zuora_list_invoices(逾期发票例如 ["status.EQ:Posted", "balance.GT:0", "duedate.LT:2026-10-01"])、zuora_get_invoice、zuora_list_invoice_items 和 zuora_list_invoice_files(PDF 下载链接);付款用 zuora_list_payments 和 zuora_get_payment,退款用 zuora_list_refunds 和 zuora_get_refund,贷项通知单用 zuora_list_credit_memos、zuora_get_credit_memo 和 zuora_list_credit_memo_items;产品目录用 zuora_list_products、zuora_get_product、zuora_list_product_rate_plans 和 zuora_get_product_rate_plan(费率计划 ID 在订单中作为 productRatePlanId 使用);用量记录用 zuora_list_usages。
查询:zuora_query 对单个对象执行 ZOQL,例如 SELECT Id, Name, Balance FROM Account WHERE Status = 'Active',zuora_query_more 获取下一批结果。需要跨对象的 SQL(含关联和汇总)时,zuora_create_data_query 启动一个 Data Query 任务,AI 会反复调用 zuora_get_data_query,直到 queryStatus 为 completed;结果是 dataFile 中的临时下载链接。zuora_list_data_queries 显示以前的任务,zuora_describe_object 列出对象的字段(XML 格式)。所有查询工具都是只读的。
写入内容:zuora_create_account 和 zuora_update_account。订阅变更通过订单完成:zuora_preview_order 在不保存任何内容的情况下显示发票明细和金额,随后 zuora_create_order 创建新订阅、添加或移除产品,或修改数量、价格或期限。zuora_renew_subscription 在不计费的情况下续订定期订阅,zuora_suspend_subscription 停止计费,直到 zuora_resume_subscription 恢复。zuora_email_invoice 以 PDF 邮件发送已过账的发票,zuora_create_credit_memo_from_invoice 为发票的全部或部分明细创建贷项通知单(除非 auto_post 为 true,否则为 Draft),zuora_create_usage 上传一条用量记录。这些操作会改变向客户收取的费用,因此 AI 会先做预览,向你展示金额,等你同意。zuora_create_order 带上 processing_options(runBilling、collectPayment)时,还会同时开票并向客户扣款。
安装时关闭:zuora_cancel_subscription、zuora_create_payment 和 zuora_refund_payment。它们会动用资金或无法撤销,因此在团队需要时由工作区管理员开启。
数据格式:大多数键(account_key、subscription_key、invoice_key)既接受编号(A00000001、A-S00000001、INV00000001),也接受 32 位 ID;accountId 等筛选条件需要 ID。金额是账户币种的小数。日期为 YYYY-MM-DD;时间戳除非以 Z 结尾,否则使用租户时区。v1 响应包含 success: true,或带 reasons(代码和消息)的 success: false;Object Query 响应包含 data。
分页:Object Query 列表(zuora_list_accounts、zuora_list_subscriptions、zuora_list_invoices、zuora_list_usages)最多返回 page_size 条记录(默认 10,最多 99)以及 nextPage,AI 会把它作为 cursor 传回,直到不再出现。其他列表接受 page 和 page_size,只要还有更多结果就返回 nextPage 链接。ZOQL 最多返回 2,000 条记录,其余部分通过 done: false 和 queryLocator 获取。
常见错误:获取令牌时出现 400 表示 Zuora 没有签发令牌:请检查客户端 ID 和密钥,以及 ZUORA_API_URL 是否为你租户所在的数据中心。401 表示客户端 ID 或密钥错误,或主机不对。403 表示 API 用户缺少权限。404 表示编号或 ID 错误。v1 的错误也可能以 HTTP 200 加 success: false 返回;AI 会读取 reasons。429 表示达到了 Zuora 对每个租户并发请求数或每个用户每小时请求数的限制:请稍候重试。
使用安装时开启的工具,连接器不会取消订阅、收取付款或发起退款。它会读取产品目录,但不会创建或修改产品、费率计划或价格,不会添加付款方式,也不会删除任何内容。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
ChatGPT 在网页版的 Plugins 页面把 MCP 服务器添加为插件,仅付费套餐可用,不再需要开发者模式。在 Business 工作区中只有管理员和所有者可以添加;在 Enterprise 和 Edu 中,管理员可以授予 Create plugins with MCPs 权限。
- 前往 chatgpt.com/plugins,点击 Add,然后选择 Add custom MCP server。
- 填写名称,例如 Name:
Zuora。 - 在 Connection 下的 Server URL 中填入
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,Authentication 保持为 OAuth。 - 选择 I understand and want to continue,然后点击 Create as a plugin。ChatGPT 提示时,登录 AnythingMCP 并允许访问。
- 在个人插件中安装这个新插件,然后在对话中输入 @ 并选择它。
可用工具
| Tool | What it does |
|---|---|
zuora_list_accounts | List customer accounts with Object Query: filter (e.g. status.EQ:Active, name.SW:Acme, balance.GT:0), choose fields, expand bill-to contact… |
zuora_get_account | Get one customer account by number or id: basic info, billing and payment settings, bill-to and sold-to contacts, balance and metrics |
zuora_get_account_summary | Get an account summary in one call: basic info, contacts, subscriptions, recent invoices, payments and usage, with balance and last payment |
zuora_list_account_payment_methods | List the payment methods of an account (cards, bank accounts, PayPal) with type, masked number, expiry, default flag and status |
zuora_create_account | Create a customer account with name, currency and bill-to contact, plus billing settings (bill cycle day, payment term, batch, auto-pay)… |
zuora_update_account | Update an account: name, notes, contacts, billing settings, auto-pay, default payment method, CRM id or custom fields |
zuora_list_subscriptions | List subscriptions with Object Query: filter by account, status (Active, Cancelled, Suspended, Expired, Draft), term dates or latest… |
zuora_list_account_subscriptions | List the subscriptions of one account with rate plans, charges, prices, quantities, terms and status, as Zuora shows them on the account |
zuora_get_subscription | Get one subscription by number or id with term, renewal settings, status, rate plans, charges (price, quantity, billing period) and owner… |
zuora_list_orders | List orders (the records of subscription changes: new subscription, add product, update, renew, cancel) by status and date range, with… |
zuora_get_order | Get one order by order number with its order actions, the subscriptions it created or changed, and the order metrics |
zuora_preview_order | Preview an order without saving it: the invoice items, charge metrics and amounts a new subscription or a change would produce |
zuora_create_order | Create an order: new subscription, add or remove a product, change quantity or price, renew or change terms |
zuora_renew_subscription | Renew a termed subscription for another renewal term now, without billing |
zuora_suspend_subscription | Suspend an active subscription: billing stops from the suspend date until it is resumed |
zuora_resume_subscription | Resume a suspended subscription today, on a date or after a number of periods; billing restarts from the resume date |
zuora_cancel_subscription | Cancel a subscription at the end of the term, at the end of the last invoiced period or on a date |
zuora_list_invoices | List invoices with Object Query: filter by account, status (Draft, Posted, Canceled), balance, invoice or due date, expand invoice items or… |
zuora_get_invoice | Get one invoice by number or id with account, dates, amounts, tax, balance, status and payment and credit applications |
zuora_list_invoice_items | List the items of an invoice: charge name, subscription, service period, quantity, unit price, amount and tax per line |
zuora_list_invoice_files | List the PDF files generated for an invoice with their download URLs (the newest first) |
zuora_email_invoice | Email a posted invoice as PDF to the bill-to contact, to the extra addresses of the account or to given addresses |
zuora_list_payments | List payments with amount, applied and unapplied amount, status, type, effective date and account |
zuora_get_payment | Get one payment by number or id with amount, applied, unapplied and refunded amounts, gateway state, payment method and dates |
zuora_create_payment | Create a payment: an External payment records money received, an Electronic one charges the payment method through the gateway |
zuora_refund_payment | Refund a payment: Electronic sends money back through the gateway, External records a refund made elsewhere |
zuora_list_refunds | List refunds with amount, status, type, method, refund date, account and the payment or credit memo they come from |
zuora_get_refund | Get one refund by number or id with amount, status, method, gateway state, reason code and source payment or credit memo |
zuora_list_credit_memos | List credit memos with amount, applied, refunded and unapplied amounts, status, date, account and the invoice they refer to |
zuora_get_credit_memo | Get one credit memo by number or id with amounts, status, reason code, dates and the invoice it refers to |
zuora_list_credit_memo_items | List the items of a credit memo: charge, service period, amount, applied and refunded amount and tax per line |
zuora_create_credit_memo_from_invoice | Create a credit memo from a posted invoice, for all or some of its items |
zuora_list_products | List the product catalog: products with their rate plans and charges (model, billing period, prices per currency and tiers) |
zuora_get_product | Get one catalog product by SKU or id with its rate plans and charges, prices per currency and tiers |
zuora_list_product_rate_plans | List the rate plans of one product with effective dates, status and, with charge definitions, the charges and prices |
zuora_get_product_rate_plan | Get one product rate plan by id or number with its charges, prices, billing periods and effective dates |
zuora_list_usages | List usage records with Object Query: filter by account, unit of measure, start date or rating status, page with a cursor |
zuora_create_usage | Upload one usage record for usage-based charges: account, unit of measure, quantity and start time, optionally tied to a subscription or… |
zuora_query | Run a ZOQL query (SELECT fields FROM object WHERE ...), e.g |
zuora_query_more | Get the next batch of a ZOQL query: pass the queryLocator of the previous answer while done is false |
zuora_create_data_query | Start a Data Query job: SQL across objects with joins and aggregates, e.g |
zuora_get_data_query | Get a Data Query job: queryStatus (accepted, in_progress, completed, failed) and, when completed, dataFile (a temporary download link) and… |
zuora_list_data_queries | List recent Data Query jobs with their query, status, row count and result link, newest first |
zuora_describe_object | Describe a Zuora object for ZOQL and Data Query: its fields with type, label, whether they are filterable, and related objects |
示例提示
- “哪些账户有 10 月 1 日前到期、仍有余额的已过账发票?列出账户、发票号和未付金额。”
- “给我账户 A00001234 的概况:有效订阅、最近的发票和最近的付款。”
- “预览一下从下月 1 日起给订阅 A-S00000120 增加 5 个 Pro 套餐席位的金额,创建订单前先给我看。”
- “用 Data Query 汇总每个客户的未付发票余额,列出金额最大的 10 个。”
- “把发票 INV00004567 的 PDF 再发一次到 [email protected]。”
FAQ
ChatGPT 免费套餐能用自定义 MCP 服务器吗? OpenAI 只为付费套餐提供自定义 MCP 服务器的说明,Free 套餐不在其列。
下一步
这份指南对你有帮助吗?