Xero-mcp-server MCP Server
An MCP server that provides a bridge between the MCP protocol and the Xero API, delivering standardized access to Xero accounting and business functions, including contact management, invoicing, and financial reporting.
Get this MCP server
An MCP server that provides a bridge between the MCP protocol and the Xero API, delivering standardized access to Xero accounting and business functions, including contact management, invoicing, and financial reporting.
Installation
NPX
npx -y @xeroapi/xero-mcp-server@latest
From Source Code
# Using npm
npm install
npm run build
# Using pnpm
pnpm install
pnpm build
Configuration
Claude Desktop - Custom Connections
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_ID": "your_client_id_here",
"XERO_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
Claude Desktop - Bearer Token
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
Claude Desktop - Development
{
"mcpServers": {
"xero": {
"command": "node",
"args": ["insert-your-file-path-here/xero-mcp-server/dist/index.js"],
"env": {
"XERO_CLIENT_ID": "your_client_id_here",
"XERO_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
Available Tools
| Tool | Description |
|---|---|
list-accounts |
Get a list of accounts |
list-contacts |
Get a list of contacts from Xero |
list-credit-notes |
Get a list of credit notes |
list-invoices |
Get a list of invoices |
list-items |
Get a list of items |
list-organisation-details |
Get organization details |
list-profit-and-loss |
Get profit and loss report |
list-quotes |
Get a list of quotes |
list-tax-rates |
Get a list of tax rates |
list-payments |
Get a list of payments |
list-trial-balance |
Get trial balance |
list-bank-transactions |
Get a list of bank transactions |
list-payroll-employees |
Get a list of payroll employees |
list-report-balance-sheet |
Get balance sheet report |
list-payroll-employee-leave |
Get employee leave records |
Features
- Xero OAuth2 authentication with custom connections
- Contact management
- Chart of accounts management
- Invoice creation and management
- MCP protocol compliance
Environment Variables
Optional
XERO_CLIENT_ID- Client ID for the Xero application for custom connectionsXERO_CLIENT_SECRET- Client secret for the Xero application for custom connectionsXERO_CLIENT_BEARER_TOKEN- Bearer token for authentication (takes precedence over client ID/secret)
Notes
Requires a Xero developer account with API credentials. A demo company is recommended for testing with preloaded sample data. For payroll-related requests, the region must be NZ or UK. XERO_CLIENT_BEARER_TOKEN takes precedence over XERO_CLIENT_ID if both are defined.