xero-oauth-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XERO_READONLY | No | When true, all write tools refuse. Default: unset | |
| XERO_CLIENT_ID | Yes | Xero app client ID (required) | |
| XERO_TOKEN_DIR | No | Where the token store lives. Default: ~/.xero-mcp-id | |
| XERO_DEFAULT_ORG | No | Default org when tool omits org (alias/tenantId/name). Defaults to first org. | |
| XERO_ORG_ALIASES | No | JSON map of friendly alias to tenantId, e.g. {"main":"<tenant-guid>"}. Default: {} | |
| XERO_CLIENT_SECRET | Yes | Xero app client secret (required) | |
| XERO_REDIRECT_PORT | No | Local callback port. Default: 49831 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_organisationsA | List the connected Xero organisations (orgs) and the default one. |
| list_accountsA | List the chart of accounts (codes, names, types, tax types) for an org — useful before creating invoices. |
| list_contactsB | List/search contacts in an org. |
| get_contactA | Get a single contact by its contactID. |
| create_contactC | [WRITE] Create a new contact. |
| update_contactA | [WRITE] Update an existing contact (only supplied fields change). |
| list_invoicesC | List/search invoices in an org. Filter by status, contact, invoice number, or a raw Xero filter. |
| get_invoiceA | Get a single invoice (with line items) by invoiceID or invoice number. |
| list_overdue_invoicesA | List overdue sales (ACCREC) invoices: AUTHORISED, past due date, with an outstanding balance. |
| list_recurring_invoicesC | List repeating (recurring) invoice templates in an org. |
| create_invoiceB | [WRITE] Create an invoice (sales ACCREC by default). Defaults to DRAFT status. |
| update_invoiceB | [WRITE] Update an invoice by invoiceID (e.g. change status, reference, due date, or line items). |
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/patthewebrat/xero-oauth-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server