Xero MCP Server

Official

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides a bridge to Xero's accounting and business features, including contact management, chart of accounts management, and invoice creation and management, using OAuth2 authentication.

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

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: accounting.transactions accounting.contacts accounting.settings.read

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

Available MCP Commands

  • list-contacts: Retrieve a list of contacts from Xero
  • list-invoices: Retrieve a list of invoices
  • list-accounts: Retrieve a list of accounts
  • list-tax-rates : Retrieve a list of tax rates
  • list-quotes : Retrieve a list of quotes
  • list-credit-notes: Retrieve a list of credit notes
  • create-contact: Create a new contact
  • create-invoice: Create a new invoice
  • create-quote: Create a new quote
  • create-credit-note: Create a new credit note
  • update-contact: Update an existing contact
  • update-invoice: Update an existing draft invoice

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 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": "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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

A Model Context Protocol server implementation providing standardized access to Xero's accounting and business features, enabling operations like contact management, invoice creation, and chart of accounts management through MCP.

  1. Features
    1. Prerequisites
      1. Configuring your Xero Developer account
      2. Integrating the MCP server with Claude Desktop
      3. Available MCP Commands
    2. For Developers
      1. Installation
      2. Run a build
      3. Integrating with Claude Desktop
    3. License
      1. Security