Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Zuora con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Zuora Billing REST API per un tenant: account cliente, abbonamenti e ordini con anteprima, rinnovo, sospensione e ripresa, fatture con righe e PDF, pagamenti, rimborsi e note di credito, il catalogo prodotti con i rate plan, i consumi e le letture ZOQL, Object Query e Data Query. OAuth2 client credentials, nessun accesso dal browser. Cancellazioni, pagamenti e rimborsi sono disattivati all'installazione.
Prova a chiedere
Prompt di esempio per Zuora
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Zuora, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Zuora + Microsoft Copilot
Zuora Billing REST API per un tenant: account cliente, abbonamenti e ordini con anteprima, rinnovo, sospensione e ripresa, fatture con righe e PDF, pagamenti, rimborsi e note di credito, il catalogo prodotti con i rate plan, i consumi e le letture ZOQL, Object Query e Data Query. OAuth2 client credentials, nessun accesso dal browser. Cancellazioni, pagamenti e rimborsi sono disattivati all'installazione.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
ZUORA_CLIENT_ID, ZUORA_CLIENT_SECRET, ZUORA_API_URL
Step 1 — Ottieni le credenziali
La configurazione richiede circa 5 minuti. Ti servono un tenant Zuora e l'accesso alla gestione utenti.
- In Zuora apri Settings, Administration, Manage Users e scegli o crea un utente API il cui ruolo abbia i permessi necessari ai tool: accesso API e permessi di lettura per Billing e Payments, più i permessi di scrittura per i tool che modificano dati.
- Apri quell'utente e crea un client in OAuth Clients. Copia il client id in
ZUORA_CLIENT_IDe il client secret inZUORA_CLIENT_SECRET. Il secret viene mostrato una sola volta; se lo perdi, crea un nuovo client. - Imposta
ZUORA_API_URLsull'host REST del tuo tenant, senza percorso né barra finale: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) oppure un host sandbox: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.comohttps://rest.test.ap.zuora.com. Zuora mostra l'host nelle informazioni del tenant e nell'indirizzo della documentazione API del tuo data center. - Installa il connettore ed esegui
zuora_list_products: elenca il catalogo prodotti e conferma la configurazione.
Non c'è nessun accesso dal browser. AnythingMCP ottiene un access token da /oauth/token su quell'host con il grant OAuth2 client credentials e lo rinnova prima che scada. Un client sandbox funziona solo sul suo host sandbox. Su un tenant Multi-entity il client OAuth deve appartenere all'entity che vuoi leggere.
Cosa legge: account cliente con zuora_list_accounts (filtri Object Query come ["status.EQ:Active", "balance.GT:0"]), zuora_get_account, zuora_get_account_summary (contatti, abbonamenti, ultime fatture, pagamenti e consumi in una chiamata) e zuora_list_account_payment_methods (numeri mascherati); abbonamenti con zuora_list_subscriptions, zuora_list_account_subscriptions e zuora_get_subscription; ordini con zuora_list_orders e zuora_get_order; fatture con zuora_list_invoices (quelle scadute ad esempio con ["status.EQ:Posted", "balance.GT:0", "duedate.LT:2026-10-01"]), zuora_get_invoice, zuora_list_invoice_items e zuora_list_invoice_files (link di download dei PDF); pagamenti con zuora_list_payments e zuora_get_payment, rimborsi con zuora_list_refunds e zuora_get_refund, note di credito con zuora_list_credit_memos, zuora_get_credit_memo e zuora_list_credit_memo_items; il catalogo prodotti con zuora_list_products, zuora_get_product, zuora_list_product_rate_plans e zuora_get_product_rate_plan (gli id dei rate plan vanno negli ordini come productRatePlanId); i record di consumo con zuora_list_usages.
Query: zuora_query esegue ZOQL su un oggetto, ad esempio SELECT Id, Name, Balance FROM Account WHERE Status = 'Active', e zuora_query_more recupera il blocco successivo. Per SQL su più oggetti con join e totali, zuora_create_data_query avvia un job Data Query e l'AI chiama zuora_get_data_query finché queryStatus è completed; il risultato è un link di download temporaneo in dataFile. zuora_list_data_queries mostra i job precedenti e zuora_describe_object elenca i campi di un oggetto (in XML). Tutti i tool di query sono in sola lettura.
Cosa scrive: zuora_create_account e zuora_update_account. Le modifiche agli abbonamenti passano dagli ordini: zuora_preview_order mostra righe di fattura e importi senza salvare nulla, poi zuora_create_order crea un nuovo abbonamento, aggiunge o rimuove un prodotto o cambia quantità, prezzo o durata. zuora_renew_subscription rinnova un abbonamento a termine senza fatturare, zuora_suspend_subscription ferma la fatturazione finché zuora_resume_subscription non la fa ripartire. zuora_email_invoice invia per email una fattura registrata in PDF, zuora_create_credit_memo_from_invoice crea una nota di credito per tutte o alcune righe di una fattura (in Draft se auto_post non è true) e zuora_create_usage carica un record di consumo. Queste azioni cambiano ciò che viene fatturato ai clienti, quindi l'AI prepara l'anteprima, ti mostra gli importi e aspetta il tuo sì. zuora_create_order con processing_options (runBilling, collectPayment) emette anche la fattura e addebita il cliente.
Disattivati all'installazione: zuora_cancel_subscription, zuora_create_payment e zuora_refund_payment. Muovono denaro o non si possono annullare, quindi un admin del workspace li attiva quando servono al team.
Formati dei dati: la maggior parte delle chiavi (account_key, subscription_key, invoice_key) accetta il numero (A00000001, A-S00000001, INV00000001) o l'id di 32 caratteri; filtri come accountId richiedono l'id. Gli importi sono numeri decimali nella valuta dell'account. Le date sono YYYY-MM-DD; i timestamp sono nel fuso orario del tenant, a meno che non finiscano con Z. Le risposte v1 contengono success: true oppure success: false con reasons (codice e messaggio); le risposte Object Query contengono data.
Paginazione: le liste Object Query (zuora_list_accounts, zuora_list_subscriptions, zuora_list_invoices, zuora_list_usages) restituiscono fino a page_size record (10 di default, al massimo 99) e nextPage, che l'AI ripassa come cursor finché non manca. Le altre liste accettano page e page_size e restituiscono un link nextPage finché ci sono altri risultati. ZOQL restituisce fino a 2.000 record e done: false con un queryLocator per il resto.
Errori comuni: 400 al momento del token significa che Zuora non ha emesso il token: controlla client id e secret e che ZUORA_API_URL sia il data center del tuo tenant. 401 indica client id o secret errati oppure l'host sbagliato. 403 indica che all'utente API manca un permesso. 404 indica un numero o un id errato. Gli errori nelle risposte v1 possono arrivare anche con HTTP 200 e success: false; l'AI legge reasons. 429 significa che è stato raggiunto il limite di Zuora sulle richieste contemporanee per tenant o sulle richieste orarie per utente: aspetta e riprova.
Con i tool attivi all'installazione il connettore non cancella abbonamenti, non incassa pagamenti e non emette rimborsi. Legge il catalogo prodotti ma non crea né modifica prodotti, rate plan o prezzi, non aggiunge metodi di pagamento e non elimina nulla.
Step 2 — Installa l'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
Step 3 — Aggiungi il connettore in Microsoft Copilot
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Microsoft Copilot usa i server MCP tramite gli agenti creati in Copilot Studio: aggiungi AnythingMCP a un agente come strumento, poi pubblichi l'agente in Microsoft 365 Copilot e in Teams. Copilot Studio si collega dal cloud di Microsoft via Streamable HTTP, che AnythingMCP supporta.
- In Copilot Studio apri il tuo agente (o creane uno), vai su Tools e scegli Add a tool → New tool → Model Context Protocol.
- Inserisci un Server name (per esempio
AnythingMCP), una Server description che dica cosa fa il connettore e il Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descrizione per decidere quando chiamare il server. - Come autenticazione scegli API key, imposta Type su Header e come nome dell'header
X-API-Key, poi seleziona Create. - In Add tool scegli Create a new connection, incolla una chiave API MCP di AnythingMCP (MCP Servers → il tuo server → API keys) e seleziona Add to agent.
- Provalo nel riquadro Test dell'agente: chiedi qualcosa che richiede i tool di
Zuora. - Seleziona Publish, poi Channels → Microsoft 365 and Microsoft Teams, lascia selezionato Make agent available in Microsoft Copilot e scegli Add channel. See agent in Teams lo installa per te; in Microsoft 365 Copilot scrivi @ e scegli l'agente.
Preferisci un accesso per ogni utente? Al posto della chiave API scegli OAuth 2.0 → Dynamic discovery: ogni persona accede ad AnythingMCP la prima volta che l'agente lo chiama.
Usi il self-hosting? Usa l'indirizzo HTTPS pubblico della tua istanza al posto di https://cloud.anythingmcp.com. Copilot Studio si collega dal cloud di Microsoft, quindi localhost non funziona.
Tool disponibili
| 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 |
Esempi di prompt
- "Quali account hanno fatture registrate scadute prima del 1° ottobre e ancora aperte? Mostra account, numero fattura e importo residuo."
- "Dammi un riepilogo dell'account A00001234: abbonamenti attivi, ultime fatture e ultimi pagamenti."
- "Mostrami in anteprima quanto costa aggiungere 5 posti del piano Pro all'abbonamento A-S00000120 dal primo del mese prossimo, prima di creare l'ordine."
- "Con una Data Query somma il saldo aperto delle fatture per cliente ed elenca i 10 più alti."
- "Invia di nuovo la fattura INV00004567 in PDF a [email protected]."
FAQ
Per quale Copilot vale? Per Microsoft 365 Copilot in azienda, tramite gli agenti di Copilot Studio. L'app Microsoft Copilot per account personali non permette di aggiungere un proprio server MCP.
Cosa mi serve? Un account di lavoro con accesso a Copilot Studio (licenza o prova) per creare l'agente. Chi lo usa in Microsoft 365 Copilot o in Teams deve avere accesso all'agente: condividilo, oppure chiedi a un amministratore di pubblicarlo per l'organizzazione. Se la tua organizzazione applica criteri sui dati ai connettori di Power Platform, valgono anche per i server MCP.
L'agente non chiama i tool. Controlla che il nome dell'header sia esattamente X-API-Key e che la chiave appartenga allo stesso server MCP dell'URL, e scrivi una Server description precisa: Copilot Studio la usa per decidere quando chiamare il server. Dopo ogni modifica pubblica di nuovo l'agente; in una chat già aperta scrivi "start over" per passare alla nuova versione.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
Questa guida ti è stata utile?