Xero MCP for Claude — Setup, Servers and Tools
How to connect Xero to Claude with an MCP server — the official Xero MCP, Claude Desktop setup, the tools it exposes for invoices, bank transactions and financial reports, and the analysis layer that still has to sit on top.
Educational content, not professional advice — AI output and figures here can be wrong. Verify before you rely on it. Full disclaimer →
A Xero MCP server lets Claude read and (depending on the server) write your Xero accounting data — invoices, bills, contacts, bank transactions, and the financial reports — without you exporting anything. This guide covers the server options, the Claude Desktop setup, what tools you actually get, and the work an MCP connector alone still does not do.
Two ways to use this. If you just want it working: connect Xero here — ClaudeFinanceLab runs the OAuth flow and hosts the server, you paste one URL into Claude (about a minute, read-only). If you'd rather run it yourself: the rest of this page covers the self-hosted options, including our open xero-mcp package.
Is there an official Xero MCP server?
Yes. Xero publishes an official MCP server (@xeroapi/xero-mcp-server, distributed on npm) that runs locally over stdio and connects to the Xero API. It exposes a broad tool set — contacts, invoices, quotes, credit notes, payments, bank transactions, manual journals, items, tax rates, tracking categories, payroll (timesheets, leave, employees) and the reporting endpoints (profit and loss, balance sheet, trial balance, aged receivables/payables). It supports two auth modes:
- Custom Connections — a machine-to-machine OAuth flow tied to a single Xero organisation. You create a Custom Connection app in the Xero developer portal and pass the client ID and secret as environment variables. Best for connecting one company's books.
- Bearer-token / multi-tenant — you supply an access token obtained through a standard OAuth 2.0 authorization-code flow, which lets the server act across the tenants that token is scoped to. Best for a practice or an app connecting many organisations.
There are also community and hosted Xero MCP servers (self-hosted Node projects, and no-code hosted connectors from integration platforms). The official server is the reference implementation and the one to start with unless you specifically need hosted multi-tenant infrastructure you do not want to run yourself.
Connecting the Xero MCP to Claude Desktop
- Create a Xero app. In the Xero developer portal, create either a Custom Connection (single org) or a standard OAuth 2.0 app (multi-org). Note the client ID and client secret; for a standard app, complete the OAuth flow once to get an access/refresh token.
- Add the server to
claude_desktop_config.json. Under"mcpServers", add an entry that runs the server vianpxand passes your credentials asenvvalues:{ "mcpServers": { "xero": { "command": "npx", "args": ["-y", "@xeroapi/xero-mcp-server@latest"], "env": { "XERO_CLIENT_ID": "your-client-id", "XERO_CLIENT_SECRET": "your-client-secret" } } } } - Restart Claude Desktop. The Xero tools appear in the tools menu. Ask Claude to list your organisations or pull a report to confirm the connection.
- Scope the permissions. Request only the OAuth scopes you need (
accounting.transactions.read,accounting.reports.read, and so on). Read-only scopes are the safe default; add write scopes only for the specific workflows that need them.
What you can do once it is connected
With the Xero MCP live, Claude can answer questions against your live ledger and draft outputs from it:
- "Pull the profit and loss for the last three months from Xero and tell me which expense categories grew fastest, with the percentage change and the dollar amount for each."
- "List every bank transaction in the last 30 days over $2,000 that has not been reconciled, grouped by contact."
- "Get the aged receivables report from Xero. Draft a chase email for every invoice more than 45 days overdue, referencing the invoice number and amount."
- "Compare this quarter's balance sheet to the same quarter last year and write a two-paragraph movement commentary for the board pack."
- "Find duplicate bills in Xero — same contact, same amount, within 14 days of each other — and list them for review before the payment run."
Where the MCP connector stops
A Xero MCP server is a data-access layer. It returns what Xero holds and, in write mode, creates records in Xero. It does not perform the accounting computations that sit outside the ledger:
- ASC 842 / IFRS 16 lease right-of-use asset and liability schedules
- ASC 606 / IFRS 15 revenue recognition allocation and multi-period schedules
- Multi-jurisdiction VAT/GST reconciliation and net position by jurisdiction
- Depreciation schedules (straight-line, declining balance, MACRS)
- Three-statement forecasts, working-capital analysis, R&D tax credit calculations
That is the layer ClaudeFinanceLab's Accounting MCP covers — 20 purpose-built tools you run alongside the Xero MCP: the Xero server pulls the numbers, the Accounting MCP does the standards-based computation and drafts the commentary. A free API key (100 calls/day, no card) is enough to test the combination on a real month-end.
ClaudeFinanceLab's Xero connector
ClaudeFinanceLab maintains an open, read-only reference Xero MCP server (xero_mcp) alongside the ones above. It handles the OAuth 2.0 refresh-token lifecycle for you and flattens Xero's nested report payloads into readable tables, with tools for P&L, balance sheet, trial balance, invoices and bills, contacts, bank transactions, aged receivables, and a duplicate-bill check. Install it with pip install claudefinancelab-mcp (console script xero-mcp) and run it self-hosted with your own OAuth app credentials and refresh token in the environment. It is built to pair with the Accounting MCP for the computation layer.
Xero MCP vs. a full integration
If you are a CPA firm evaluating connectors across your client base, the MCP route and a traditional integration solve different problems. A platform integration (a post-accounting tool such as Silverfin, or a reporting product) gives you standardised working papers, review workflows and multi-client dashboards. A Xero MCP gives one analyst, in one Claude session, direct conversational access to one or more organisations' data with no new platform to administer. Most firms end up using both — see the full comparison of accounting-firm MCP servers.
Related guides
- Best MCP Servers for Accounting Firms (2026) — QuickBooks, Xero, Silverfin and the intelligence layer compared
- Connect Claude to Silverfin — 20 accounting MCP tools for firms on Silverfin
- The Finance MCP Server Guide — how MCP works and which finance servers exist
- Accounting AI Tools — the broader workflow view
Frequently Asked Questions
Is there an official Xero MCP server?
Yes — Xero publishes @xeroapi/xero-mcp-server on npm. It runs locally, connects to the Xero API, and exposes tools for contacts, invoices, bills, payments, bank transactions, manual journals, payroll and the financial reports (P&L, balance sheet, trial balance, aged receivables/payables). It supports single-organisation Custom Connections and multi-tenant bearer-token auth. Community and hosted alternatives exist, but the official server is the one to start with.
Is the Xero MCP free?
The official Xero MCP server is open source and free to run. You need a Xero developer app (free to create) and, for anything beyond a single org, to complete an OAuth 2.0 flow. Your Xero subscription and its API limits still apply. The only cost is the compute to run the server locally or wherever you host it.
Can the Xero MCP write data back to Xero?
Yes, if you grant write scopes. The official server can create and update records — invoices, contacts, credit notes, manual journals, payments. Default to read-only scopes and add write access only for the specific workflows that need it, since a language model calling write tools against a live ledger needs the same review discipline as a junior bookkeeper.
What does the Xero MCP not do?
It is a data-access layer, not an accounting engine. It will not build ASC 842 lease schedules, run ASC 606 revenue allocation, reconcile multi-jurisdiction VAT, compute depreciation schedules, or produce three-statement forecasts. Those computations sit on top of the ledger data — which is what ClaudeFinanceLab's Accounting MCP adds when run alongside the Xero server.
Does the Xero MCP work with multiple Xero organisations?
Yes, in multi-tenant mode. Supply an access token from a standard OAuth 2.0 authorization-code flow and the server can act across the tenants that token is scoped to — the setup a practice connecting many client organisations would use. Custom Connections, by contrast, are tied to one organisation each.
Connect Claude to live financial data via MCP — EDGAR, FDIC, BIS, CME and 18 more.
New guides & tools — free
Get notified when we add new MCP servers, finance AI guides, and eval results.