Manage 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.
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
| 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 |
| 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 |
XERO_ACCESS_TOKEN and XERO_TENANT_ID under Project → SecretsOnce added, every AI agent in your workspace can automate Xero accounting — no per-user setup needed.
"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"
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}}}'
MIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-xero
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Discover and invoke any MCP, Function, or Skill published to the Aerostack marketplace — the universal AI capability hub.
by @aerostack
Search indexes, manage records, browse data, and configure ranking in Algolia — AI-native instant search access.
by @aerostack
Query documents, run AQL, traverse graphs, and manage collections in your ArangoDB database — AI-native multi-model database access.
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.
by @aerostack
Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp — AI-native project management.
by @aerostack
Run SQL queries, list datasets and tables, inspect schemas, and export results from Google BigQuery — AI-native data warehouse access.
Yes. The Xero MCP includes a create_invoice tool that lets Claude create invoices in your Xero account from a plain-English prompt. You can also update and delete invoices — no Xero UI needed.
Yes. The Xero MCP includes tools to list and retrieve invoices from your Xero account. Claude can filter, sort, and summarize invoices based on your instructions.
Yes. The Xero MCP uses the open Model Context Protocol standard, so it works in Claude, Cursor, Windsurf, and any other MCP-compatible AI tool. All 22 Xero tools are available everywhere you connect it — install once on Aerostack.
Yes. The Xero MCP includes tools to update invoices in your Xero account. Tell Claude what to change in plain English — it reads the current state and applies the update via the Xero API.