Skip to main content

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:

ScopeWhat it covers
accounting.settings.readOrganisation details, chart of accounts, tax rates, tracking categories
accounting.contacts.readContacts and contact groups
accounting.invoices.readInvoices, quotes, credit notes
accounting.payments.readPayments
accounting.banktransactions.readBank transactions
accounting.manualjournals.readManual journals
accounting.attachments.readAttachments on transactions
accounting.reports.profitandloss.readProfit & loss report
accounting.reports.balancesheet.readBalance sheet report
accounting.reports.trialbalance.readTrial balance report
offline_access, openid, profile, emailStandard 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.

One organisation per connection

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

Payroll commands need permissions the connector doesn't currently request

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.