Configure Custom Connections for Xero MCP
mainCustom Connections are recommended for testing, development, and integration with 3rd party MCP clients like Claude Desktop. This mode allows you to specify a XERO_CLIENT_ID and XERO_CLIENT_SECRET for a specific organisation.
Required Scopes
Custom connections require specific scopes. The MCP server attempts to use V1 (bundled) scopes first and falls back to V2 (granular) if needed. You can override this behavior by setting the XERO_SCOPES environment variable to a space-separated list.
| Connection Created | Required Scopes |
|---|---|
| Before Apr 29, 2026 | SCOPES_V1 (bundled) |
| From Apr 29, 2026 | SCOPES_V2 (granular) |
Claude Desktop Configuration
Add the following to your claude_desktop_config.json:
{
"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",
"XERO_SCOPES": "accounting.invoices accounting.contacts accounting.settings"
}
}
}
}Note for NVM users: If using Node Version Manager, change the command from npx to the absolute path of your npx executable (e.g., /home/user/.nvm/versions/node/v22.14.0/bin/npx).