← All integrations

Xero MCP server

39 operations0 webhooks

Cloud accounting API for invoices, contacts, payments, bank transactions, credit notes, quotes, purchase orders, journals, reports, and files.

Try Xero with your agent

Connect Xero, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.

Using Corsair, show me what you can do in Xero on my account, then run one read-only example and show me the result.

Runs once, when you ask

Xero tools and triggers

Tools are what your agent can do in Xero through Corsair's MCP server. Triggers are the Xero events a routine can start from.

Invoices

  • CreateWrite

    Create a new invoice in Xero (sales invoice or bill)

    invoices.create

  • GetRead-only

    Retrieve a specific invoice by ID from Xero

    invoices.get

  • ListRead-only

    Retrieve a list of invoices from Xero

    invoices.list

  • UpdateWrite

    Update an existing invoice in Xero

    invoices.update

Contacts

  • CreateWrite

    Create a new contact in Xero

    contacts.create

  • ListRead-only

    Retrieve a list of contacts from Xero

    contacts.list

  • UpdateWrite

    Update an existing contact in Xero

    contacts.update

Items

  • CreateWrite

    Create an inventory item in Xero

    items.create

  • GetRead-only

    Retrieve a specific item by ID from Xero

    items.get

  • ListRead-only

    Retrieve items (inventory/products) from Xero

    items.list

Purchase Orders

  • CreateWrite

    Create a purchase order in Xero

    purchaseOrders.create

  • GetRead-only

    Retrieve a specific purchase order by ID from Xero

    purchaseOrders.get

Connect Xero to Claude, ChatGPT or Cursor

  1. 1

    Connect Xero in Corsair

    Sign in to Xero or add an API key once in Corsair. Corsair stores the credential encrypted and makes the Xero API calls for your agent, so it never goes into a prompt or a config file. Connect Xero

    If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs Xero. On a ChatGPT personal plan, connect Xero here first.

  2. 2

    Add Corsair's MCP server to your agent

    Every client uses the same address:

    https://mcp.corsair.dev/mcp
    Open Customize → Connectors → Add custom connector, paste the address, then select Connect.

    Codex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client

  3. 3

    Sign in and choose what needs your approval

    Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. None of Xero's operations are destructive, so in the default Cautious mode they all run right away. Strict mode asks before each of its 9 writes, and Read mode allows reads only.

FAQ

Install corsair and @corsair-dev/xero, add the Xero plugin, and connect with an API key or OAuth. Then call methods like corsair.xero.api.accounts.get() from your app. Corsair stores tokens, and syncs data per tenant.

Yes. Xero supports an API key or OAuth. Use credentials or OAuth scopes that match what you automate. Create them in the Xero developer console, then paste into Corsair or connect through managed auth in Hub.

Yes. One Corsair client can hit Xero, GitHub, Notion, Stripe, and the rest. Trigger Xero from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.

Teams use Corsair for cloud accounting api for invoices, contacts, payments, bank transactions, credit notes, quotes, purchase orders, journals, reports, and files. Common builds include sync jobs, admin tooling, and agents that call Xero APIs from your backend. Local DB entities let you query synced Xero records without hitting the API on every read.

The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per Xero API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.

We maintain @corsair-dev/xero in the open repo. When Xero ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.

No. Corsair does not read your Xero data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store Xero data on your behalf.

Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.

Yes. Put Xero on a link in Strict mode and every write waits for your approval, while destructive actions are refused. None of the Xero operations are destructive, so the default Cautious mode runs them all without asking. You can change a link's mode at hub.corsair.dev/me.