Xero MCP: Documentation
Updated:
Connection
npx -y @xeroapi/xero-mcp-server@latest (stdio). Two modes:
- Custom Connections —
XERO_CLIENT_ID/XERO_CLIENT_SECRETscoped to a single organisation (set up in Xero Developer); recommended for testing and Claude Desktop. Optionally setXERO_SCOPESfor a precise permission set. - Bearer token — the
XERO_CLIENT_BEARER_TOKENvariable (takes priority over Client ID) if your MCP client runs its own OAuth/PKCE flow and supports multiple accounts.
To start with no risk to real data, create a free Xero account and switch to the built-in Demo Company — it can be reset at any time.
Tools
50+ list-*/create-*/update-* commands: contacts and contact groups, invoices, credit notes, quotes, bank transactions, manual journals, tracking categories, chart of accounts, tax rates, aged receivables/payables by contact, P&L/balance sheet/trial balance reports, plus payroll — employees, leave (records, balances, types), leave periods, timesheets.
Agent flow
"Create an invoice for Bright Design Co for £640", "show me this quarter's P&L", "what's contact X's aging debt breakdown?", "add a new tracking category called Marketing".
Important
The server operates on the organisation's real books — invoices and journals are visible to your accountant and affect reporting. Test on the Demo Company or a separate organisation with a Custom Connection before connecting a live account.
Pricing
The MCP server is free (open source); access to Xero itself follows Xero's pricing plans (a free trial is available on signup).