Built by Metorial, the integration platform for agentic AI.

Learn More

Xero Developer APIxero-mcp-server

Xero MCP Server

Tools

Delete Timesheet

Delete an existing payroll timesheet in Xero by its ID.

delete-timesheet

Get Timesheet

Retrieve a single payroll timesheet from Xero by its ID. This provides details such as the timesheet ID, employee ID, start and end dates, total hours, and the last updated date.

get-timesheet

Create Contact

Create a contact in Xero. When a contact is created, a deep link to the contact in Xero is returned. This deep link can be used to view the contact in Xero directly. This link should be displayed to the user.

create-contact

Create Credit Note

Create a credit note in Xero. When a credit note is created, a deep link to the credit note in Xero is returned. This deep link can be used to view the credit note in Xero directly. This link should be displayed to the user.

create-credit-note

Create Manual Journal

Create a manual journal in Xero. Retrieve a list of account codes in Xero to use for the journal lines. Journal lines must contain at least two individual journal lines with account codes, use basic accounting account types pairing when not specified, and make sure journal line pairs have credit and debit balanced.

create-manual-journal

Create Invoice

Create an invoice in Xero. When an invoice is created, a deep link to the invoice in Xero is returned. This deep link can be used to view the invoice in Xero directly. This link should be displayed to the user.

create-invoice

Create Quote

Create a quote in Xero. When a quote is created, a deep link to the quote in Xero is returned. This deep link can be used to view the quote in Xero directly. This link should be displayed to the user.

create-quote

Create Payment

Create a payment against an invoice in Xero. This tool records a payment transaction against an invoice. You'll need to provide the invoice ID, account ID to make the payment from, and the amount. The amount must be positive and should not exceed the remaining amount due on the invoice. A payment can only be created for an invoice that is status AUTHORIZED A payment can only be created for an invoice that is not fully paid When a payment is created, a deep link to the payment in Xero is returned. This deep link can be used to view the payment in Xero directly. This link should be displayed to the user.

create-payment

Create Item

Create an item in Xero.

create-item

Create Bank Transaction

Create a bank transaction in Xero. When a bank transaction is created, a deep link to the bank transaction in Xero is returned. This deep link can be used to view the bank transaction in Xero directly. This link should be displayed to the user.

create-bank-transaction

Create Timesheet

Create a new payroll timesheet in Xero. This allows you to specify details such as the employee ID, payroll calendar ID, start and end dates, and timesheet lines.

create-timesheet

Create Tracking Category

Create a tracking category in Xero.

create-tracking-category

Create Tracking Options

Create tracking options for a tracking category in Xero.

create-tracking-options

List Accounts

Lists all accounts in Xero. Use this tool to get the account codes and names to be used when creating invoices in Xero

list-accounts

List Contacts

List all contacts in Xero. This includes Suppliers and Customers.

list-contacts

List Credit Notes

List credit notes in Xero. Ask the user if they want to see credit notes for a specific contact, or to see all credit notes before running. Ask the user if they want the next page of credit notes after running this tool if 10 credit notes are returned. If they want the next page, call this tool again with the next page number and the contact if one was provided in the previous call.

list-credit-notes

List Invoices

List invoices in Xero. This includes Draft, Submitted, and Paid invoices. Ask the user if they want to see invoices for a specific contact, invoice number, or to see all invoices before running. Ask the user if they want the next page of invoices after running this tool if 10 invoices are returned. If they want the next page, call this tool again with the next page number and the contact or invoice number if one was provided in the previous call.

list-invoices

List Items

Lists all items in Xero. Use this tool to get the item codes and descriptions to be used when creating invoices in Xero

list-items

List Manual Journals

List all manual journals from Xero. Ask the user if they want to see a specific manual journal or all manual journals before running. Can optionally pass in manual journal ID to retrieve a specific journal, or a date to filter journals modified after that date. The response presents a complete overview of all manual journals currently registered in your Xero account, with their details. Ask the user if they want the next page of manual journals after running this tool if 10 manual journals are returned. If they want the next page, call this tool again with the next page number, modified date, and the manual journal ID if one was provided in the previous call.

list-manual-journals

List Quotes

List all quotes in Xero. Ask the user if they want to see quotes for a specific contact before running. Ask the user if they want the next page of quotes after running this tool if 10 quotes are returned. If they do, call this tool again with the page number and the contact provided in the previous call.

list-quotes

List Tax Rates

Lists all tax rates in Xero. Use this tool to get the tax rates to be used when creating invoices in Xero

list-tax-rates

List Trial Balance

Lists trial balance in Xero. This provides a snapshot of the general ledger, showing debit and credit balances for each account.

list-trial-balance

List Payments

List payments in Xero. This tool shows all payments made against invoices, including payment date, amount, and payment method. You can filter payments by invoice number, invoice ID, payment ID, or invoice reference. Ask the user if they want to see payments for a specific invoice, contact, payment or reference before running. If many payments are returned, ask the user if they want to see the next page.

list-payments

List Profit and Loss

Lists profit and loss report in Xero. This provides a summary of revenue, expenses, and profit or loss over a specified period of time.

list-profit-and-loss

List Bank Transactions

List all bank transactions in Xero. Ask the user if they want to see bank transactions for a specific bank account, or to see all bank transactions before running. Ask the user if they want the next page of quotes after running this tool if 10 bank transactions are returned. If they do, call this tool again with the next page number and the bank account if one was provided in the provided in the previous call.

list-bank-transactions

List Payroll Employees

List all payroll employees in Xero. This retrieves comprehensive employee details including names, User IDs, dates of birth, email addresses, gender, phone numbers, start dates, engagement types (Permanent, FixedTerm, or Casual), titles, and when records were last updated. The response presents a complete overview of all staff currently registered in your Xero payroll, with their personal and employment information. If there are many employees, ask the user if they would like to see more detailed information about specific employees before proceeding.

list-payroll-employees

List Report Balance Sheet

List the Balance Sheet report from Xero.

list-report-balance-sheet

List Organisation Details

Lists the organisation details from Xero. Use this tool to get information about the current Xero organisation.

list-organisation-details

List Payroll Employee Leave

List all leave records for a specific employee in Xero. This shows all leave transactions including approved, pending, and processed time off. Provide an employee ID to see their leave history.

list-payroll-employee-leave

List Payroll Leave Periods

List all leave periods for a specific employee in Xero. This shows detailed time off periods including start and end dates, period status, payment dates, and leave types. Provide an employee ID to see their leave periods.

list-payroll-leave-periods

List Payroll Employee Leave Types

List all leave types available for a specific employee in Xero. This shows detailed information about the types of leave an employee can take, including schedule of accrual, leave type name, and entitlement.

list-payroll-employee-leave-types

List Payroll Employee Leave Balances

List all leave balances for a specific employee in Xero. This shows current leave balances for all leave types available to the employee, including annual, sick, and other leave types.

list-payroll-employee-leave-balances

List Payroll Leave Types

Lists all available leave types in Xero Payroll. This provides information about all the leave categories configured in your Xero system, including statutory and organization-specific leave types.

list-payroll-leave-types

List Aged Receivables by Contact

Lists the aged receivables in Xero. This shows aged receivables for a certain contact up to a report date.

list-aged-receivables-by-contact

List Aged Payables by Contact

Lists the aged payables in Xero. This shows aged payables for a certain contact up to a report date.

list-aged-payables-by-contact

List Timesheets

List all payroll timesheets in Xero. This retrieves comprehensive timesheet details including timesheet IDs, employee IDs, start and end dates, total hours, and the last updated date.

list-timesheets

List Contact Groups

List all contact groups in Xero. You can optionally specify a contact group ID to retrieve details for that specific group, including its contacts.

list-contact-groups

List Tracking Categories

List all tracking categories in Xero, along with their associated tracking options.

list-tracking-categories

Update Contact

Update a contact in Xero. When a contact is updated, a deep link to the contact in Xero is returned. This deep link can be used to view the contact in Xero directly. This link should be displayed to the user.

update-contact

Update Credit Note

Update a credit note in Xero. Only works on draft credit notes. All line items must be provided. Any line items not provided will be removed. Including existing line items. Do not modify line items that have not been specified by the user. When a credit note is updated, a deep link to the credit note in Xero is returned. This deep link can be used to view the credit note in Xero directly. This link should be displayed to the user.

update-credit-note

Update Invoice

Update an invoice in Xero. Only works on draft invoices. All line items must be provided. Any line items not provided will be removed. Including existing line items. Do not modify line items that have not been specified by the user. When an invoice is updated, a deep link to the invoice in Xero is returned. This deep link can be used to view the contact in Xero directly. This link should be displayed to the user.

update-invoice

Update Manual Journal

Update a manual journal in Xero. Only works on draft manual journals. Do not modify line items or parameters that have not been specified by the user.

update-manual-journal

Update Quote

Update a quote in Xero. Only works on draft quotes. All line items must be provided. Any line items not provided will be removed. Including existing line items. Do not modify line items that have not been specified by the user. When a quote is updated, a deep link to the quote in Xero is returned. This deep link can be used to view the quote in Xero directly. This link should be displayed to the user.

update-quote

Update Item

Update an item in Xero.

update-item

Update Bank Transaction

Update a bank transaction in Xero. When a bank transaction is updated, a deep link to the bank transaction in Xero is returned. This deep link can be used to view the bank transaction in Xero directly. This link should be displayed to the user.

update-bank-transaction

Approve Timesheet

Approve a payroll timesheet in Xero by its ID.

approve-timesheet

Add Timesheet Line

Add a new timesheet line to an existing payroll timesheet in Xero.

add-timesheet-line

Update Timesheet Line

Update an existing timesheet line in a payroll timesheet in Xero.

update-timesheet-line

Revert Timesheet

Revert a payroll timesheet to draft in Xero by its ID.

revert-timesheet

Update Tracking Category

Updates an existing tracking category in Xero.

update-tracking-category

Update Tracking Options

Updates tracking options for a tracking category in Xero.

update-tracking-options