Xero MCP Server

The official Xero MCP server: an agent reads invoices, contacts, journals and reports and creates invoices, payments and timesheets

  • 390 ★ on the repository
  • Last commit
  • MIT
MCP serverOfficialEditors’ pick

Broad access

Why this level

  • The token opens an organisation's real financial data: invoices, payments, bank transactions and employee payroll records
  • The agent creates and changes invoices, payments, journals and timesheets, and those changes affect the organisation's real data
All reasons and checks

xeroapi/xero-mcp-server

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/xero-mcp-server

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The token opens an organisation's real financial data: invoices, payments, bank transactions and employee payroll records
  • The agent creates and changes invoices, payments, journals and timesheets, and those changes affect the organisation's real data

This is third-party code. Review the repository files before installing.

What it does

Xero MCP Server connects an agent to the Xero accounting system through its API. Xero itself publishes the server. It lets Claude Desktop and other MCP clients read an organisation's data and make changes on a plain-language request. For reading it exposes the chart of accounts, contacts, contact groups, invoices, credit notes, quotes, payments, bank transactions, manual journals, items, tax rates and tracking categories. Reports include profit and loss, the balance sheet, the trial balance and aged receivables and payables by contact. For payroll the server returns employees, timesheets, leave types, balances and leave periods. For writing it creates and updates contacts, invoices, credit notes, quotes, payments, bank transactions and manual journals, as well as tracking categories and their options. For timesheets it can create, add lines, approve, revert and delete. Only draft invoices, quotes and credit notes can be updated.

Who it is for. For accountants, small business owners and developers who work in Xero and want to ask about invoices, payments and reports from Claude Desktop or another MCP client.

Good fit when

  • You want a profit and loss report or balance sheet from Xero and to go through it in conversation
  • You need to find which customers have overdue balances, using aged receivables
  • The agent should prepare a draft invoice or quote for a contact
  • You want to check bank transactions and payments for a period and match them to invoices
  • For the payroll module in the NZ or UK region you need to see timesheets and leave balances and approve a timesheet

Not a fit when

  • Your books are not in Xero: the server works only with the Xero API
  • You need several organisations with no repeat authorization: the bearer token mode is meant for that, while Custom Connections mode is tied to one organisation
  • You need payroll queries in another region: for payroll queries the organisation's region must be NZ or UK
  • A client's working data must not be shown to an outside model: the server passes the contents of the books to the agent and the model

Example request

Show the profit and loss report for last quarter, find customers with overdue invoices and prepare a draft invoice for the biggest debtor.

MCP

Transport
stdio
Authentication
OAuth

Environment variables

XERO_CLIENT_ID required
Client ID from a Xero Custom Connection
XERO_CLIENT_SECRET required, secret
Client secret from a Xero Custom Connection
XERO_CLIENT_BEARER_TOKEN secret
Access token for the client-side sign-in mode, takes priority over the client ID
XERO_SCOPES
Space-separated list of scopes that replaces the default set

Limitations

It needs Node.js 18 or newer and a Xero developer account with API credentials. To begin, the author advises the Demo Company with sample data, which can be reset and switched to another country. Payroll queries work only in the NZ and UK regions.

Two ways to sign in are supported. Custom Connections suits development and clients such as Claude Desktop, with credentials tied to one organisation. Bearer token mode is for when the client runs the sign-in itself, for example with PKCE, and serves several Xero accounts. The token takes priority over the client ID.

The permission set depends on when the connection was created: before April 29, 2026 the SCOPES_V1 set is needed, and from that date SCOPES_V2 with more granular rights. The server tries V1 and falls back to V2, and you can set the list by hand in the `XERO_SCOPES` variable. Some older scopes are marked deprecated. If Node.js is installed through nvm, put the full path in place of `npx`. Availability of Xero from Russia is unconfirmed.

How to disable. Delete the xero entry from claude_desktop_config.json and restart Claude Desktop. In the Xero developer portal delete or disable the Custom Connection to cut access through the issued credentials.

FAQ

How do I connect Xero to Claude Desktop?

Create a Custom Connection in the Xero developer portal, then add an xero server to claude_desktop_config.json with the command npx, the arguments -y and @xeroapi/xero-mcp-server@latest and the variables XERO_CLIENT_ID and XERO_CLIENT_SECRET. Restart Claude Desktop.

Is this the official Xero server?

Yes, the repository belongs to the XeroAPI organisation, meaning Xero itself. The author recommends starting with the Demo Company so you do not touch working data.

What two sign-in modes does the server have?

Custom Connections with a client ID and secret for one organisation, and the XERO_CLIENT_BEARER_TOKEN token when the client runs the sign-in itself. If the token is set, it takes priority over the client ID.

What if I get permission errors?

The permissions depend on when the Custom Connection was created. The server tries the old set and falls back to the new one, and you can set the list by hand in XERO_SCOPES separated by spaces. Add every scope from the matching list to the connection.

Does the server work with payroll?

Yes, but only if the organisation's region is NZ or UK. Employees, timesheets, leave types and balances are available, and for timesheets also creating, editing lines, approving, reverting and deleting.

Discussion

No questions or reviews yet.

Official

Intuit's official local MCP server: an agent finds and creates invoices, payments and customers in QuickBooks Online

MCP serverBroad access445Repository stars

An MCP server for Actual Budget: agents read accounts and transactions, build spending reports and, with a flag, edit categories.

MCP serverExtended access279Repository stars
Official

The server gives agents read access to your bank accounts and transactions through Enable Banking, without payment tools.

MCP serverExtended access306Repository stars
Official

BeeCount Cloud MCP is an MCP server for personal bookkeeping, with separate permissions to read reports or change transactions.

MCP serverExtended access202Repository stars
Official

SolidInvoice's built-in MCP server: an agent reads invoices, clients and payments and, once allowed, creates new invoices.

MCP serverBroad access982Repository stars

Financial Datasets MCP

Financial Datasets MCP Server

Official

An MCP server for the Financial Datasets API: company financials, stock and crypto prices and news for the agent

MCP serverExtended access2.3KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Xero MCP Server (this card)yesOAuth390
QuickBooks Online MCP ServeryesOAuth445Intuit's official server for QuickBooks Online, a different accounting system
freee-mcpyesOAuth515the official server for Japan's freee platform with accounting and payroll

README in short

The README lists the features (OAuth2 sign-in, contacts, chart of accounts, invoices), requirements and links to Xero documentation. It covers both sign-in modes with configuration examples, a table of scopes by connection creation date and the full list of server commands. It ends with a developer section about building and connecting a local version and a reminder not to commit the `.env` file.

README badge

Report a problem

Foxx AIXero MCP Server
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.