Xero

Xero MCP Server

Knit's Xero MCP Server lets AI agents in Claude, Cursor, Windsurf or your own MCP client use Xero as a set of tools, with 14 Xero actions available today. Knit hosts the server and manages Xero authentication, and you can combine Xero tools with tools from other apps in the same server.

How to set up the Xero MCP Server

  1. 1. Sign in to MCP Hub

    Log in to Knit's MCP Hub with Google, Microsoft or email.

  2. 2. Pick your tools

    Create a server and select the Xero tools you need. Add tools from other apps to the same server if your agent needs them.

  3. 3. Name and deploy

    Name and describe the server, then choose a deployment method.

  4. 4. Connect your client

    Choose Claude, Cursor, Windsurf or a custom client and follow its setup flow, using the server URL and token Knit gives you.

Read the full setup guide →

Knit vs the official Xero MCP server

Xero also publishes an official Xero MCP server. Here's how the two compare.

Official Xero MCP server

  • Access and auth: Each user authorizes Xero separately in every AI client they connect.
  • Apps per server: Xero tools only. Every other app needs its own server and login.
  • Monitoring: Visibility depends on what Xero's own admin tools show.

Knit Xero MCP Server

  • Access and auth: Knit manages access: it stores and refreshes credentials, and clients connect with one server URL and token.
  • Apps per server: Combine Xero tools with tools from other apps in a single MCP server. How it works
  • Monitoring: Built-in monitoring and observability across every app in the server.

If Xero is the only app your agent needs, the official server is a good fit. Knit fits when your agent works across several apps, or when you want access and monitoring managed in one place.

Building Integrations Together·4.9 out of 5 stars4.9/5 on G2·GoogleGoogle for Startups Accelerator
prismforceHackerearthIsotopes AIInfojobsPayoneerOutsolveSkuadPayworksItiliteOnsurityRazorpayXMultiplierPeoplestrongScrutCeipal

Key Features

All the power of AI-ready tools — serverless hosting, mix-and-match APIs, live updates, semantic search, and built-in auth — in a single, plug-and-play platform.

Serverless by Default

Spin up MCP Servers with zero infrastructure — Knit scales, patches, and monitors everything for you.

Mix-and-Match Tool Bundles

Deploy only the API tools you need from any app in a single lightweight server — no bloat, no duplication.

Plug-In Your Own APIs

Expose custom endpoints as AI-ready tools alongside Knit's catalog, unifying proprietary logic and third-party apps in one place.

Semantic Tool Search

Natural-language search surfaces the right tools for each use case, shrinking token costs and boosting LLM accuracy.

Hot-Swap Tools at Runtime

Add or remove tools without downtime; your agents see new capabilities instantly — no server restarts required.

Auth Handled for You

OAuth, SAML, service accounts — Knit manages credentials and refreshes so your team never wrestles with tokens.

See It In Action

Watch an agent automate workflows — all with Knit's plug-and-play MCP Servers.

Actions Available via Xero MCP Server

Every action below is real and already live — not a roadmap item. Browse the full API reference →

Create Payment in Accounting System

This API endpoint allows the creation of a payment in the accounting system. It supports various applications such as Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The body must include 'accountId', 'contactId', 'amount', 'invoiceId', 'paymentLinkedTo', and 'linkedInvoices'. Optional fields include 'date', 'description', 'currency', 'exchangeRate', and 'metaData'. The response returns a success status and the 'paymentId' if successful, or an error message if failed.

Create Accounting Expense

The Create Accounting Expense API allows users to create a new expense record in the accounting system. The request requires a transaction date, total amount, and line items as mandatory fields. Optional fields include employee ID, contact ID, company ID, description, currency, and metadata. The response returns a success status and the ID of the created expense if successful, or an error message if the request fails.

Create Accounting Account

This API endpoint allows the creation of an accounting account. It supports various applications like Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The request requires a JSON body with 'name' and 'category' as mandatory fields. The 'category' can be either 'BANK_ACCOUNT' or 'LEDGER_ACCOUNT'. Additional optional fields include 'type', 'subType', 'accountCode', 'accountNumber', 'description', and 'metaData'. The response returns a success status and the unique 'accountId' of the created account. In case of an error, a descriptive error message is provided.

Create Journal Entry

This API endpoint allows the creation of a journal entry with specified details. The request must include headers specifying 'accept' and 'content-type' as 'application/json'. The body of the request requires 'date', 'lineItems', and 'description' as mandatory fields. 'lineItems' is an array of objects, each containing 'accountId', 'amount', 'notes', 'transactionType', 'contactType', and 'contactId'. Optional fields include 'currency', 'referenceNumber', and 'metaData'. The response returns a success status and a 'journalId' if successful, or an error message if unsuccessful.

Get Tracking Categories for Financial Reporting

This API endpoint retrieves tracking categories used for financial reporting purposes. It supports various applications such as Xero, Microsoft Dynamics 365, Quickbooks, Netsuite, and Freshbooks. The request requires an 'accept' header with 'application/json' and optionally a 'categoryId' query parameter to specify a particular tracking category. The response includes a success flag and data containing an array of tracking categories with details such as id, name, creation and update timestamps, category type, status, description, and parent category information.

Get Tax Rates from Accounting App

This API endpoint retrieves tax rates from an accounting application. It supports various apps such as Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The API method is GET, and it requires an 'accept' header with 'application/json'. Optionally, a 'taxRateId' can be provided as a query parameter to fetch details of a specific tax rate. The response includes a success flag, and if successful, a list of tax rates with details such as id, name, code, type, creation and update timestamps, status, description, effective and total tax rates, and components. In case of an error, an error message is returned.

Update Accounting Invoice

The Update Accounting Invoice API allows users to update an existing invoice in various supported applications such as Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The API requires a POST request with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include 'type', 'invoiceId', 'contactId', and 'lineItems'. Additional optional fields include 'invoiceNumber', 'status', 'issueDate', 'dueDate', 'paidOnDate', 'currency', 'exchangeRate', 'description', 'totalAmount', 'totalTax', 'totalDiscount', and 'metaData'. The response will indicate success or failure, with a success response containing a 'success' boolean and a failure response containing an 'error' object with a descriptive message.

Create Accounting Contact

This API endpoint allows the creation of a new accounting contact. The request requires a POST method to the specified URL with headers indicating 'accept' and 'content-type' as 'application/json'. The request body must include 'name' and 'contactType' as required fields, with optional fields such as 'contactPersonFirstName', 'contactPersonLastName', 'email', 'phoneNumber', 'taxNumber', 'addresses', and 'metaData'. The response will return a success status with a 'contactId' if successful, or an error message if unsuccessful.

Get Basic Information About Companies Related to Accounting App

This API endpoint allows you to retrieve basic information about companies related to your accounting app. It supports various apps such as Xero, Zohobooks, Microsoft Dynamics 365, Quickbooks, Freshbooks, and Netsuite. The request is made using the GET method and requires an 'accept' header with 'application/json'. You can optionally provide a 'companyId' as a query parameter to fetch details for a specific company. The response includes a success flag and data containing an array of company details such as id, name, legal name, tax number, fiscal year start month and day, creation date, active status, currency, URLs, addresses, phone numbers, and contact information.

Update Payment Details

The Update Payment Details API allows updating payment information linked to invoices or bills. It requires parameters such as paymentId, accountId, contactId, amount, invoiceId, and paymentLinkedTo. Optional fields include date, description, currency, exchangeRate, linkedInvoices, and metaData. The response indicates success or failure with an optional error message.

Create Accounting Invoice

The Create Accounting Invoice API allows users to create an invoice or bill in the accounting system. The request requires a JSON body with the type of document (INVOICE or BILL), a contact ID, and at least one line item. Additional optional fields include status, invoice number, issue date, due date, paid on date, currency, exchange rate, description, total amount, total tax, total discount, and metadata. The response returns a success status and the created invoice ID if successful, or an error message if the request fails.

Get Accounting Items

The Get Accounting Items API allows customers to retrieve records of products and services they buy and sell. It supports various applications such as Xero, Zohobooks, Microsoft Dynamics 365, Quickbooks, Netsuite, and Freshbooks. The API accepts a query parameter 'itemId' to fetch details of a specific item. The response includes details such as item ID, name, code, type, creation and update timestamps, status, description, total quantity, unit price, sales details, and purchase details. In case of an error, a descriptive error message is returned.

Update Accounting Account

The Update Accounting Account API allows users to update details of an existing accounting account. The API requires the accountId and category as mandatory fields in the request body. The category can be either BANK_ACCOUNT or LEDGER_ACCOUNT. The API supports various accounting applications such as Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The response indicates whether the update was successful or not, and in case of an error, a descriptive message is provided.

Update Accounting Contact

The Update Accounting Contact API allows users to update contact information in supported accounting applications such as Xero, Zohobooks, Microsoft Dynamics 365, Sage Intacct, Quickbooks, Netsuite, and Freshbooks. The API requires a POST request with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include 'name', 'contactType', and 'contactId' as required fields, along with optional fields such as 'contactPersonFirstName', 'contactPersonLastName', 'email', 'phoneNumber', 'taxNumber', 'addresses', and 'metaData'. The response will indicate success with a boolean and may include additional data or an error message if applicable.

Missing an action?

Our AI Agent builds it instantly.

Try Now

Enterprise-grade security

SOC 2 certified GDPR compliant ISO 27001 certified
Visit our Security Center Review the DPA

Customer Stories

See how leading technology firms are scaling their operations

Amazing Product With Exceptional Support from the team. By using Knit we managed to speed up our development by orders of magnitude.
H
Huynh H
Developer, Multiplier
A brilliant tool to let you seamlessly integrate with many different systems. It is very easy to integrate with and customer support is next level.
J
Jayesh
Co-Founder, Scrut
Seamless integration experience. Well-documented, self-explanatory APIs, and excellent service and support.
P
Poorvi
Product Manager, Onsurity
Easy to integrate. Knit's dashboard is intuitive for setting up and testing integrations, and the sandbox is extremely useful during development.
A
Aditya
Product Lead, RazorpayXPayroll
Knit shipped a brand-new Timesheet API in a week and handed us a ready-to-use NetSuite sandbox. That velocity is priceless when you're running payroll in 40+ countries.
R
Rohit Singh
GM, Payoneer Workforce Management

#1 in Ease of Integrations

4.9 out of 5 stars

4.9 out of 5 stars on G2

G2 Leader, Spring 2026G2 Fastest Implementation, Spring 2026G2 High Performer, Spring 2026G2 Best Est. ROI, Spring 2026
FAQ

Common questions about the Xero MCP Server

How do I set up the Xero MCP Server?

Sign in to Knit's MCP Hub with Google, Microsoft or email, create a server and select the Xero tools you need, then name it, pick a deployment method and choose your client: Claude, Cursor, Windsurf or a custom client. Knit gives you a server URL and token to connect it.

Is there an official Xero MCP server? How is Knit different?

Yes. Xero publishes its own Xero MCP server. Knit's version adds managed access and auth, the option to combine Xero tools with other apps in one server, and built-in monitoring and observability. If Xero is the only app your agent needs, the official server is a good fit.

Can one MCP server include Xero and other apps?

Yes. When you create a server in Knit's MCP Hub you can pick tools from one or more apps, so a single server URL gives your agent Xero and the other tools it needs.

Does Knit have an MCP Server for Xero out of the box?

Yes — the Xero MCP Server is live and already built, not a roadmap item. It exposes Xero's real actions as AI-ready tools your agent can call directly.

Does the Xero MCP Server support both reading and writing data?

Yes. Its actions cover both reads and writes, so your agent can pull data from Xero and push updates back to it, not just query it.

How does authentication work for the Xero MCP Server?

Knit manages Xero's OAuth, credential storage, and refresh for you — there's no auth to configure yourself before your agent can start calling tools.

What happens if Xero changes their API?

Knit absorbs it. We maintain and update the Xero connector on our end, so the MCP Server keeps working without you tracking Xero's changelog.

Do you store Xero data or customer PII?

No. Knit acts as a stateless passthrough — data is processed on our application server and returned directly to your agent, without being stored on Knit's servers.

What is the pricing model, and is there a free trial?

You choose the model that fits your business — pricing based on integrated accounts, or based on API call volume. Every plan includes a 30-day free trial before billing starts.

Can I use this as an LLM tool for function calling?

Yes — this MCP server exposes Xero's actions as tools your AI agent can call directly, the same underlying capability previously offered as a standalone LLM Tool integration. MCP is the protocol; the tool-calling access is the same.

Does this work with Claude, GPT, and other LLMs?

Yes — any MCP-compatible client or agent framework can connect to this server and call its exposed actions, regardless of which underlying LLM is driving the agent.

See all FAQs

From the blog

Xero API Integration Guide (In-Depth)

Xero API Integration Guide (In-Depth)

Your complete guide to Xero API integration. Learn to automate invoicing , reporting , and payroll using Xero's REST API , manage OAuth 2.0, and explore key use cases.

Put Integrations on Autopilot. Talk to Experts.

Knit is loved by customers across the globe due to our seamless product and white glove support. You'll love us too!

Talk to a Human