Xero MCP Server

MCP server implementation for Xero integration

Local serverstdioGo

What is the Xero MCP server?

Connect Xero to Claude, Cursor or any other MCP client and it stops being a tab you switch to. MCP server implementation for Xero integration. The xero mcp server is what makes that connection.

What the server does

This is a Model Context Protocol (MCP) server implementation for Xero. It provides a bridge between the MCP protocol and Xero's API, allowing for standardized access to Xero's accounting and business features.

  • Xero OAuth2 authentication with custom connections
  • Contact management
  • Chart of Accounts management
  • Invoice creation and management
  • MCP protocol compliance

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • list-accounts — Retrieve a list of accounts
  • list-contacts — Retrieve a list of contacts from Xero
  • list-credit-notes — Retrieve a list of credit notes
  • list-invoices — Retrieve a list of invoices
  • list-items — Retrieve a list of items
  • list-manual-journals — Retrieve a list of manual journals
  • list-organisation-details — Retrieve details about an organisation
  • list-profit-and-loss — Retrieve a profit and loss report
  • list-quotes — Retrieve a list of quotes
  • list-tax-rates — Retrieve a list of tax rates
  • list-payments — Retrieve a list of payments
  • list-trial-balance — Retrieve a trial balance report

Credentials and setup notes

Configuration is passed through the environment: XERO_CLIENT_ID, XERO_CLIENT_SECRET, XERO_SCOPES, XERO_CLIENT_BEARER_TOKEN. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Node.js (v18 or higher) - npm or pnpm - A Xero developer account with API credentials

Installation

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.

Where it fits

This sits in the payments and commerce group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Xero's toolset — list-accounts, list-contacts, list-credit-notes and 11 more — is a fair guide to whether it matches your workflow. It is maintained by aasimqureshi; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Xero's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Xero.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
list-accountsRetrieve a list of accounts
list-contactsRetrieve a list of contacts from Xero
list-credit-notesRetrieve a list of credit notes
list-invoicesRetrieve a list of invoices
list-itemsRetrieve a list of items
list-manual-journalsRetrieve a list of manual journals
list-organisation-detailsRetrieve details about an organisation
list-profit-and-lossRetrieve a profit and loss report
list-quotesRetrieve a list of quotes
list-tax-ratesRetrieve a list of tax rates
list-paymentsRetrieve a list of payments
list-trial-balanceRetrieve a trial balance report
list-bank-transactionsRetrieve a list of bank account transactions
list-payroll-employeesRetrieve a list of Payroll Employees

How to install the Xero MCP server

{
  "mcpServers": {
    "xero": {
      "command": "npx",
      "args": ["-y", "@xeroapi/xero-mcp-server@latest"],
      "env": {
        "XERO_CLIENT_ID": "your_client_id_here",
        "XERO_CLIENT_SECRET": "your_client_secret_here",
        "XERO_SCOPES": "accounting.invoices accounting.contacts accounting.settings"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js (v18 or higher) - npm or pnpm - A Xero developer account with API credentials
VariableDescriptionRequired
XERO_CLIENT_IDConfiguration value read at startup.Optional
XERO_CLIENT_SECRETCredential the server authenticates with.Yes
XERO_SCOPESConfiguration value read at startup.Optional
XERO_CLIENT_BEARER_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Xero to list-accounts.
  • Use Xero to list-contacts.
  • Use Xero to list-credit-notes.

Frequently asked questions

It connects Xero to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (list-accounts, list-contacts, list-credit-notes, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Xero directly.