New:Socket for Asana Is Now Available.Learn more
Get Started

@codespar/mcp-xero

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codespar/mcp-xero

MCP server for Xero — global cloud accounting (UK/AU/NZ leader, expanding in US). Contacts, invoices, payments, items, accounts, reports.

npmnpm
Version
0.2.1
Version published
Weekly downloads
17
-52.78%
Maintainers
1
Weekly downloads
 
Created
Source

@codespar/mcp-xero

MCP server for Xero — global cloud accounting for SMBs.

Xero is the #2 global SMB ERP and the leader in the UK, Australia, and New Zealand, with rapid expansion in the US. Paired with QuickBooks, the two platforms cover roughly 80% of global SMB accounting. For LatAm SaaS serving US/UK/AU/NZ customers or with international subsidiaries, Xero is the essential complement to our Brazil-native ERPs (Omie, Conta Azul, Bling, Tiny).

Tools (24)

ToolPurpose
create_contactCreate a Xero contact (customer or supplier — Xero uses one unified Contact object with IsCustomer/IsSuppli...
get_contactRetrieve a single Xero contact by ContactID (UUID).
list_contactsList Xero contacts.
create_invoiceCreate an invoice in Xero.
get_invoiceRetrieve a single invoice by InvoiceID (UUID) or InvoiceNumber.
list_invoicesList invoices with optional Xero where-clause filtering.
email_invoiceEmail an AUTHORISED invoice to the contact's email address on file.
create_paymentRecord a payment against an invoice or credit note.
create_itemCreate a Xero inventory/product item.
list_itemsList all items/products in the Xero tenant.
list_accountsList the Xero chart of accounts.
update_contactUpdate an existing Xero contact.
archive_contactArchive a Xero contact by setting ContactStatus=ARCHIVED.
update_invoiceUpdate an existing invoice.
void_invoiceVoid an invoice by setting Status=VOIDED.
get_paymentRetrieve a single payment by PaymentID.
list_paymentsList payments recorded in Xero.
create_bank_transactionCreate a bank transaction (SPEND = money out, RECEIVE = money in) directly on a bank account — for transact...
list_bank_transactionsList bank transactions (spend/receive entries on bank accounts).
list_organisationsRetrieve the Xero organisation(s) the access token has access to — returns name, base currency, country, fi...
list_tax_ratesList tax rates configured in the Xero tenant.
create_credit_noteCreate a credit note.
list_credit_notesList credit notes.
get_balance_sheetRetrieve the Balance Sheet report for the tenant.

Install

npm install @codespar/mcp-xero

Environment

XERO_ACCESS_TOKEN="..."   # OAuth2 bearer access token (required, secret)
XERO_TENANT_ID="..."      # Xero tenant/organization id (required)

Authentication

Xero uses OAuth2. Every request includes:

Authorization: Bearer <XERO_ACCESS_TOKEN>
Xero-tenant-id: <XERO_TENANT_ID>
Accept: application/json
Content-Type: application/json

This server assumes a pre-issued access token. OAuth consent, refresh-token rotation, and tenant selection happen upstream (in your OAuth proxy or secrets layer). When the token expires, Xero returns 401 and the tool surfaces the error verbatim — refresh and retry.

Run

# stdio (default — Claude Desktop, Cursor, etc)
npx @codespar/mcp-xero

# HTTP (server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-xero

Where clause

Xero's list endpoints accept a where query param for server-side filtering. Examples:

Name.Contains("ACME")
IsCustomer==true
Status=="AUTHORISED" AND Type=="ACCREC"
Date>=DateTime(2026,1,1)
Contact.ContactID==guid("00000000-0000-0000-0000-000000000000")

Positioning in the CodeSpar ERP catalog

  • Brazil-native: Omie, Conta Azul, Bling, Tiny — NF-e, Simples Nacional, local tax.
  • Global SMB: Xero + QuickBooks — US/UK/AU/NZ/global accounting.

Use Xero for companies headquartered or operating outside Brazil (or with international entities). Use the BR-native servers for the local market.

Docs

License

MIT

Keywords

mcp

FAQs

Package last updated on 25 Apr 2026

Related posts