Xero MCP Server — Hosted Api Connectors Integration
MCP Server language Hosted language PublicManage invoices, contacts, payments, and financial reports in Xero accounting.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"xero": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-xero",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the _ping tool to verify xero credentials by fetching the current organisation. returns org name and base currency”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
description Overview
mcp-xero — Xero Accounting MCP Server
Automate your entire Xero accounting workflow — manage invoices, contacts, chart of accounts, financial reports, payments, and bank transactions from any AI agent.
Xero is the world's leading cloud accounting platform for small and medium businesses. This MCP server gives your agents complete access to the Xero API: creating and managing invoices, contacts, accounts, generating financial reports (P&L, Balance Sheet, Cash Flow), processing payments, and querying bank transactions.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-xero
What You Can Do
- Automatically create, authorise, and email invoices from any business trigger — new orders, completed milestones, or contract signatures
- Manage customer and supplier contacts without touching the Xero UI
- Pull live financial reports (Profit & Loss, Balance Sheet, Cash Flow, Aged Receivables) on demand
- Reconcile payments against invoices and query bank transactions programmatically
Available Tools
| Tool | Description |
|---|---|
| _ping | Verify Xero credentials — returns organisation name and base currency |
| list_invoices | List invoices with optional filters (Status, Contact, Date range, pagination) |
| get_invoice | Get full invoice details including line items, tax, and payment history |
| create_invoice | Create a new ACCREC or ACCPAY invoice with line items |
| update_invoice | Update invoice status, line items, due date, or reference |
| email_invoice | Send an invoice to the contact by email |
| void_invoice | Void an invoice (sets status to VOIDED) |
| list_contacts | List contacts filtered by status, name, or email |
| get_contact | Get full contact details by ContactID |
| create_contact | Create a new customer or supplier contact |
| update_contact | Update contact fields |
| archive_contact | Archive a contact (sets ContactStatus to ARCHIVED) |
| get_organisation | Get organisation name, currency, timezone, and financial year |
| list_accounts | List chart of accounts filtered by Type, Status, or Class |
| get_account | Get a specific account by AccountID |
| get_trial_balance | Get trial balance report as of a given date |
| get_profit_loss | Get Profit and Loss report with optional period comparison |
| get_balance_sheet | Get Balance Sheet with optional period comparison |
| get_cashflow | Get Cash Flow Statement for a date range |
| get_aged_receivables | Get Aged Receivables Outstanding report |
| list_payments | List payments filtered by type, status, and date range |
| create_payment | Create a payment against an invoice from a bank account |
| get_bank_transactions | List bank transactions for a specific account |
Configuration
| Variable | Required | Description | How to Get |
|---|---|---|---|
| XERO_ACCESS_TOKEN | Yes | OAuth 2.0 access token for the Xero API | Xero Developer Portal — create an OAuth 2.0 app, use PKCE flow or token from xero-node SDK |
| XERO_TENANT_ID | Yes | Xero organisation tenant ID (UUID) | Call GET https://api.xero.com/connections with your access token — use tenantId from the response |
Quick Start
Add to Aerostack Workspace
- Go to aerostack.dev → Your Project → MCPs
- Search for "Xero" and click Add to Workspace
- Add your
XERO_ACCESS_TOKENandXERO_TENANT_IDunder Project → Secrets
Once added, every AI agent in your workspace can automate Xero accounting — no per-user setup needed.
Example Prompts
"Create an invoice for Acme Corp for 10 hours of consulting at $150/hour, due in 30 days"
"Pull the Profit and Loss report for Q1 2026 and summarise the top expense categories"
"List all overdue invoices and send email reminders to each contact"
"Show me the aged receivables as of today and flag anyone over 60 days outstanding"
Direct API Call
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-xero \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-XERO-ACCESS-TOKEN: your-access-token' \
-H 'X-Mcp-Secret-XERO-TENANT-ID: your-tenant-id' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_invoices","arguments":{"Status":"AUTHORISED","page":1}}}'
License
MIT
terminal Tools (23)
Available tools on this MCP server. Each tool can be called directly from any AI agent.
_ping #1 Verify Xero credentials by fetching the current organisation. Returns org name and base currency.
list_invoices #2 List invoices with optional filters. Returns InvoiceID, Type, Contact, Status, Total, AmountDue.
get_invoice #3 Get full details of an invoice by InvoiceID, including line items, contact, tax, and payment history.
create_invoice #4 Create a new invoice (ACCREC = accounts receivable, ACCPAY = accounts payable).
update_invoice #5 Update an existing invoice. InvoiceID must be included in the body.
email_invoice #6 Send an invoice to a contact by email.
void_invoice #7 Void an invoice by setting its status to VOIDED.
list_contacts #8 List contacts with optional filters. Returns ContactID, Name, EmailAddress, IsSupplier, IsCustomer.
get_contact #9 Get full details of a contact by ContactID.
create_contact #10 Create a new contact in Xero. Name is required.
update_contact #11 Update fields on an existing contact. Provide only the fields to change.
archive_contact #12 Archive a contact by setting ContactStatus to ARCHIVED.
get_organisation #13 Get the current organisation details: name, base currency, timezone, tax number, and financial year end.
list_accounts #14 List the chart of accounts, optionally filtered by Type, Status, or Class.
get_account #15 Get a specific account from the chart of accounts by AccountID.
get_trial_balance #16 Get the trial balance report showing debit and credit balances for all accounts.
get_profit_loss #17 Get the Profit and Loss report. Supports multi-period comparison.
get_balance_sheet #18 Get the Balance Sheet report showing assets, liabilities, and equity.
get_cashflow #19 Get the Cash Flow Statement report.
get_aged_receivables #20 Get the Aged Receivables Outstanding report.
list_payments #21 List payments with optional filters by status, type, and date range.
create_payment #22 Create a payment against an invoice. Links an invoice to a bank account with a payment amount.
get_bank_transactions #23 List bank transactions for a bank account, with optional date range and pagination.
Details
language Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-xero
Sub-50ms globally · Zero cold start
Publisher
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
More in API Connectors
Browse API Connectors MCPs →Aerostack Registry
by @aerostack
Discover and invoke any MCP, Function, or Skill published to the Aerostack marketplace — the universal AI capability hub.
Algolia
by @aerostack
Search indexes, manage records, browse data, and configure ranking in Algolia — AI-native instant search access.
Arangodb
by @aerostack
Query documents, run AQL, traverse graphs, and manage collections in your ArangoDB database — AI-native multi-model database access.
Ayrshare
by @aerostack
Post, schedule, and analyze social media across 13 platforms — Facebook, Instagram, X, LinkedIn, TikTok, Bluesky, Threads, Reddit, Pinterest, YouTube, Telegram, Snapchat, Google Business.
Basecamp
by @aerostack
Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp — AI-native project management.
Bigquery
by @aerostack
Run SQL queries, list datasets and tables, inspect schemas, and export results from Google BigQuery — AI-native data warehouse access.
Frequently asked questions
What is the Xero MCP server and what can it do? +
The Xero MCP server is hosted on Aerostack and exposes these tools to your AI agent: `_ping`, `list_invoices`, `get_invoice`, `create_invoice`, `update_invoice`. You get one hosted URL — no self-hosting — that works from Claude, Cursor, ChatGPT, Gemini, VS Code, or any MCP-compatible client, and you can share it with your team or combine it with other MCP servers in a workspace.
Is the Xero MCP server hosted, or do I have to run it myself? +
It's hosted on Aerostack's edge infrastructure — you don't deploy or maintain anything. Add it to a workspace and you get one authenticated URL, with secrets encrypted, that any AI agent or editor can connect to. Use it solo or share the same URL across your whole team.
Which AI agents and editors can use the Xero MCP server? +
Any MCP client: Claude and Claude Code, Cursor, ChatGPT, Gemini, Windsurf, Cline, VS Code, and custom agents. Because it's one hosted URL, the same Xero MCP server works everywhere — and you can compose it with other MCP servers, skills, and functions behind a single workspace URL.
How do I install the Xero MCP server in Claude Desktop? +
Add the following to your Claude Desktop config (`claude_desktop_config.json`): ```json { "mcpServers": { "@aerostack/mcp-xero": { "command": "npx", "args": ["-y", "@aerostack/@aerostack/mcp-xero"] } } } ``` Then restart Claude Desktop and the tools will appear automatically.
How do I use the Xero MCP server in Cursor? +
In Cursor, open **Settings → MCP** and add: ```json { "name": "@aerostack/mcp-xero", "command": "npx", "args": ["-y", "@aerostack/@aerostack/mcp-xero"] } ``` Save and reload Cursor. The MCP tools will be available in Agent mode.
Does Xero MCP require authentication? +
Yes. Xero requires authentication. Check the MCP's documentation for the required credentials.