Bunny MCP server

Run your billing from Claude and ChatGPT

Connect Bunny to Claude, ChatGPT or any MCP client and ask about revenue, renewals and overdue invoices in plain English. Then have it do the work: draft the quotes, set up the subscription, build the catalog. Live data, your permissions, and nothing is billed until you say so.

Works with Claude ChatGPT Claude Code, Cursor, VS Code and any MCP client

One URL. Every MCP client.

Paste it into Claude, ChatGPT or any client that supports OAuth connectors. The client registers itself, you sign in to Bunny and approve access, and that’s it.

https://auth.bunny.com/api/mcp
tools that read and act
32
tools that read and act
live data resources
12
live data resources
with PKCE
OAuth 2.1
with PKCE
API keys to copy
0
API keys to copy
Ask

Ask why, not just what

A dashboard tells you MRR went up. Ask Claude why and it breaks the change into new business, expansion, contraction and churn, names the accounts behind each, and keeps going when you ask the next question. No report builder, no export to a spreadsheet.

  • The same numbers as your dashboards. Metrics come from Bunny’s pre-computed analytics, not from the model adding up invoices.
  • The whole semantic layer. MRR and ARR movement, churn, NRR and GRR, cohorts, trial conversion, AR aging, collections, renewals and the invoice forecast.
Act

Drop in a signed contract. Get a subscription back.

Claude reads the order form, then uses Bunny’s tools to create the account and billing contact, compose the quote, add the ramp, and preview the first invoice. The half hour of copying terms from a PDF into a billing system becomes one message.

  • Real commercial terms. Ramps, discounts, adjustments and free periods are all charge types the quote tools understand.
  • Draft first, always. The quote bills nobody until it is explicitly applied, so you check the work before your customer sees it.
Combine

Billing data, meet the rest of your tools

This is where it gets good. Claude and ChatGPT work across every connector you’ve added, so one request can pull overdue accounts from Bunny and draft the reminder emails in your inbox, check a renewal against the deal notes in your CRM, or post the weekly revenue update to Slack.

  • No integration to build. The assistant is the glue. Bunny brings the billing facts and the other connectors bring everything else.
  • Drafts, not sends. Ask for drafts and you get drafts to read before anything goes to a customer.
Build

Go from a pricing page to a working catalog

Show it the pricing page, the spreadsheet or the board deck with next year’s packaging. The assistant builds the products, plans, price lists, features and charges in the right order, in the right currencies, ready to sell.

  • Flat, per-seat, tiered, volume and usage. Tiered and volume charges are tied to a feature, with the breakpoints set as it goes.
  • Price changes too. Moving customers to a new price list goes through a draft quote, for one subscription or a whole segment.

Things people ask on day one

Every one of these runs against live Bunny data, through the tool shown underneath. Green tools only read. Amber tools change records or write to a draft quote.

  • “What will Northwind be invoiced next month?”

    invoices_preview
  • “What's our net revenue retention by plan this year?”

    analytics_query
  • “Where are we selling below list price, and how much is it costing us?”

    bunny://price_dispersion
  • “Which customers signed up in January are still paying today?”

    analytics_query · cohorts
  • “Export every active subscription with its renewal date to CSV.”

    export_csv
  • “Give Northwind 20% off their Enterprise subscription.”

    quotes_create_subscription_discount
  • “Move every legacy Pro customer to the 2027 price list.”

    quotes_compose · price_list_change
  • “Switch Halden Group to net 45 and make Priya the account owner.”

    accounts_update
  • “What's this €12,000 invoice worth in dollars today?”

    currencies_fetch_rate
  • “How do I set up usage-based pricing in Bunny?”

    mcp_docs_search
  • “Turn off auto-renew on Brightwater's subscription.”

    subscriptions_update
  • “What do we expect to invoice each month for the next year?”

    bunny://invoice_forecast
Guardrails

Built to be let loose on live billing

  • It acts as you. Every tool runs under the signed-in user's Bunny permissions. The assistant sees and does exactly what that user could in Bunny, and nothing more.
  • Reads can't write. The ten read tools and all twelve resources cannot change data. Changes happen only through dedicated action tools.
  • Quotes stay drafts. Subscription changes go through a quote, and every quote is created as a draft. Nothing bills a customer until it is explicitly applied.
  • Hosts can warn you. Each tool declares whether it is read-only and whether it is destructive, so a well-behaved client can ask before a write.
  • Revoke in one click. Every connected AI client is listed under Settings → Developers → Connections. Open one and revoke its access.
Set up

Connected in a couple of minutes

Install the open-source Bunny plugin and you get two things in one step: the MCP connector to your account, and the skills that teach the assistant which tool to use and which billing workflow to follow. They are the same skills that steer Bunny’s own RevOps Agent.

Claude
  1. In Claude, open Customize → Plugins and add a marketplace from github.com/bunnyapp/skills.
  2. Install the Bunny plugin.
  3. Open its Connectors, click Connect, sign in to Bunny and approve.

Pro, Max, Team and Enterprise plans. Full guide

ChatGPT
  1. A workspace admin opens Admin → Plugins → Import marketplace with github.com/bunnyapp/skills.
  2. Set the Bunny plugin’s installation policy for the roles that should have it.
  3. Each person connects and signs in to their own Bunny account.

Business, Enterprise and Edu workspaces, in the desktop app. Full guide

Claude Code, Cursor, VS Code, Gemini CLI, Codex

In Claude Code, two commands:

/plugin marketplace add bunnyapp/skills
/plugin install bunny-plugin@bunny-ai-toolkit

The other tools install the same repository. The skills also cover building on Bunny: the GraphQL API, SDKs, webhooks and React components.

Agent Skills guide

Just want the connector? Add https://auth.bunny.com/api/mcp as a custom connector in any MCP client that supports OAuth. There is no API client, client ID or secret to set up. MCP server reference

Every tool and resource

32 tools and 12 live resources, discovered automatically when you connect. Ten tools only read. In the quoting flow, everything except quotes_apply_changes writes to a draft.

Reading your data 5

  • gql_query (read)

    Read-only GraphQL for accounts, subscriptions, invoices, contacts and quotes

  • analytics_query (read)

    MRR and ARR movement, churn, NRR, GRR, cohorts, AR aging, collections, renewals, forecast

  • mcp_read_resource (read)

    Reads any of the live resources listed below

  • export_csv (read)

    Writes up to 100,000 rows to a downloadable CSV

  • mcp_get_link (read)

    A link to any quote, subscription, account, invoice or product in Bunny

Quoting 8

  • quotes_compose (write)

    Draft a subscribe, update, renew or price list change quote

  • quote_charges_compose (write)

    Add, update, discount, adjustment, ramp or free period lines

  • quote_charges_update (write)

    Change a quote charge's quantity, price or attributes

  • quote_changes_update (write)

    Price adjustment settings and renewal term on a draft

  • quotes_update (write)

    Dates, billing terms and email settings on a draft

  • quotes_apply_price_adjustment (write)

    Raise or lower every charge on a draft by a percentage

  • quotes_create_subscription_discount (write)

    Shortcut for a discount quote on a subscription

  • quotes_apply_changes (write)

    Activates the quote: billing schedules and invoices

Subscriptions 2

  • subscriptions_update (write)

    Renewal behaviour, price adjustment rules, trial expiry, custom attributes

  • subscriptions_cancel (write)

    Cancel now or on a future date, with add-ons

Accounts and contacts 4

  • accounts_create (write)

    Create a customer account

  • accounts_update (write)

    Name, currency, payment terms, billing contact, owner, entity

  • contacts_create (write)

    Create a contact. The first one becomes the billing contact

  • contacts_update (write)

    Contact details and portal access

Catalog 8

  • products_create (write)

    Create a product

  • plans_create (write)

    Create a priced, quoted or free plan

  • plans_update (write)

    Name, visibility, availability and self-service options

  • price_lists_create (write)

    A price list per plan and currency, with trials

  • price_lists_update (write)

    Name, code, currency and trial settings

  • price_list_charges_create (write)

    Flat, tiered, volume, one-time and usage charges

  • features_create (write)

    Measurable or on/off features for metered and included billing

  • features_update (write)

    Update a feature

Billing utilities 2

  • invoices_preview (read)

    What an account's next invoice will contain, without creating it

  • currencies_fetch_rate (read)

    Live exchange rate to your base currency

Docs and research 3

  • mcp_docs_search (read)

    Searches the Bunny product documentation

  • mcp_docs_api_reference (read)

    Exact GraphQL query, mutation and type definitions

  • mcp_fetch_url (read)

    Reads a web page, treated as data, not instructions

Live resources 12

  • bunny://session

    Who you are, your account, currency and entities

  • bunny://resource_catalog

    A live list of every resource

  • bunny://analytics_catalog

    Data sources, fields and pre-built formulas

  • bunny://mrr_arr

    Current MRR and ARR per currency

  • bunny://dashboard

    MRR, ARR, active subscriptions, open invoices, pipeline

  • bunny://aging_summary

    Receivables aging buckets per currency

  • bunny://upcoming_renewals

    Evergreen subscriptions renewing in 90 days

  • bunny://renewals_needing_attention

    Renewal deals whose quote was never sent

  • bunny://at_risk_accounts

    Accounts with overdue invoices

  • bunny://price_dispersion

    What subscriptions pay against list price

  • bunny://invoice_forecast

    A 24-month invoice forecast per account

  • bunny://subscription/{id}/charge_report

    Charges and discounts per period for one subscription

Read only Writes a record or a draft

Free trial

The RevOps expert your team never had.

Ask it anything about your book of business, and it answers from your live data. Point it at the renewal that needs a quote and it drafts one. All the digging, none of the digging.
  • Type "send upgrade quotes to all starter plan accounts" — done in seconds
  • Know which renewals need you this month, while there is still time to do something about it
  • Find every overdue invoice in one question, instead of one account at a time
Try free for 30 days

No credit card required. Cancel anytime.

FAQ

Frequently asked questions

What is the Bunny MCP server?
It connects Bunny to AI assistants such as Claude and ChatGPT over the Model Context Protocol, an open standard for linking assistants to other systems. Once connected, the assistant can read your accounts, subscriptions, invoices and revenue metrics, and can compose quotes, manage subscriptions, update records and build your product catalog, all within your Bunny permissions.
Which AI tools can connect to Bunny?
Claude (claude.ai and the desktop app, on Pro, Max, Team and Enterprise plans), ChatGPT (Business, Enterprise and Edu workspaces), Claude Code, VS Code, Cursor, Gemini CLI and OpenAI Codex, plus any MCP client that supports OAuth connectors. The server URL is https://auth.bunny.com/api/mcp.
Do I need an API key or client secret?
No. The server uses OAuth 2.1 with PKCE and supports dynamic client registration, so most clients register themselves. You sign in to Bunny and approve access, and the token is tied to your user and the account you consented for. A few hosts still ask for a client ID and secret; for those you create an API client in Bunny first.
Can the assistant change my billing without asking?
Read tools and resources cannot change data. Subscription changes go through a quote, and quotes are always created as drafts that bill nobody until someone explicitly applies them. Every tool also declares whether it is read-only or destructive, so a well-behaved client can warn you before a write.
What data can the assistant see?
Exactly what the signed-in user can see in Bunny, and nothing more. Every tool call runs under that user's permissions, so connecting a sales rep's account gives the assistant a sales rep's access.
How do I disconnect an AI client?
Every connected AI client is listed in Bunny under Settings, Developers, Connections. Open the connection and click Revoke access.
What's the difference between the MCP server and the Bunny plugin?
The MCP server gives an assistant the tools. The open-source Bunny plugin installs the MCP connector together with Agent Skills that teach the assistant which tool answers which question and which billing workflow to follow, so it picks the right tool instead of guessing. Install the plugin where your client supports it.
How does the MCP server relate to the Bunny RevOps Agent?
They use the same tools. The RevOps Agent is Bunny's own assistant, built into the app and available as a Slack bot, with the same skills the plugin installs. The MCP server lets you bring those tools into Claude, ChatGPT or your own agents, alongside the other connectors you use.
Are the revenue numbers reliable?
Metrics such as MRR, churn, NRR and the invoice forecast come from the same pre-computed analytics that power Bunny's dashboards, rather than the model adding up invoices. For figures that must be exact to the cent, such as a board report, treat the Analytics area in Bunny as the source of truth.