Connect your account, then chat with AI to run tools.
Ask in chat for overdue invoices, month-end P&L, cached report follow-ups, bank reconciliation, invoice attachments, payroll summaries, and supplier updates — scoped to one Xero organisation.
Try this workflow
Collections before month-end
List authorised sales invoices with outstanding balances in Xero, group by customer, and highlight who needs follow-up first.
Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.
Browse all toolsBuilt for
Bookkeepers, Finance Operations, Founder Finance, Hospitality Operators
Collections before month-end
Turns receivables into a collections queue without exporting aging reports.
List authorised sales invoices with outstanding balances in Xero, group by customer, and highlight who needs follow-up first.
Close the month in one thread
Combines standard reports into an operator-readable finance brief.
Run profit and loss, balance sheet, and aged receivables for the latest closed month in Xero and summarise the biggest movements.
Report follow-ups from cache
Narrows a cached report without another Xero Reports fetch.
Using the P&L you already pulled for last month, hide zero rows and show only the expense sections with the largest movements.
Attach the signed contract
Lists, downloads, and uploads document attachments from chat via Desktop.
Upload the signed venue contract PDF to the draft invoice for Harbor Ranch Events in Xero.
What is Xero MCP?
It is a MCPBundles connection that lets AI agents read and update your Xero organisation — contacts, invoices, payments, bank activity, journals, payroll, attachments, files, and financial reports — from chat after you connect your Xero account.
What Xero work can I do from chat?
Typical workflows include chasing overdue receivables, preparing month-end reports, reconciling bank lines, updating customers and suppliers, raising invoices or credit notes, listing and uploading attachments, and reviewing payroll runs — all scoped to the connected organisation.
How do cached financial reports work?
The first fetch for a report name and date range is stored on the connection. Follow-up questions can compact rows, cap line count, or filter sections on that stored payload without calling Xero again. Request a fresh pull only when someone needs numbers recomputed after late changes.
Related editorial
Xero Accounting Workflows with AI
Chase overdue invoices, run month-end reports with cached follow-ups, reconcile bank lines, upload invoice attachments, and clean up suppliers from chat — scoped to one Xero organisation per connection.
Domain knowledge for Xero — workflow patterns, data models, and gotchas for your AI agent.
Every call is scoped to one Xero organisation. The active organisation tenant is bound on the connection and sent automatically on each request.
Omit id to page a collection (page, optional where, optional order). Pass id to fetch one row.
All write tools use the upsert pattern:
Xero accepts create and update through the same POST collection endpoint; updates must include the resource id inside the payload.
Draft invoices, quotes, and credit notes accept field edits only while Status is DRAFT. Use xero_update_document_status to submit, authorise, void, or delete without editing line items. When updating draft documents, omit LineItems to preserve existing lines or include the full set — partial line-item lists replace the document lines.
After connect, MCPBundles caches account codes, contact names, tax types, bank-account availability, and Xero deeplink base URLs on the credential. Responses may include an org_scope envelope with cache age. Pass refresh_org_scope=true on xero_get_report after chart-of-accounts or contact changes.
Use xero_get_report with a report name such as ProfitAndLoss, BalanceSheet, TrialBalance, AgedReceivablesByContact, or AgedPayablesByContact, plus date parameters when required.
Report responses are snapshot-cached per credential for the same upstream parameters. Reuse compact, max_rows, and section_contains to narrow the presentation locally without another Xero call. Use refresh=true only when the user explicitly wants a fresh upstream fetch. xero_list_snapshots shows stored report snapshots for the connection.
The Xero dashboard opens with xero_open_app or on the first panel-driving tool call. Single invoice, quote, and credit-note reads render a document card; financial reports render a table view in the same panel.
When a user connects more than one Xero organisation, each organisation should be a separate connection. Use the connections listing tool to see authorised tenants and names.
Delete, void, or archive a Xero account by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when...
Delete, void, or archive a Xero bank transaction by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are vo...
Disconnect a Xero organisation from the current OAuth token using its connection id.
Delete, void, or archive a Xero contact by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when...
Delete, void, or archive a Xero credit note by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided ...
Delete a Xero file by id.
Delete, void, or archive a Xero invoice by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when...
Delete, void, or archive a Xero item by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when re...
Delete, void, or archive a Xero manual journal by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are void...
Delete, void, or archive a Xero purchase order by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are void...
Delete, void, or archive a Xero quote by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when r...
Delete, void, or archive a Xero receipt by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are voided when...
Delete, void, or archive a Xero tracking categorie by id. Draft rows are marked DELETED; authorised invoices, credit notes, and bank transactions are ...
Download an attachment from a Xero document. Large files return a presigned S3 download link instead of inline base64.
List or fetch Xero accounts. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero fixed assets. Omit id to list; pass id for one row.
List or fetch Xero fixed asset types. Omit id to list; pass id for one row.
List or fetch Xero bank transactions. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero budgets. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero contacts. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero credit notes. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero currencies. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero payroll employees. Omit id to page; pass id for one row.
List or fetch Xero files. Omit id to list; pass id for one row.
List or fetch Xero folders. Omit id to list; pass id for one row.
List or fetch Xero invoices. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero items. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero manual journals. Omit id to page the collection with optional where/order filters; pass id for the full row.
Fetch the connected Xero organisation profile, including base currency, country code, financial year settings, and tax configuration.
List or fetch Xero payments. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero payroll payroll settings. Omit id to page; pass id for one row.
List or fetch Xero payroll pay runs. Omit id to page; pass id for one row.
List or fetch Xero payroll pay slips. Omit id to page; pass id for one row.
List or fetch Xero projects. Omit id to list; pass id for one row.
List or fetch Xero project tasks. Omit id to list; pass id for one row.
List or fetch Xero project time. Omit id to list; pass id for one row.
List or fetch Xero purchase orders. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero quotes. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero receipts. Omit id to page the collection with optional where/order filters; pass id for the full row.
Fetch a Xero financial report by name. ProfitAndLoss, BalanceSheet, TrialBalance, BudgetSummary, ExecutiveSummary, and BankSummary require from_date a...
List or fetch Xero tax rates. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero payroll timesheets. Omit id to page; pass id for one row.
List or fetch Xero tracking categories. Omit id to page the collection with optional where/order filters; pass id for the full row.
List or fetch Xero users. Omit id to page the collection with optional where/order filters; pass id for the full row.
List attachments on a Xero document such as an invoice, quote, credit note, or contact.
List Xero organisations authorised for the current OAuth token, including tenant id, tenant name, and connection id.
List cached Xero upstream snapshots for this credential: report name, date range fingerprint, fetch time, and payload size. Does not call Xero.
Open the Xero interactive dashboard. Use when the user asks to open or view Xero before fetching a specific invoice, quote, credit note, or report. Us...
Change the status of a Xero invoice, quote, or credit note without editing line items. Use SUBMITTED or AUTHORISED to progress drafts, DELETED to remo...
Upload a file attachment to a Xero document. Inline base64 is capped at 1 MB; use local_path with MCPBundles Desktop or file_url for larger PDFs and i...
Create or update a Xero account. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on invoices,...
Create or update a Xero bank transaction. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on ...
Create or update a Xero contact. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on invoices,...
Create or update a Xero credit note. Omit id to create; pass id to update. Supply row fields or body_json. When updating, include all LineItems or omi...
Create or update a Xero payroll employee. Omit id to create; pass id to update.
Create or update a Xero file. Omit id to create; pass id to update.
Create or update a Xero invoice. Omit id to create; pass id to update. Supply row fields or body_json. When updating, include all LineItems or omit Li...
Create or update a Xero item. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on invoices, qu...
Create or update a Xero manual journal. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on in...
Update organisation-level Xero settings. Provide the fields to change as body_json matching the Organisation payload shape.
Create or update a Xero payment. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on invoices,...
Create or update a Xero payroll pay run. Omit id to create; pass id to update.
Create or update a Xero project. Omit id to create; pass id to update.
Create or update a Xero project task. Omit id to create; pass id to update.
Create or update a Xero project time. Omit id to create; pass id to update.
Create or update a Xero purchase order. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on in...
Create or update a Xero quote. Omit id to create; pass id to update. Supply row fields or body_json. When updating, include all LineItems or omit Line...
Create or update a Xero receipt. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits on invoices,...
Create or update a Xero payroll timesheet. Omit id to create; pass id to update.
Create or update a Xero tracking categorie. Omit id to create; pass id to update. Supply row fields or body_json. Only DRAFT rows accept field edits o...
It is a MCPBundles connection that lets AI agents read and update your Xero organisation — contacts, invoices, payments, bank activity, journals, payroll, attachments, files, and financial reports — from chat after you connect your Xero account.
Typical workflows include chasing overdue receivables, preparing month-end reports, reconciling bank lines, updating customers and suppliers, raising invoices or credit notes, listing and uploading attachments, and reviewing payroll runs — all scoped to the connected organisation.
The first fetch for a report name and date range is stored on the connection. Follow-up questions can compact rows, cap line count, or filter sections on that stored payload without calling Xero again. Request a fresh pull only when someone needs numbers recomputed after late changes.
Yes. Agents can list attachments on invoices and related documents, download files for review, and upload PDFs or images from your machine through MCPBundles Desktop. Large files use spillover download links instead of inline chat payloads.
Each connection targets one Xero organisation. If you manage several entities, connect each organisation separately so data never crosses tenants.
Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/xero. Authentication is handled automatically.
Xero provides 70 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.
Xero uses One-click sign in. Xero requires credentials. Connect via MCPBundles and authentication is handled automatically.
Connect Xero to any MCP client in minutes
https://mcp.mcpbundles.com/bundle/xeroThe link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.
Xero and paste the MCP URL into Remote MCP server URL.Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).
More financial integrations you might like
Recurly is a subscription billing platform that automates recurring billing, invoicing, and revenue ...
Brex provides a financial platform integrated with APIs to manage company expenses, accounting, and ...
SEC filings including 8-K, 10-K, 10-Q forms and company profile lookups
Earnings reports, dividend history, stock splits, and IPO calendars
Environmental, Social, and Governance (ESG) ratings and benchmarks
Treasury rates, economic indicators, and market risk premium data