Xerovf.sr
listing.by · home.legend.verified
Read and create Xero accounting data: contacts, invoices, payments, payroll records and financial reports.
listing.install
listing.local.explain
listing.local.needs listing.local.note
XERO_CLIENT_IDClient ID of a Xero custom connection.XERO_CLIENT_SECRETlisting.env.secret Client secret of the custom connection (or set XERO_CLIENT_BEARER_TOKEN instead).
listing.share.h
listing.share.p_local
mcp.tc/i/xerolisting.about
Connects an assistant to the Xero accounting API. It can list accounts, contacts, invoices, credit notes, quotes, payments, bank transactions, manual journals and tax rates, and pull reports such as profit and loss, balance sheet, trial balance and aged receivables or payables. It can also create contacts, invoices, credit notes, quotes, payments, items, bank transactions and manual journals, and read payroll employees, leave and timesheets.
Runs locally over stdio with npx and Node.js 18 or higher. Authentication uses a Xero custom connection (XERO_CLIENT_ID and XERO_CLIENT_SECRET) or an existing OAuth bearer token (XERO_CLIENT_BEARER_TOKEN). Payroll queries need an NZ or UK organisation.
listing.can
- List contacts, accounts, items, tax rates and tracking categories
- List and create invoices, credit notes and quotes
- List and create payments and bank transactions
- Create manual journals
- Run profit and loss, balance sheet and trial balance reports
- Get aged receivables and payables by contact
- Read payroll employees, leave balances and timesheets
listing.tools
listing.notools.key
listing.prompts
List all unpaid invoices in Xero from the last 30 days
Create an invoice for Acme Ltd for 10 hours of consulting
Show the profit and loss report for last quarter
Get aged receivables for the contact Bright Studio
listing.setup.h
listing.setup.local
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport stdio xero --env "XERO_CLIENT_ID=<YOUR_XERO_CLIENT_ID>" --env "XERO_CLIENT_SECRET=<YOUR_XERO_CLIENT_SECRET>" -- npx -y @xeroapi/xero-mcp-server@latest- Start Claude Code and type
/mcp. xero should show as connected.
Add --scope user to make it available in every project. Replace the placeholders with your own values.
Claude Desktop
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<YOUR_XERO_CLIENT_SECRET>"
}
}
}
}- Save the file and restart Claude Desktop. Replace the placeholders with your own values.
Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.
Cursor
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"xero": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<YOUR_XERO_CLIENT_SECRET>"
}
}
}
}Needs Node.js on your computer. Replace the placeholders with your own values.
VS Code
Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:
{
"servers": {
"xero": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "${input:xero-client-secret}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "xero-client-secret",
"description": "XERO_CLIENT_SECRET",
"password": true
}
]
}Needs Node.js on your computer.
Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"xero": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<YOUR_XERO_CLIENT_SECRET>"
}
}
}
}- Refresh the MCP server list in Cascade. Replace the placeholders with your own values.
Devin Desktop is the new name for Windsurf.
Codex
codex mcp add xero --env "XERO_CLIENT_ID=<YOUR_XERO_CLIENT_ID>" --env "XERO_CLIENT_SECRET=<YOUR_XERO_CLIENT_SECRET>" -- npx -y @xeroapi/xero-mcp-server@latestOr edit ~/.codex/config.toml directly:
[mcp_servers.xero]
command = "npx"
args = ["-y", "@xeroapi/xero-mcp-server@latest"]
env = { XERO_CLIENT_ID = "<YOUR_XERO_CLIENT_ID>", XERO_CLIENT_SECRET = "<YOUR_XERO_CLIENT_SECRET>" }Needs Node.js on your computer. Replace the placeholders with your own values.
Gemini CLI
gemini mcp add -e "XERO_CLIENT_ID=<YOUR_XERO_CLIENT_ID>" -e "XERO_CLIENT_SECRET=<YOUR_XERO_CLIENT_SECRET>" xero npx -- -y @xeroapi/xero-mcp-server@latestThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients that start local servers accept this shape:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<YOUR_XERO_CLIENT_SECRET>"
}
}
}
}Zed puts servers under context_servers in its settings, with the same command, args and env fields.
Needs Node.js on your computer. Replace the placeholders with your own values.
listing.faq
Can I paste mcp.tc/i/xero into my MCP client?
No. Xero runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y @xeroapi/xero-mcp-server@latest.
Does Xero need an API key?
Yes. It reads XERO_CLIENT_ID and XERO_CLIENT_SECRET from its environment, and XERO_CLIENT_SECRET is a secret. Put the value in your client's config on your own machine, never in a shared file.
Is Xero a remote or a local server?
Local. Your client starts it as a process on your computer with npx -y @xeroapi/xero-mcp-server@latest, which needs Node.js.
What can Xero do?
You can list contacts, accounts, items, tax rates and tracking categories, list and create invoices, credit notes and quotes and list and create payments and bank transactions.
Which clients can use it?
Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.
Who wrote this page?
mcp.tc's robot read Xero's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
listing.em.h
listing.em.lead_local listing.em.how
listing.em.badge
[](https://mcp.tc/i/xero)<a href="https://mcp.tc/i/xero"><img src="https://mcp.tc/i/xero/badge.svg" alt="Xero on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/xero.js" async></script>listing.em.widget_note
iframe
<iframe src="https://mcp.tc/embed/xero" title="Xero on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>listing.em.iframe_note
listing.disclaimer_checked