Xero holds your financial data. Claude can reason about it, pull reports, create invoices and answer questions in plain language. The bridge between them is MCP.
MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data sources. Xero released an official MCP server in May 2026, and it works. But it has a limitation that matters if you run more than one Xero organisation: it connects to one entity at a time.
This guide covers both approaches. We'll start with the official Xero MCP for single-entity setups, then explain how multi-entity access works for businesses running multiple orgs.
What MCP does for accounting
Without MCP, getting financial data into Claude means exporting CSV files, copying numbers from Xero reports or describing your data in text. MCP changes this. Claude connects directly to Xero's API and can:
- Pull profit and loss, balance sheet and trial balance reports
- Query invoices, bills, contacts and bank transactions
- Create invoices and draft bills
- Post manual journals
- Manage contacts and payment records
- Run aged receivables and payables reports
The data is always live. No exports. No stale spreadsheets.
Setting up the official Xero MCP
The official Xero MCP server is published by XeroAPI as an npm package. It supports 60+ commands covering contacts, invoices, payments, journals, bank transactions and financial reports.
Prerequisites
You need Node.js v18 or later and a Claude Desktop or Claude Cowork subscription. The MCP server runs locally on your machine as a background process that Claude communicates with.
Step 1: get your Xero credentials
The official MCP server uses OAuth2 bearer token authentication. You'll need a Xero app registered in the Xero Developer Portal with the appropriate scopes. For apps created after March 2026, Xero requires granular scopes rather than the broad accounting.transactions scope. The key ones are:
accounting.contactsfor customer and supplier dataaccounting.invoicesfor invoice managementaccounting.paymentsfor payment recordsaccounting.banktransactionsfor bank feedsaccounting.reports.balancesheet.read,accounting.reports.profitandloss.read,accounting.reports.trialbalance.readfor financial reports
Step 2: configure Claude Desktop
Open Claude Desktop, go to Settings, then Developer, then Edit Config. This opens claude_desktop_config.json. Add the Xero MCP server to the mcpServers block:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your-access-token-here"
}
}
}
}
Save the file, fully quit Claude Desktop (right-click dock icon, Quit) and relaunch. A simple close and reopen isn't enough for new MCP servers to load.
Step 3: enable the connector
Open a new chat, click the + button, go to Connectors and enable Xero. You should now be able to ask Claude about your Xero data.
The single-entity limitation
The official MCP connects to one Xero organisation per session. If you run multiple entities (and many businesses do), you need to go to Settings, then Connectors, reconnect and select the other organisation through the Xero OAuth picker. Every time you switch.
For a bookkeeper managing three entities, this is manageable. For a property manager with 12 SPVs or an investment firm with 10 fund entities, it's a blocker. You can't query across entities, reconcile intercompany transactions or run consolidated reports.
Multi-entity access with ELab's Xero MCP
ELab built a Xero MCP specifically for businesses running multiple Xero organisations. It connects all your entities from a single Claude session.
What's different
The core Xero API coverage is the same. What changes is the infrastructure around it:
Multi-entity in one session. Authenticate once with an account that has access across your entities (advisor-level or admin). All organisations are accessible without switching connectors.
Hosted infrastructure. The MCP server runs on managed infrastructure, not on your local machine. Token refresh is automatic. You don't need to manage Node.js processes or keep a terminal running.
Pre-built finance workflows. The Business tier includes workflows for cross-entity reconciliation, cost apportionment, intercompany journals and AP automation. These are Claude "skills" that orchestrate multi-step operations across your connected entities.
Audit trail. Every write operation logs the timestamp, the user who initiated it and what changed. This matters for compliance: when Claude creates an invoice or posts a journal, the audit trail shows who asked for it.
How the auth works
ELab's MCP uses Xero's OAuth PKCE flow. The authenticating user needs advisor-level access across the entities you want to connect. Standard access works for single-entity setups but won't cover multiple orgs.
Once authenticated, the refresh token rotates automatically. You authenticate once and the connection persists. No 30-minute token expiry to manage.
When to use which
If you run a single Xero organisation and want to try AI-powered accounting, the official Xero MCP is a good starting point. It's free and covers the full Xero API.
If you run multiple Xero organisations and need cross-entity access, ELab's Xero MCP is built for that. It adds multi-entity management, hosted infrastructure and pre-built workflows on top of the same Xero API coverage.
The decision comes down to entity count. One org: start with the official MCP. Multiple orgs: you'll hit the single-entity wall quickly and want multi-entity access from the start.
What you can do once connected
Regardless of which MCP you use, once Xero is connected to Claude, accounting work changes. Instead of navigating the Xero UI, exporting reports and building spreadsheets, you describe what you need:
"Pull the aged receivables over 60 days across all entities."
"Create an invoice for Knight Corp, $4,500 for advisory services, due in 14 days."
"Show me the P&L for the last quarter and compare it to the same period last year."
"Post a management fee journal of $2,000 from Entity A to Entity B."
Claude executes the operations through the Xero API and returns the results. For read operations, that's instant. For write operations, the data goes straight into Xero. No copy-paste. No re-keying.
The real shift is in how finance teams spend their time. The manual data entry and report generation that fills hours each week is handled by Claude. The thinking, the analysis, the decisions that require human judgement still sit with the people who understand the business.
Get started
Read more about managing multiple Xero organisations with AI or go straight to the Xero MCP product page to see pricing and sign up.