wyre-technology avatar

Xero

wyre-technology/xero-mcp

Connects Claude to the Xero Accounting API for managing customers, suppliers, invoices, payments, and pulling financial reports. You get domain-organized tools for contacts, invoices, payments, accounts, and reports including P&L, balance sheet, and aged receivables. Supports both stdio for local Claude Desktop use and HTTP mode for multi-tenant deployments. Ships with gateway mode that accepts per-request credentials via headers, useful if you're building a proxy that handles OAuth tokens for multiple Xero organizations. Requires a Xero developer account and OAuth2 credentials. Reach for this when you need Claude to read or write accounting data directly instead of exporting CSV files.

GitHub stars
1
tools
40
auth
Secret needed
transport
STDIO
env vars
5
last updated
Aug 20, 2026

Tools

40 tools

Public tool metadata for what this MCP can expose to an agent.

XERO_CREATE_BANK_TRANSACTIONCreate a bank transaction in Xero. Use SPEND for payments out or RECEIVE for money received.9 params

Create a bank transaction in Xero. Use SPEND for payments out or RECEIVE for money received.

Parameters* required
BankAccountCodestring
Bank account code (from chart of accounts).
ContactIDstring
Xero Contact ID for the transaction.
CurrencyCodestring
Currency code (e.g., USD, EUR).
Datestring
Transaction date in YYYY-MM-DD format.
LineItemsarray
List of line items for the bank transaction.
Referencestring
Reference or transaction description.
Statusstring
Transaction status: AUTHORISED or DELETED.
Typestring
Transaction type: SPEND (payment out) or RECEIVE (money in).
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_CREATE_CONTACTCreate a new contact in Xero. Contacts can be customers, suppliers, or both.14 params

Create a new contact in Xero. Contacts can be customers, suppliers, or both.

Parameters* required
AccountNumberstring
Account reference number for the contact.
BankAccountDetailsstring
Bank account details for the contact.
DefaultCurrencystring
Default currency code (e.g., USD, EUR).
EmailAddressstring
Email address of the contact.
FirstNamestring
First name of the contact person.
IsCustomerboolean
Mark as customer when true.
IsSupplierboolean
Mark as supplier when true.
LastNamestring
Last name of the contact person.
Namestring
Full name of the contact or organization.
TaxNumberstring
Tax number (VAT/ABN/GST number).
Websitestring
Website URL of the contact.
mobile_numberstring
Mobile phone number (will be added as MOBILE phone type).
phone_numberstring
Primary phone number (will be added as DEFAULT phone type).
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_CREATE_INVOICECreate a new invoice in Xero. Supports both sales invoices (ACCREC) and bills (ACCPAY).10 params

Create a new invoice in Xero. Supports both sales invoices (ACCREC) and bills (ACCPAY).

Parameters* required
ContactIDstring
Xero Contact ID for the invoice.
CurrencyCodestring
Currency code (e.g., USD, EUR).
Datestring
Invoice date in YYYY-MM-DD format.
DueDatestring
Due date in YYYY-MM-DD format.
InvoiceNumberstring
Invoice number (auto-generated if not provided).
LineItemsarray
List of line items for the invoice.
Referencestring
Reference or purchase order number.
Statusstring
Invoice status: DRAFT, SUBMITTED, or AUTHORISED.
Typestring
Invoice type: ACCREC (accounts receivable/sales) or ACCPAY (accounts payable/bills).
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_CREATE_ITEMCreate an inventory item in Xero. Items can be tracked for sales and/or purchases.9 params

Create an inventory item in Xero. Items can be tracked for sales and/or purchases.

Parameters* required
Codestring
Unique item code (SKU).
IsPurchasedboolean
Item can be purchased when true.
IsSoldboolean
Item can be sold when true.
Namestring
Item name/description.
PurchaseDetails.AccountCodestring
Account code for purchases.
PurchaseDetails.UnitPricenumber
Unit price for purchases.
SalesDetails.AccountCodestring
Account code for sales.
SalesDetails.UnitPricenumber
Unit price for sales.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_CREATE_PAYMENTCreate a payment in Xero to link an invoice with a bank account transaction.7 params

Create a payment in Xero to link an invoice with a bank account transaction.

Parameters* required
AccountIDstring
Xero Account ID (bank account) for the payment.
Amountnumber
Payment amount.
CurrencyRatenumber
Exchange rate for foreign currency payments.
Datestring
Payment date in YYYY-MM-DD format.
InvoiceIDstring
Xero Invoice ID that this payment is for.
Referencestring
Payment reference or description.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_CREATE_PURCHASE_ORDERCreate a purchase order in Xero to order goods/services from suppliers.7 params

Create a purchase order in Xero to order goods/services from suppliers.

Parameters* required
ContactIDstring
Xero Contact ID for the purchase order.
Datestring
Purchase order date in YYYY-MM-DD format.
DeliveryDatestring
Expected delivery date in YYYY-MM-DD format.
LineItemsarray
List of line items for the purchase order.
Referencestring
Reference or purchase order number.
Statusstring
Purchase order status: DRAFT, SUBMITTED, AUTHORISED, BILLED.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_ACCOUNTRetrieve a specific account from the chart of accounts by ID. Returns account code, name, type, and settings.2 params

Retrieve a specific account from the chart of accounts by ID. Returns account code, name, type, and settings.

Parameters* required
account_idstring
Xero Account ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_ASSETRetrieve a specific asset by ID from Xero. Returns depreciation details and book value.2 params

Retrieve a specific asset by ID from Xero. Returns depreciation details and book value.

Parameters* required
asset_idstring
Xero Asset ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_BALANCE_SHEET_REPORTRetrieve Balance Sheet report from Xero. Shows assets, liabilities, and equity at a specific date.7 params

Retrieve Balance Sheet report from Xero. Shows assets, liabilities, and equity at a specific date.

Parameters* required
datestring
Balance sheet as of this date in YYYY-MM-DD format.
paymentsOnlyboolean
Show only cash transactions when true (cash basis).
periodsinteger
Number of periods to compare.
standardLayoutboolean
Use standard layout when true.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
timeframestring
Timeframe period: MONTH, QUARTER, or YEAR.
trackingOptionIDstring
Filter by tracking option ID.
XERO_GET_BUDGETRetrieve a budget from Xero. Budgets track planned vs actual spending by account.4 params

Retrieve a budget from Xero. Budgets track planned vs actual spending by account.

Parameters* required
DateFromstring
Start date for budget data in YYYY-MM-DD format.
DateTostring
End date for budget data in YYYY-MM-DD format.
budget_idstring
Xero Budget ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_CONNECTIONSTool to list active Xero connections. Use when you need to retrieve all current tenant connections for the authenticated user.

Tool to list active Xero connections. Use when you need to retrieve all current tenant connections for the authenticated user.

No parameter schema in public metadata yet.

XERO_GET_CONTACTRetrieve a specific contact by ID from Xero. Returns full contact details including addresses and phone numbers.2 params

Retrieve a specific contact by ID from Xero. Returns full contact details including addresses and phone numbers.

Parameters* required
contact_idstring
Xero Contact ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_CONTACTSTool to retrieve a list of contacts. Use when you need up-to-date contact information with filtering, paging, or incremental updates.10 params

Tool to retrieve a list of contacts. Use when you need up-to-date contact information with filtering, paging, or incremental updates.

Parameters* required
ContactIDstring
Xero ContactID. If provided, fetches a single contact at /Contacts/{ContactID}.
IDsarray
Comma-separated list of ContactIDs to filter by.
If-Modified-Sincestring
UTC timestamp (YYYY-MM-DDThh:mm:ss) to set as the If-Modified-Since header; returns only contacts created or modified since this timestamp.
includeArchivedboolean
Include archived contacts when true.
orderstring
Sort by field, e.g. UpdatedDateUTC DESC.
pageinteger
Page number for paginated results (requires pageSize).
pageSizeinteger
Number of contacts per page (requires page).
searchTermstring
Case-insensitive search across Name, FirstName, LastName, ContactNumber, CompanyNumber, EmailAddress.
summaryOnlyboolean
Return a lightweight summary-only response when true.
wherestring
OData-style filter on optimised fields, e.g. Name="ABC".
XERO_GET_INVOICERetrieve a specific invoice by ID from Xero. Returns full invoice details including line items and status.3 params

Retrieve a specific invoice by ID from Xero. Returns full invoice details including line items and status.

Parameters* required
invoice_idstring
Xero Invoice ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
unitdpinteger
Number of decimal places for unit amounts (default 4).
XERO_GET_ITEMRetrieve a specific item by ID from Xero. Returns item code, name, pricing, and tax details.2 params

Retrieve a specific item by ID from Xero. Returns item code, name, pricing, and tax details.

Parameters* required
item_idstring
Xero Item ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_MANUAL_JOURNALRetrieve a specific manual journal by ID from Xero. Returns full details including journal lines.2 params

Retrieve a specific manual journal by ID from Xero. Returns full details including journal lines.

Parameters* required
manual_journal_idstring
Xero Manual Journal ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_ORGANISATIONRetrieve organisation details from Xero. Returns company info, base currency, timezone, financial year settings, etc.1 params

Retrieve organisation details from Xero. Returns company info, base currency, timezone, financial year settings, etc.

Parameters* required
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_PROFIT_LOSS_REPORTRetrieve Profit & Loss report from Xero. Shows income, expenses, and net profit for a specified period.11 params

Retrieve Profit & Loss report from Xero. Shows income, expenses, and net profit for a specified period.

Parameters* required
fromDatestring
Start date for the report in YYYY-MM-DD format.
paymentsOnlyboolean
Show only cash transactions when true (cash basis).
periodsinteger
Number of periods to compare (e.g., for month-on-month comparison).
standardLayoutboolean
Use standard layout when true.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
timeframestring
Timeframe period: MONTH, QUARTER, or YEAR.
toDatestring
End date for the report in YYYY-MM-DD format.
trackingCategoryIDstring
Filter by tracking category ID.
trackingCategoryID2string
Filter by second tracking category ID.
trackingOptionIDstring
Filter by tracking option ID.
trackingOptionID2string
Filter by second tracking option ID.
XERO_GET_PROJECTRetrieve a specific project by ID from Xero. Returns project details, deadlines, and status.2 params

Retrieve a specific project by ID from Xero. Returns project details, deadlines, and status.

Parameters* required
project_idstring
Xero Project ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_PURCHASE_ORDERRetrieve a specific purchase order by ID from Xero. Returns full details including line items and status.2 params

Retrieve a specific purchase order by ID from Xero. Returns full details including line items and status.

Parameters* required
purchase_order_idstring
Xero Purchase Order ID to retrieve.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_GET_QUOTESTool to retrieve a list of quotes. Use when you need to list, filter, or page through sales quotes. Use after obtaining the tenant ID via connections.11 params

Tool to retrieve a list of quotes. Use when you need to list, filter, or page through sales quotes. Use after obtaining the tenant ID via connections.

Parameters* required
ContactIDstring
Filter for quotes belonging to a particular contact by ContactID.
DateFromstring
Filter for quotes on or after this date (YYYY-MM-DD).
DateTostring
Filter for quotes on or before this date (YYYY-MM-DD).
ExpiryDateFromstring
Filter for quotes expiring on or after this date (YYYY-MM-DD).
ExpiryDateTostring
Filter for quotes expiring on or before this date (YYYY-MM-DD).
If-Modified-Sincestring
Only return quotes modified after this UTC timestamp in RFC3339 format.
QuoteNumberstring
Filter by quote number.
Statusstring
Filter for quotes of a particular status.
orderstring
Order by any element, e.g., ExpiryDate ASC.
pageinteger
Page number for paginated results (1-based).
tenant_idstring
Xero Tenant ID. Optional - will auto-fetch from connections if not provided.
XERO_LIST_ACCOUNTSRetrieve chart of accounts from Xero. Returns all accounting codes used for categorizing transactions.3 params

Retrieve chart of accounts from Xero. Returns all accounting codes used for categorizing transactions.

Parameters* required
orderstring
Sort by field, e.g. Code ASC or Name DESC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="ACTIVE" AND Type=="EXPENSE"
XERO_LIST_ASSETSRetrieve fixed assets from Xero. Assets track depreciation and book value of capital equipment.6 params

Retrieve fixed assets from Xero. Assets track depreciation and book value of capital equipment.

Parameters* required
orderBystring
Sort field: AssetName, AssetNumber, PurchaseDate.
pageinteger
Page number for paginated results.
pageSizeinteger
Number of assets per page.
sortDirectionstring
Sort direction: ASC or DESC.
statusstring
Filter by asset status: DRAFT, REGISTERED, DISPOSED.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_ATTACHMENTSList all attachments for a specific entity in Xero (invoice, contact, etc.).3 params

List all attachments for a specific entity in Xero (invoice, contact, etc.).

Parameters* required
entity_idstring
ID of the entity to list attachments for.
entity_typestring
Entity type: Invoices, Contacts, BankTransactions, CreditNotes, PurchaseOrders, etc.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_BANK_TRANSACTIONSRetrieve bank transactions from Xero. Includes spend (payments) and receive (receipts) transactions.6 params

Retrieve bank transactions from Xero. Includes spend (payments) and receive (receipts) transactions.

Parameters* required
If-Modified-Sincestring
UTC timestamp to return only bank transactions modified since this date.
orderstring
Sort by field, e.g. Date DESC or UpdatedDateUTC ASC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
unitdpinteger
Decimal places for unit amounts (default 4).
wherestring
OData-style filter, e.g. Status=="AUTHORISED" AND Type=="SPEND"
XERO_LIST_CREDIT_NOTESRetrieve list of credit notes from Xero. Credit notes are issued to reduce amounts owed by customers.5 params

Retrieve list of credit notes from Xero. Credit notes are issued to reduce amounts owed by customers.

Parameters* required
If-Modified-Sincestring
UTC timestamp to return only credit notes modified since this date.
orderstring
Sort by field, e.g. Date DESC or CreditNoteNumber ASC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="AUTHORISED"
XERO_LIST_FILESRetrieve files from Xero Files. Lists documents stored in Xero's file management system.5 params

Retrieve files from Xero Files. Lists documents stored in Xero's file management system.

Parameters* required
folderIdstring
Filter files by folder ID.
pageinteger
Page number for paginated results.
pagesizeinteger
Number of files per page (max 100).
sortstring
Sort field: Name, Size, CreatedDateUTC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_FOLDERSRetrieve folders from Xero Files. Lists document folders in Xero's file management system.2 params

Retrieve folders from Xero Files. Lists document folders in Xero's file management system.

Parameters* required
sortstring
Sort field: Name, CreatedDateUTC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_INVOICESRetrieve a list of invoices from Xero. Supports filtering by status, contact, date range, and pagination.10 params

Retrieve a list of invoices from Xero. Supports filtering by status, contact, date range, and pagination.

Parameters* required
ContactIDsstring
Comma-separated list of Contact IDs to filter invoices by contact.
If-Modified-Sincestring
UTC timestamp to return only invoices modified since this date.
InvoiceIDsstring
Comma-separated list of Invoice IDs to filter by.
Statusesstring
Comma-separated list of invoice statuses to filter by (e.g., DRAFT, SUBMITTED, AUTHORISED, PAID).
createdByMyAppboolean
Filter to invoices created by your app when true.
includeArchivedboolean
Include archived invoices when true.
orderstring
Sort by field, e.g. Date DESC or InvoiceNumber ASC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="AUTHORISED" AND Total>100
XERO_LIST_ITEMSRetrieve items (inventory/products) from Xero. Items can be tracked for sales and/or purchases.4 params

Retrieve items (inventory/products) from Xero. Items can be tracked for sales and/or purchases.

Parameters* required
orderstring
Sort by field, e.g. Code ASC or Name DESC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
unitdpinteger
Number of decimal places for unit amounts (default 4).
wherestring
OData-style filter, e.g. IsSold==true AND IsPurchased==true
XERO_LIST_JOURNALSRetrieve journals from Xero. Journals show the accounting entries for all transactions.4 params

Retrieve journals from Xero. Journals show the accounting entries for all transactions.

Parameters* required
If-Modified-Sincestring
UTC timestamp to return only journals modified since this date.
offsetinteger
Offset for pagination.
paymentsOnlyboolean
Filter to payment journals only when true.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_MANUAL_JOURNALSRetrieve manual journals from Xero. Manual journals are used for period-end adjustments and corrections.5 params

Retrieve manual journals from Xero. Manual journals are used for period-end adjustments and corrections.

Parameters* required
If-Modified-Sincestring
UTC timestamp to return only manual journals modified since this date.
orderstring
Sort by field, e.g. Date DESC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="POSTED"
XERO_LIST_PAYMENTSRetrieve list of payments from Xero. Payments link invoices to bank transactions.5 params

Retrieve list of payments from Xero. Payments link invoices to bank transactions.

Parameters* required
If-Modified-Sincestring
UTC timestamp to return only payments modified since this date.
orderstring
Sort by field, e.g. Date DESC or Amount ASC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="AUTHORISED"
XERO_LIST_PROJECTSRetrieve projects from Xero. Projects track time and costs for client work.6 params

Retrieve projects from Xero. Projects track time and costs for client work.

Parameters* required
contactIDstring
Filter projects by contact ID.
pageinteger
Page number for paginated results.
pageSizeinteger
Number of projects per page.
projectIdsstring
Comma-separated list of project IDs to filter by.
statesstring
Comma-separated project states: INPROGRESS, CLOSED.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_PURCHASE_ORDERSRetrieve list of purchase orders from Xero. Purchase orders track goods/services ordered from suppliers.7 params

Retrieve list of purchase orders from Xero. Purchase orders track goods/services ordered from suppliers.

Parameters* required
DateFromstring
Filter by date from (YYYY-MM-DD).
DateTostring
Filter by date to (YYYY-MM-DD).
If-Modified-Sincestring
UTC timestamp to return only purchase orders modified since this date.
Statusstring
Filter by status: DRAFT, SUBMITTED, AUTHORISED, BILLED, DELETED.
orderstring
Sort by field, e.g. Date DESC or PurchaseOrderNumber ASC.
pageinteger
Page number for paginated results.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_LIST_TAX_RATESRetrieve tax rates from Xero. Shows available tax codes and rates for the organization.4 params

Retrieve tax rates from Xero. Shows available tax codes and rates for the organization.

Parameters* required
TaxTypestring
Filter by specific tax type.
orderstring
Sort by field, e.g. Name ASC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="ACTIVE"
XERO_LIST_TRACKING_CATEGORIESRetrieve tracking categories from Xero. Tracking categories are used to segment data for reporting (e.g., departments, regions).4 params

Retrieve tracking categories from Xero. Tracking categories are used to segment data for reporting (e.g., departments, regions).

Parameters* required
includeArchivedboolean
Include archived tracking categories when true.
orderstring
Sort by field, e.g. Name ASC.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
wherestring
OData-style filter, e.g. Status=="ACTIVE"
XERO_POST_INVOICE_UPDATETool to update an existing invoice. Use when you need to modify the details of an invoice after it's been created.4 params

Tool to update an existing invoice. Use when you need to modify the details of an invoice after it's been created.

Parameters* required
InvoiceIDstring
Unique identifier (UUID) of the invoice.
InvoiceNumberstring
Invoice number identifier.
Invoicesarray
List containing invoice update definitions (one item).
unitdpinteger
Number of decimal places for unit amounts.
XERO_UPDATE_CONTACTUpdate an existing contact in Xero. Only provided fields will be updated.12 params

Update an existing contact in Xero. Only provided fields will be updated.

Parameters* required
AccountNumberstring
Account reference number for the contact.
BankAccountDetailsstring
Bank account details for the contact.
DefaultCurrencystring
Default currency code (e.g., USD, EUR).
EmailAddressstring
Email address of the contact.
FirstNamestring
First name of the contact person.
LastNamestring
Last name of the contact person.
Namestring
Full name of the contact or organization.
TaxNumberstring
Tax number (VAT/ABN/GST number).
contact_idstring
Xero Contact ID to update.
mobile_numberstring
Mobile phone number (will update MOBILE phone type).
phone_numberstring
Primary phone number (will update DEFAULT phone type).
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.
XERO_UPLOAD_ATTACHMENTUpload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents.6 params

Upload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents.

Parameters* required
entity_idstring
ID of the entity to attach the file to.
entity_typestring
Entity type to attach to: Invoices, Contacts, BankTransactions, CreditNotes, etc.
file_to_uploadstring
File to upload as attachment.
filenamestring
Filename for the attachment.
include_onlineboolean
Include online invoice in attachment.
tenant_idstring
Xero tenant/organization ID. If not provided, uses the first connected tenant.

Sponsors

Configuration

XERO_TENANT_ID*

Xero tenant ID (organisation). Required when AUTH_MODE is 'env'.

XERO_ACCESS_TOKEN*secret

Xero OAuth2 access token. Required when AUTH_MODE is 'env'.

MCP_TRANSPORTdefault: stdio

Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.

AUTH_MODEdefault: env

Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.

LOG_LEVELdefault: info

Log verbosity: debug, info, warn, error

Readme

Xero MCP Server

Model Context Protocol (MCP) server for the Xero Accounting API. Enables Claude and other MCP-compatible clients to manage Xero contacts, invoices, payments, accounts, and reports.

Features

  • Contacts, invoices, payments, chart of accounts, and financial reports over stdio, HTTP, or Cloudflare Workers transports
  • Interactive invoice card (MCP Apps, SEP-1865): xero_invoices_get renders as a rich, read-only card in MCP Apps hosts — neutral by default, brandable via window.__BRAND__ injection or MCP_BRAND_* env vars
  • Gateway mode for per-request, multi-tenant credentials

One-Click Deployment

Deploy to DO

Deploy to Cloudflare Workers


View the full README on GitHub

Details

Repository
github.com/wyre-technology/xero-mcp
Website
github.com/wyre-technology/xero-mcp
Category
Finance & Commerce
Package
ghcr.io/wyre-technology/xero-mcp:v1.5.5
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from wyre-technology

Related Finance & Commerce MCP servers

View all
1defibabylon avatardefi-inteldefibabylon/defi-intelOperator-grade DeFi intelligence MCP. - 10 tools vs DefiLlama's basic 4, - adds governance proposals, - RWA attestation scores, - live X/Twitter narrative. - No0stars
2aiproductscout avatarFinCore Agentic Commerceaiproductscout/fincoreAgentic commerce with 58 MCP tools for product search, checkout, A2A negotiation, C-Suite analytics.0stars
3nero-engine avatarSupplier Invoice Toolnero-engine/supplier-invoice-tool-mcpSupplier invoices to draft Xero bills per job, for UK trades' AI assistants (test mode)0stars
4phoslabs avatarCommerce Intelligenceio.phoslabs/commerce-intelligenceBehavioral-science tools for commerce: checkout, drop-off, pricing, churn. 5 free calls, then paid.0stars
5oneqaz-trading avatarOneQAZ Trading Intelligenceoneqaz-trading/oneqaz-trading-mcpVerifiable crypto/KR/US market intelligence for AI agents: signals, hash-chained ledger. Not advice.0stars
6ivoryriver avatarIvory River — Agent Commercestore.ivoryriver/agent-commerceSearch, configure, quote, recommend gaming PCs and components. Hands user to in-browser checkout.0stars