All guides
Xero MCP - setup guide

Connect Xero to your AI, with the product open

A real setup guide, not marketing copy - what to click, what Xero's screen asks for, where your connector URL comes from, and exactly how a proposed change gets held for your approval before it ever reaches Xero.

Before you start

What you need before you start

  • A subscription to the Xero MCP connector - Starter, Growth or Business (see pricing). This is a separate product from Invio's own invoicing plans, priced on how many Xero organisations you connect, not on invoicing features.
  • A Xero login with advisor-level, or standard-with-reports, access on every organisation you want to connect. You'll authorise through Xero's own sign-in screen, so this is about what YOUR Xero user can already see - Invio cannot grant you access to an organisation you don't already have it on.
  • An MCP-capable AI client - Claude, ChatGPT (Plus or Pro, with Developer mode turned on), or any other assistant that supports MCP as a remote connector.
  • A few minutes uninterrupted - the Xero sign-in step happens on a real Xero screen, not inside Invio, so you cannot do it half-way and come back later without starting that part again.
Setup

Connect Xero in 7 steps

Works the same on your phone or your computer.

1

Open Settings > MCP

Sign in to Invio, go to Settings, then the MCP tab. You'll see three cards - Invio, Xero, and MYOB (coming soon). This guide covers the middle one.

2

Click Connect Xero

This takes you to Xero's own sign-in and consent screen at login.xero.com - not a page inside Invio. If you're not already signed in to Xero, it asks you to sign in first.

3

Tick which organisation(s) to share

Xero lists every organisation your login can reach and lets you tick more than one before you continue - you do not need to repeat this whole flow once per entity. Xero also shows you, on its own screen, exactly what Invio is asking permission for (see the box below).

4

Land back on Settings, connected

Xero sends you straight back to Invio. The Xero card now lists every organisation you just authorised, each with its own "Connected" badge. Forgot one, or want to add a new entity later? Click Connect another organisation any time - it runs the same Xero screen again and adds to your list without touching what's already connected.

5

Generate your connector URL

Still on the Xero card, give it a label if you like (e.g. "My Claude") and click Generate connector URL. Read the next section before you do this - the URL it gives you is shown exactly once.

6

Add it to your AI client

Claude: click Open in Claude right after generating - it pre-fills the connector for you. ChatGPT (Plus/Pro): turn on Developer mode in Settings, then add the same URL as a custom connector. Any other MCP client: paste the URL wherever it asks for a custom/remote MCP server.

7

Ask a question first

Try something read-only, like "what's outstanding in [organisation name]?" - reads run straight through, no approval needed. Then try asking it to draft an invoice or change a contact, so you see the approval step (below) happen for real before you rely on it.

More than one organisation

Run several Xero organisations?

You can tick more than one organisation on Xero's own screen the first time through (step 3 above) - there's no need to run the whole flow once per entity. Once you're back in Invio, the Xero card lists every organisation you authorised, each with its own badge.

Need to add another one later - a new entity, or one you skipped the first time? Click Connect another organisation on the Xero card any time. It runs Xero's consent screen again and adds to your list; it never touches or re-authorises what's already connected.

If you ever connect more organisations than your plan covers, the ones you connected earliest are the ones that stay usable - your AI assistant will tell you plainly if you ask about one that's currently over your plan's limit, rather than silently failing or guessing.

Step 5, in detail

Your connector URL - shown once

When you click Generate connector URL, Invio creates a new, private link for this connection and shows it to you exactly once, in an amber box right on the Xero card. Copy it there and then - refresh the page, or navigate away, and it is gone for good (though your connection to Xero itself is unaffected - you would just need to generate a new URL).

The trap: the URL is the key, not an id next to it

Generating a connector genuinely returns two different things - an internal id, and the connector URL. Only the URL is what you paste into Claude, ChatGPT or any other client; the URL's last segment IS the actual key. On the Settings screen you will only ever see the URL (never a bare id next to it, on purpose), so following the screen itself avoids this - but it's worth knowing, because this exact mix-up has caught someone holding full context before: they copied the id, not the URL, and nothing worked until they went back and copied the right field.

Treat the URL like a password - anyone who has it can act as this connection inside Invio's guardrails (reads, and drafts that still need your approval - see below). You can see every connector URL you've ever generated in the "Active connectors" list below the amber box (label and dates only, never the URL itself again), and revoke any one of them instantly.

Step 6, in detail

Add it to Claude, ChatGPT, or anything else

Claude

Click Open in Claude right after generating your URL - it pre-fills the "add custom connector" screen for you. Or add it yourself: Settings → Connectors → Add custom connector, paste the URL.

ChatGPT (Plus/Pro)

Turn on Developer mode in Settings, then add the same URL as a custom connector.

Any other MCP client

If it supports MCP as a remote connector, paste the URL wherever it asks for one. We say plainly if a particular client hasn't been tested yet rather than promise a guide that isn't ready.

Using Claude Code, not just claude.ai in a browser?

A connector you add in claude.ai also shows up in Claude Code, but it does not work there automatically - Claude Code authorises each connector separately. In a Claude Code session, run /mcp, pick the Xero connector from the list, and approve it there too. Until you do, the tools are listed but calling one is refused.

A second, dead entry in Claude's desktop app (Cowork)

If you added this connector to Claude's desktop app before the connector was actually live, that attempt is left behind as a stale entry that never connects, sitting next to the working one you added afterwards. It does not fix itself. Open Claude's connector settings, find the older, non-working Xero entry, and remove it - keep the one that actually connects.

How writes reach Xero

How approving a write actually works

Reads - invoice lists, a single invoice, contacts, profit & loss, balance sheet, who owes you money - run straight through. There is nothing to approve for a question.

A write - your assistant drafting a new invoice, or proposing a contact change - is different by design. It does not reach Xero. Invio holds it as a pending change and it appears in Settings → MCP, under the Xero card, showing the exact organisation, a plain-language summary, and the exact payload Invio would send. You choose Approve & send to Xero or Reject.

Approving asks you to confirm a second time, because it is irreversible the moment it happens - once you approve, Invio sends it to Xero and tells you plainly whether it succeeded. Rejecting throws the proposal away with a lighter confirmation; it was never going to change anything either way. If you leave a proposal untouched, it expires 24 hours after your assistant drafted it, and nothing happens to your Xero organisation on its own.

If a write ever fails to reach Xero, or is still in the middle of sending, it does not just vanish - it shows up in a separate "Needs your attention" section on the same screen until you've seen it.

Why we do it this way: a ledger is not a chat window. Your assistant can be fast and useful at drafting - it should never be the thing that decides what actually lands in your books.
If you need to stop

Disconnecting Xero

Two levels, depending on what you actually want to stop:

Revoke one connector

Settings → MCP → Xero → find it under "Active connectors" → Revoke. That one AI client loses access immediately; your Xero connection and any other connector URLs you've generated are untouched.

Disconnect Xero entirely

Settings → MCP → Xero → Disconnect Xero. Every connector loses access to every organisation immediately, and anything sitting in your approval queue is cancelled. Your Invio invoicing data - invoices, clients, quotes - is not affected either way.

Common questions

Questions about setup

I generated a URL and didn't copy it in time - what now?
Go back to Settings > MCP > Xero and click Generate connector URL again. This does not affect any connector URL you already created and are using - each one works independently, and you can see every one you've generated (minus the URL itself) in the "Active connectors" list, with its own Revoke button.
Do I need advisor access on every organisation, or just one?
Every organisation you want to connect - Xero's consent screen only offers you organisations your own login already has advisor-level, or standard-with-reports, access to. If one you expected is missing from the list, that's a Xero permissions question, not an Invio one.
What happens if I revoke a connector while my AI is mid-conversation?
It loses access on its very next call. Revoke any connector from Settings > MCP at any time - there is no separate confirmation step or delay, and it does not touch your underlying Xero connection or any other connector URL you've generated.
Does disconnecting Xero affect my Invio invoicing?
No. Disconnecting Xero (Settings > MCP > Xero > Disconnect Xero) removes every connector's access to your Xero organisations immediately and cancels anything waiting in your approval queue - it has no effect on your own Invio invoices, clients or quotes.
Get started

Not subscribed yet?

Choose and buy a plan right on the Xero card in Settings - no need to open a second page. It shows all three plans with their prices and a checkout button on each; picking one takes you straight into Xero's sign-in screen from step 3 above.

Set up the Xero MCP connector - step-by-step guide | Invio