authenticateLABSCO SUMMARY
The books, readable and correctable.
It is not a read-only viewer: an invoice or a bank transaction can be fixed where you noticed the problem, and the balance sheet is one call from the detail underneath it.
What it is
A Xero client authorized through an OAuth app you create yourself. It lists organisations, contacts, accounts, invoices, payments and quotes, reads and updates individual invoices and bank transactions, and returns the balance sheet.
What you get
- Organisations, contacts and the chart of accounts listed
- Invoices listed, read in detail and updated, and new contacts created
- Bank transactions listed, read, created and updated
- Payments and quotes listed
- The balance sheet pulled as a report
Requirements
Node, and your own OAuth app in the Xero developer centre: client ID, client secret, and a localhost redirect URI with an explicit port and path, set as XERO_CLIENT_ID, XERO_CLIENT_SECRET and XERO_REDIRECT_URI. The first tool call opens a Xero consent page which has to be closed by hand afterwards, and whatever it reads from Xero passes through the model you are using.
Setup effort
One command plus credentials — npx -y xero-mcp@latest, then supply credentials
USE CASES
Answering a question about who owes what
List the invoices, open the one in question, and read its lines — without anyone logging into Xero to look.
Correcting an invoice that went out wrong
Read what is currently on it, then update it in the same pass, so the fix happens while the discrepancy is still in front of you.
Reconciling bank activity
List the bank transactions, open the ones that do not match, and correct them against what actually happened.
Checking the position before a decision
The balance sheet gives the summary and the chart of accounts gives the detail behind any line of it.
Adding a customer and their first transaction
Create the contact and record the bank transaction against them, so a new relationship starts complete rather than half-entered.
Seeing what has been quoted and what has been paid
Quotes and payments are listed side by side, which is the gap between what was promised and what has landed.
15 tools
Listed in project docs. Your client may show a different list.
create_bank_transactionscreate_contactsget_balance_sheetget_bank_transactionget_invoicelist_accountslist_bank_transactionslist_contactslist_invoiceslist_organisationslist_paymentslist_quotesupdate_bank_transactionupdate_invoiceBEFORE YOU INSTALL
What to know first
Tools you get
15 tools named in the project's documentation.
Requires
- npx on PATH
- XERO_CLIENT_ID in your environment
- XERO_CLIENT_SECRET in your environment
- XERO_REDIRECT_URI in your environment
INSTALLATION
Connect your client
Server setup
npx -y xero-mcp@latestMCP Clients
Claude Desktop
{
"mcpServers": {
"xero-mcp": {
"command": "npx",
"args": [
"-y",
"xero-mcp@latest"
],
"env": {
"XERO_CLIENT_ID": "<YOUR_XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<YOUR_XERO_CLIENT_SECRET>",
"XERO_REDIRECT_URI": "http://localhost:5000/callback"
}
}
}
}Claude Code
claude mcp add xero-mcp \
-e XERO_CLIENT_ID=<YOUR_XERO_CLIENT_ID> \
-e XERO_CLIENT_SECRET=<YOUR_XERO_CLIENT_SECRET> \
-e XERO_REDIRECT_URI=http://localhost:5000/callback \
-- npx -y xero-mcp@latest