Xero MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_MODE | No | Auth mode: env or gateway. In gateway mode, credentials are passed per-request via headers. | env |
| MCP_HTTP_HOST | No | HTTP server bind address | 0.0.0.0 |
| MCP_HTTP_PORT | No | HTTP server port | 8080 |
| MCP_TRANSPORT | No | Transport type: stdio or http | stdio |
| XERO_TENANT_ID | No | Xero tenant ID (organisation). Required when AUTH_MODE is 'env'. | |
| XERO_ACCESS_TOKEN | No | Xero OAuth2 access token. Required when AUTH_MODE is 'env'. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| xero_navigateA | Discover available Xero tools by domain. Returns tool names and descriptions for the selected domain. All tools are callable at any time — this is a help/discovery aid, not a prerequisite. |
| xero_statusA | Show credentials status and available domains |
| xero_backA | Return to domain selection (no-op in flattened mode). All tools are always available. |
| xero_contacts_listA | List contacts in Xero with pagination. Optionally filter using a where clause. Returns contact details including name, email, and addresses. |
| xero_contacts_getA | Get detailed information about a specific contact by its ID. Returns full contact profile including addresses, phone numbers, and email. |
| xero_contacts_createB | Create a new contact in Xero. Name is required; other fields are optional. |
| xero_contacts_searchA | Search contacts by name. Returns contacts whose name contains the search term. |
| xero_invoices_listA | List invoices in Xero with pagination. Optionally filter by status and type (ACCREC for sales, ACCPAY for bills). |
| xero_invoices_getA | Get detailed information about a specific invoice by its ID. Returns full invoice details including line items, amounts, and payment status. |
| xero_invoices_createB | Create a new invoice in Xero. Requires type, contact, and at least one line item. |
| xero_invoices_update_statusA | Update the status of an existing invoice. Can submit, authorise, or void an invoice. |
| xero_payments_listA | List payments in Xero with pagination. Optionally filter by status. |
| xero_payments_getB | Get detailed information about a specific payment by its ID. |
| xero_payments_createB | Create a new payment in Xero. Records a payment against an invoice. |
| xero_accounts_listA | List chart of accounts in Xero. Optionally filter by account type or class. |
| xero_accounts_getA | Get detailed information about a specific account by its ID. |
| xero_reports_profit_and_lossB | Get a Profit and Loss (income statement) report for a date range. |
| xero_reports_balance_sheetA | Get a Balance Sheet report as of a specific date. |
| xero_reports_aged_receivablesB | Get an Aged Receivables report showing outstanding customer invoices by age. |
| xero_reports_aged_payablesB | Get an Aged Payables report showing outstanding supplier bills by age. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wyre-technology/xero-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server