Xero MCP server for accounting data (contacts, invoices, payments, accounts, reports)
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/wyre-technology/xero-mcp{
"mcpServers": {
"xero-mcp": {
"command": "node",
"args": ["/path/to/xero-mcp/dist/index.js"],
"env": {
"XERO_ACCESS_TOKEN": "<xero_access_token>"
}
}
}
}XERO_ACCESS_TOKENMCP Servers overview
# Xero MCP Server Model Context Protocol (MCP) server for the [Xero Accounting API](https://developer.xero.com/documentation/api/accounting/overview). Enables Claude and other MCP-compatible clients to manage Xero contacts, invoices, payments, accounts, and reports. ## Features - Contacts, invoices, payments, chart of accounts, and financial reports over stdio, HTTP, or Cloudflare Workers transports - Interactive invoice card (MCP Apps, SEP-1865): `xero_invoices_get` renders as a rich, read-only card in MCP Apps hosts — neutral by default, brandable via `window.__BRAND__` injection or `MCP_BRAND_*` env vars - Gateway mode for per-request, multi-tenant credentials ## One-Click Deployment [](https://cloud.digitalocean.com/apps/new?repo=https://github.com/wyre-technology/xero-mcp/tree/main) [](https://deploy.workers.cloudflare.com/?url=https://github.com/wyre-technology/xero-mcp) > **Note on registry auth:** This server depends only on public npm packages, so the Cloudflare and DigitalOcean cloud builders install its dependencies anonymously — no token is required for one-click deploy. (If a future release adds a private `@wyre-technology/*` dependency, you would supply a GitHub PAT with `read:packages` as a build variable — `NODE_AUTH_TOKEN` for Cloudflare Workers, a build-time `GITHUB_TOKEN` secret for DigitalOcean.) > > **Installing the published package:** The released package is published to the [GitHub Packages](https://github.com/wyre-technology/xero-mcp/pkgs/npm/xero-mcp) npm registry, which requires authentication on every install (even for public packages). To install it, authenticate npm to `npm.pkg.github.com` with a GitHub PAT that has `read:packages`: > > ```bash > export NODE_AUTH_TOKEN=$(gh auth token) > npm install @wyre-technology/xero-mcp > ``` ## Quick Start ### Prerequisites - Node.js >= 20 - Xero OAuth2 app credentials (requires a [Xero developer account](https://developer.xero.com/)) ### Install and Build ```bash npm install npm run build ``` ### Run (stdio mode) ```bash XERO_ACCESS_TOKEN=your-access-token XERO_TENANT_ID=your-tenant-id npm start ``` ### Run (HTTP mode) ```bash 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 ```bash 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. ## Interactive Invoice Card (MCP Apps) `xero_invoices_get` renders as an interactive card in MCP Apps hosts (Claude Desktop/web) showing status, contact, dates, amounts, and line items; plain-JSON behavior is unchanged in other hosts. The card is read-only — invoices are financial records, so no write actions are exposed from it. It is neutral by default and brandable via `window.__BRAND__` injection or `MCP_BRAND_*` env vars (`MCP_BRAND_NAME`, `MCP_BRAND_LOGO_URL`, `MCP_BRAND_PRIMARY_COLOR`, `MCP_BRAND_ACCENT_COLOR`, `MCP_BRAND_BG`, `MCP_BRAND_TEXT`) — no rebuild needed. ## 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
What people ask about xero-mcp
What is wyre-technology/xero-mcp?
+
wyre-technology/xero-mcp is mcp servers for the Claude AI ecosystem. Xero MCP server for accounting data (contacts, invoices, payments, accounts, reports) It has 1 GitHub stars and its last recorded update is dated 2026-08-20.
How do I install xero-mcp?
+
You can install xero-mcp by cloning the repository (https://github.com/wyre-technology/xero-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is wyre-technology/xero-mcp safe to use?
+
Our security agent has analyzed wyre-technology/xero-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains wyre-technology/xero-mcp?
+
wyre-technology/xero-mcp is maintained by wyre-technology. The last recorded GitHub activity is dated 2026-08-20, with 4 open issues.
Are there alternatives to xero-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy xero-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/wyre-technology-xero-mcp)<a href="https://claudewave.com/repo/wyre-technology-xero-mcp"><img src="https://claudewave.com/api/badge/wyre-technology-xero-mcp" alt="Featured on ClaudeWave: wyre-technology/xero-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!