// may the 4th be with you⚔️
finance

Xero

by xeroapi

Xero enables seamless financial data integration and accounting operations via xero software and OAuth2 for automated wo

Provides a bridge to the Xero accounting API, enabling financial data interactions and accounting operations through OAuth2 custom connections for automated workflow management.

github stars

204

0 commentsdiscussion

Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.

Direct Xero API integrationSupports demo company data for testing

best for

  • / Accountants automating bookkeeping tasks
  • / Businesses integrating accounting with other systems
  • / Developers building financial workflow automation

capabilities

  • / Manage customer and vendor contacts
  • / Create and update invoices
  • / Access chart of accounts data
  • / Query financial transactions
  • / Authenticate via OAuth2 custom connections

what it does

Connects to Xero's accounting API to manage financial data like contacts, invoices, and chart of accounts. Uses OAuth2 authentication to access Xero organizations.

about

Xero is an official MCP server published by xeroapi that provides AI assistants with tools and capabilities via the Model Context Protocol. Xero enables seamless financial data integration and accounting operations via xero software and OAuth2 for automated wo It is categorized under finance.

how to install

You can install Xero in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Xero is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Xero MCP Server

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.

Features

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

Prerequisites

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

Docs and Links

Setup

Create a Xero Account

If you don't already have a Xero account and organisation already, can create one by signing up here using the free trial.

We recommend using a Demo Company to start with because it comes with some pre-loaded sample data. Once you are logged in, switch to it by using the top left-hand dropdown and selecting "Demo Company". You can reset the data on a Demo Company, or change the country, at any time by using the top left-hand dropdown and navigating to My Xero.

NOTE: To use Payroll-specific queries, the region should be either NZ or UK.

Authentication

There are 2 modes of authentication supported in the Xero MCP server:

1. Custom Connections

This is a better choice for testing and development which allows you to specify client id and secrets for a specific organisation. It is also the recommended approach if you are integrating this into 3rd party MCP clients such as Claude Desktop.

Configuring your Xero Developer account

Set up a Custom Connection following these instructions: https://developer.xero.com/documentation/guides/oauth2/custom-connections/

Currently the following scopes are required for all sessions: scopes

Integrating the MCP server with Claude Desktop

To add the MCP server to Claude go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json file:

{
  "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"
      }
    }
  }
}

NOTE: If you are using Node Version Manager "command": "npx" section change it to be the full path to the executable, ie: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx on Mac / Linux or "your_home_directory\.nvm\versions\ ode\v22.14.0\bin\ px" on Windows

2. Bearer Token

This is a better choice if you are to support multiple Xero accounts at runtime and allow the MCP client to execute an auth flow (such as PKCE) as required. In this case, use the following configuration:

{
  "mcpServers": {
    "xero": {
      "command": "npx",
      "args": ["-y", "@xeroapi/xero-mcp-server@latest"],
      "env": {
        "XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
      }
    }
  }
}

NOTE: The XERO_CLIENT_BEARER_TOKEN will take precedence over the XERO_CLIENT_ID if defined.

Required Scopes for Bearer Token

When obtaining a bearer token, you must request the appropriate scopes. The scopes you request should be:

Note: Some scopes are being deprecated in favour of more granular scopes. See the Xero OAuth 2.0 Scopes documentation for details on deprecation timelines.

accounting.transactions (Deprecated)
accounting.transactions.read (Deprecated)
accounting.invoices
accounting.invoices.read
accounting.payments
accounting.payments.read
accounting.banktransactions
accounting.banktransactions.read
accounting.manualjournals
accounting.manualjournals.read
accounting.reports.read (Deprecated)
accounting.reports.aged.read
accounting.reports.balancesheet.read
accounting.reports.profitandloss.read
accounting.reports.trialbalance.read
accounting.contacts 
accounting.settings 
payroll.settings 
payroll.employees 
payroll.timesheets

Available MCP Commands

  • 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
  • list-bank-transactions: Retrieve a list of bank account transactions
  • list-payroll-employees: Retrieve a list of Payroll Employees
  • list-report-balance-sheet: Retrieve a balance sheet report
  • list-payroll-employee-leave: Retrieve a Payroll Employee's leave records
  • list-payroll-employee-leave-balances: Retrieve a Payroll Employee's leave balances
  • list-payroll-employee-leave-types: Retrieve a list of Payroll leave types
  • list-payroll-leave-periods: Retrieve a list of a Payroll Employee's leave periods
  • list-payroll-leave-types: Retrieve a list of all available leave types in Xero Payroll
  • list-timesheets: Retrieve a list of Payroll Timesheets
  • list-aged-receivables-by-contact: Retrieves aged receivables for a contact
  • list-aged-payables-by-contact: Retrieves aged payables for a contact
  • list-contact-groups: Retrieve a list of contact groups
  • list-tracking-categories: Retrieve a list of tracking categories
  • create-bank-transaction: Create a new bank transaction
  • create-contact: Create a new contact
  • create-credit-note: Create a new credit note
  • create-invoice: Create a new invoice
  • create-item: Create a new item
  • create-manual-journal: Create a new manual journal
  • create-payment: Create a new payment
  • create-quote: Create a new quote
  • create-payroll-timesheet: Create a new Payroll Timesheet
  • create-tracking-category: Create a new tracking category
  • create-tracking-option: Create a new tracking option
  • update-bank-transaction: Update an existing bank transaction
  • update-contact: Update an existing contact
  • update-invoice: Update an existing draft invoice
  • update-item: Update an existing item
  • update-manual-journal: Update an existing manual journal
  • update-quote: Update an existing draft quote
  • update-credit-note: Update an existing draft credit note
  • update-tracking-category: Update an existing tracking category
  • update-tracking-options: Update tracking options
  • update-payroll-timesheet-line: Update a line on an existing Payroll Timesheet
  • approve-payroll-timesheet: Approve a Payroll Timesheet
  • revert-payroll-timesheet: Revert an approved Payroll Timesheet
  • add-payroll-timesheet-line: Add new line on an existing Payroll Timesheet
  • delete-payroll-timesheet: Delete an existing Payroll Timesheet
  • get-payroll-timesheet: Retrieve an existing Payroll Timesheet

For detailed API documentation, please refer to the MCP Protocol Specification.

For Developers

Installation

# Using npm
npm install

# Using pnpm
pnpm install

Run a build

# Using npm
npm run build

# Using pnpm
pnpm build

Integrating with Claude Desktop

To link your Xero MCP server in development to Claude Desktop go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json file:

NOTE: For Windows ensure the args path escapes the \ between folders ie. "C:\projects\xero-mcp-server\dist\index.js"

{
  "mcpServers": {
    "xero": {
      "command": "node",
      "args": ["insert-your-file-path-here/xero-mcp-server/dist/index.js"],
      "env": {
        "XERO_CLIENT_ID": "your_client_id_here",
        "XERO_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

License

MIT

Security

Please do not commit your .env file or any sensitive credentials to version control (it is included in .gitignore as a safe default.)

FAQ

What is the Xero MCP server?
Xero is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for Xero?
This profile displays 45 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.6 out of 5—verify behavior in your own environment before production use.

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
MCP server reviews

Ratings

4.645 reviews
  • Benjamin Johnson· Dec 24, 2024

    We evaluated Xero against two servers with overlapping tools; this profile had the clearer scope statement.

  • Ganesh Mohane· Dec 20, 2024

    Xero is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Emma Tandon· Dec 16, 2024

    Xero is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.

  • Sophia Bansal· Dec 8, 2024

    Xero has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Lucas Verma· Nov 27, 2024

    Strong directory entry: Xero surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Zaid Gonzalez· Nov 27, 2024

    According to our notes, Xero benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Emma Sharma· Nov 15, 2024

    Xero is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Sakshi Patil· Nov 11, 2024

    We evaluated Xero against two servers with overlapping tools; this profile had the clearer scope statement.

  • Isabella Jain· Nov 7, 2024

    I recommend Xero for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Benjamin Smith· Oct 26, 2024

    Xero reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

showing 1-10 of 45

1 / 5