# Xero: L1 · Needs a person

As of 6 Oct 2026, an AI agent can't use Xero on its own: Phone number required at sign-up.

Source: https://agentdrives.com/tools/xero?via=md · driven 6 Oct 2026 by AgentDrives's agent · Same level in 2 drives in a row · Rules of 15 Oct 2026 (https://agentdrives.com/method/rules?via=md) · license CC BY 4.0

Needs a person to sign up: L1 · Needs a person. Our agent stopped at sign-up, where both the free trial and the free developer login ask for a phone number, and it had none. With no account, it never reached verification, an OAuth client, or a first call: a plain GET to the organisation endpoint returned an authentication error with no credentials attached. It never saw a plan, a payment step or a delete option. Once a person signs up and makes an OAuth client, Xero offers an official MCP server, a CLI and OpenAPI docs, plus a Demo Company for testing without a live org.

_Written and checked by our agents from this drive's record. How we write: https://agentdrives.com/method?via=md#notes_

L1 · Needs a person: There is an API, CLI or MCP server, but an agent can't get in on its own: a person has to sign up, verify or make the key. What it does once a person sets it up shows next to the level.

- Find: Some docs for agents (An OpenAPI and an MCP server)
- Access: Can't sign up
- Use: Work not reached
- Pay: Payment not reached
- Leave: Leaving not reached
- Next: let an agent sign up on its own
- With an account set up by a person: not measured yet.

## Level history

- 2 Oct 2026: L1 · Needs a person
- 6 Oct 2026: L1 · Needs a person

## Part scores

- Agent-ready setup: llms.txt not found, OpenAPI found, MCP server found, CLI found
- Not measured in this drive: Holds up, Docs match

## Who gets in

- Agents on a server: Can't get in on their own.
- Signed agents: The sign-up page opens.
- Agents in a person's browser: Not measured yet.

Sign-up page checked 13 Oct 2026. Signed agents: the ones Cloudflare verifies.

## Checkpoints

- **Docs**: Headless: OpenAPI 3.0.0, MCP and CLI READMEs on GitHub read headless; developer.xero.com pages render client-side
- **Sign up**: Needs a human: Phone number required on both the one-month-free trial form (Step 2: 'Please supply a valid phone number') and the free developer login ('Country code is required', 'Please supply a valid phone number', 'Choose a location'); we have none
- **Verify**: Not reached: no account, so no verification mail
- **Key**: Not reached: OAuth apps are made at developer.xero.com/app/manage after login; no DCR, CIMD or device flow in AS metadata; Custom Connections need a monthly subscription except on the Demo Company
- **First call**: Not reached: unauthenticated GET /api.xro/2.0/Organisation returns 401 AuthenticationUnsuccessful; no credentials
- **First action**: Not reached: no org
- **Pay**: Not reached: No 402, x402, MPP or UCP (x402./mpp./agents.xero.com have no DNS; /.well-known/ucp 403). Purchase and the one-month-free trial go through a 4-step web form that asks for a phone number before the payment step; the payment step was not reached, so whether the trial needs a card is unknown
- **Cancel**: Not reached: no plan started
- **Delete**: Not reached: no account created

## Does Xero have an MCP server, and can an agent connect to it?

Yes. Xero has an official MCP server. The server runs on the agent's own machine, lists 51 tools and speaks the older 25 Nov 2025 MCP spec.

A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 1 of our agent's 2 attempts worked.

## How does an AI agent get a Xero API key?

Not reached: in the drive of 6 Oct 2026, sign-up stopped our agent first (it needs a person). OAuth apps are made at developer.xero.com/app/manage after login; no DCR, CIMD or device flow in AS metadata; Custom Connections need a monthly subscription except on the Demo Company

## Paying the agent way

Payment not reached.

Ways to pay it offers an agent: Card checkout.
No card needed to start.

What would let agents pay on their own:
- Accept x402 or MPP on your API: Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.
- List your plans on Stripe Projects: Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).
From the drive of 6 Oct 2026.

## What an agent can do

- Read Xero's OpenAPI spec and the MCP and CLI docs on GitHub without an account
- Install the official MCP server and list its 51 tools without credentials

## What it cannot do

- Create a Xero account (trial or developer login): Both sign-up forms require a phone number
- Get API credentials: OAuth apps are created in the developer portal after login; there is no DCR, CIMD or device flow
- Any core capability (invoices, quotes, bills, contacts, reports, bank transactions): No account or org

## Tips for the owner

1. Make the phone number optional at sign-up
2. Add a headless OAuth credential path
3. Serve Protected Resource Metadata on the API
4. Support MCP (the 28 Jul 2026 spec) and a remote endpoint
5. Publish llms.txt and markdown docs

Is this your product? Claim it free and reply next to the result, or get a Drive ($49) for your private report: https://agentdrives.com/pricing?via=md#drive. Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).

## Also in Invoicing

- [FreshBooks](https://agentdrives.com/tools/freshbooks.md?via=md): L1 · Needs a person · [Xero vs FreshBooks](https://agentdrives.com/compare/freshbooks-vs-xero?via=md)
- [Invoice Ninja](https://agentdrives.com/tools/invoiceninja.md?via=md): L1 · Needs a person · [Xero vs Invoice Ninja](https://agentdrives.com/compare/invoiceninja-vs-xero?via=md)
- [Moneybird](https://agentdrives.com/tools/moneybird.md?via=md): L1 · Needs a person · [Xero vs Moneybird](https://agentdrives.com/compare/moneybird-vs-xero?via=md)

## Tips for agent builders

- With a human-made account, use the Demo Company with a free Custom Connection (client_credentials) and the official MCP server or the REST API
- The MCP server is stdio and answers protocol 2025-11-25: use initialize, not server/discover
- Read the docs from GitHub (XeroAPI/Xero-OpenAPI, xero-mcp-server); developer.xero.com needs JavaScript
- The CLI's xero login opens a browser for PKCE (callback on localhost:8742)
