Xero MCP Server

Xero MCP Server

Enables interaction with the Xero Accounting API to manage contacts, invoices, payments, accounts, and financial reports. It provides a suite of tools for natural language access to accounting records and business performance data.

Category
Visit Server

README

Xero MCP Server

Model Context Protocol (MCP) server for the Xero Accounting API. Enables Claude and other MCP-compatible clients to manage Xero contacts, invoices, payments, accounts, and reports.

One-Click Deployment

Deploy to DO

Deploy to Cloudflare Workers

Quick Start

Prerequisites

Install and Build

npm install
npm run build

Run (stdio mode)

XERO_ACCESS_TOKEN=your-access-token XERO_TENANT_ID=your-tenant-id npm start

Run (HTTP mode)

MCP_TRANSPORT=http XERO_ACCESS_TOKEN=your-access-token XERO_TENANT_ID=your-tenant-id npm start

The server listens on http://0.0.0.0:8080/mcp by default.

Docker

docker build -t xero-mcp .
docker run -p 8080:8080 \
  -e MCP_TRANSPORT=http \
  -e XERO_ACCESS_TOKEN=your-access-token \
  -e XERO_TENANT_ID=your-tenant-id \
  xero-mcp

Environment Variables

Variable Required Default Description
XERO_ACCESS_TOKEN Yes (env mode) Xero OAuth2 access token
XERO_TENANT_ID Yes (env mode) Xero tenant ID (organisation)
MCP_TRANSPORT No stdio Transport type: stdio or http
MCP_HTTP_PORT No 8080 HTTP server port
MCP_HTTP_HOST No 0.0.0.0 HTTP server bind address
AUTH_MODE No env Auth mode: env or gateway

Gateway Mode

When AUTH_MODE=gateway, credentials are passed per-request via HTTP headers instead of environment variables:

  • X-Xero-Access-Token — OAuth2 access token
  • X-Xero-Tenant-Id — Xero tenant ID

This allows a gateway/proxy to manage multi-tenant credentials.

Available Tools

Tools are organized into domains. Use xero_navigate to select a domain, then use the domain-specific tools.

Navigation

  • xero_navigate — Select a domain (contacts, invoices, payments, accounts, reports)
  • xero_back — Return to domain selection

Contacts

  • xero_contacts_list — List contacts with pagination and optional filtering
  • xero_contacts_get — Get detailed contact information by ID
  • xero_contacts_create — Create a new contact (customer or supplier)
  • xero_contacts_search — Search contacts by name

Invoices

  • xero_invoices_list — List invoices with optional status and type filters
  • xero_invoices_get — Get detailed invoice information by ID
  • xero_invoices_create — Create a new invoice (sales or bill)
  • xero_invoices_update_status — Update invoice status (submit, authorise, void)

Payments

  • xero_payments_list — List payments with optional status filter
  • xero_payments_get — Get detailed payment information by ID
  • xero_payments_create — Record a payment against an invoice

Accounts

  • xero_accounts_list — List chart of accounts with optional type/class filter
  • xero_accounts_get — Get detailed account information by ID

Reports

  • xero_reports_profit_and_loss — Profit and Loss (income statement) for a date range
  • xero_reports_balance_sheet — Balance Sheet as of a specific date
  • xero_reports_aged_receivables — Aged Receivables by contact
  • xero_reports_aged_payables — Aged Payables by contact

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured