Permissions & commands — Xero
This page is the technical reference for the Xero connector: exactly what access you grant on the Xero consent screen, and the full list of MCP commands the connector exposes to your AI assistant. You don't configure any of this yourself — it's fixed by the connector — but it tells you what to expect and what your assistant can (and cannot) do.
OAuth scopes
Xero supports granular, read-only scopes, and the connector requests read-only scopes exclusively — there is no write permission anywhere in the grant:
| Scope | What it covers |
|---|---|
accounting.settings.read | Organisation details, chart of accounts, tax rates, tracking categories |
accounting.contacts.read | Contacts and contact groups |
accounting.invoices.read | Invoices, quotes, credit notes |
accounting.payments.read | Payments |
accounting.banktransactions.read | Bank transactions |
accounting.manualjournals.read | Manual journals |
accounting.attachments.read | Attachments on transactions |
accounting.reports.profitandloss.read | Profit & loss report |
accounting.reports.balancesheet.read | Balance sheet report |
accounting.reports.trialbalance.read | Trial balance report |
offline_access, openid, profile, email | Standard OAuth plumbing: keeping your connection alive between sessions, and identifying your login |
On top of the read-only scopes, the connector applies a fail-closed allowlist so only
list-* and get-* commands are ever exposed — see
Read-only access.
Each connection is tied to the Xero organisation you pick during consent. To work with another organisation, add the connector again and select it there.
Available commands
These are the MCP commands (tools) your AI assistant can call. You never type these — you ask in plain English and the assistant picks the right command (see What you can ask).
Financial reports
list-profit-and-loss · list-report-balance-sheet · list-trial-balance ·
list-aged-receivables-by-contact · list-aged-payables-by-contact
Contacts, sales & payments
list-contacts · list-contact-groups · list-invoices · list-quotes ·
list-credit-notes · list-payments
Banking & journals
list-bank-transactions · list-manual-journals
Organisation & settings
list-organisation-details · list-accounts · list-items · list-tax-rates ·
list-tracking-categories
Payroll & timesheets
list-payroll-employees · list-payroll-employee-leave ·
list-payroll-employee-leave-balances · list-payroll-employee-leave-types ·
list-payroll-leave-periods · list-payroll-leave-types · list-timesheets ·
get-timesheet
The payroll and timesheet commands are visible to your assistant, but the connector's consent deliberately includes no payroll scopes — so calling them returns an authorisation error rather than payroll data. If you need payroll access, contact us and we'll discuss enabling it.
That's 26 read-only commands in total. The upstream Xero server also defines create,
update, approve, and delete commands, but they don't match the connector's
list-*/get-* allowlist, so they are never exposed — your assistant cannot see or
call them.