Xero

io.github.mindstone由 GitHub 账号 mindstone 发布v0.1.1更新于 Oct 27, 2026

Xero MCP server for invoices, contacts, payments, quotes, and financial reports.

概览

AI 生成的概览

把 AI 助手连接到 Xero 会计:查询发票、联系人、付款、报价与财务报表,并可创建或更新记录。

可以做什么
  • 查询发票、贷项通知单、报价、采购订单、付款、商品、税率、货币与联系人分组
  • 读取联系人、组织信息、银行交易与发票附件
  • 获取财务报表:损益表、资产负债表、试算平衡表、银行汇总、预算汇总、高管摘要、按联系人的应收与应付账龄
  • 创建和更新联系人、发票、贷项通知单、报价与采购订单
  • 读取并追加发票、联系人、贷项通知单、银行交易与报价的历史备注
  • 处理薪资:员工、休假记录与余额、休假类型、工时表及其审批
适用场景
适合让助手直接回答某个 Xero 组织的财务问题,或起草并登记会计凭证,而不必切换到 Xero 网页端。单组织场景用 Custom Connection 即可,多账户场景可用 bearer token。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js v20 或更高版本以及 npm 或 pnpm。需要 Xero 账户与组织,以及带 Custom Connection 的 Xero 开发者账户:必须提供 XERO_CLIENT_ID 与 XERO_CLIENT_SECRET,或改用 XERO_CLIENT_BEARER_TOKEN。需要访问 Xero API 的网络。薪资查询要求组织位于 NZ 或 UK。
安装前请注意
需要 Xero API 凭据:XERO_CLIENT_ID、XERO_CLIENT_SECRET,以及可选的 XERO_CLIENT_BEARER_TOKEN,后者优先于客户端凭据。许多工具会写入真实会计数据,包括创建发票、付款、贷项通知单与采购订单,更新记录,审批或删除薪资工时表,以及向联系人发送发票邮件。建议先用 Demo Company 试用。工具名没有前缀,可能与其他服务器冲突。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Xero,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Xero MCP Server

This is a Model Context Protocol (MCP) server implementation for Xero. It provides a bridge between the MCP protocol and Xero's API, allowing for standardized access to Xero's accounting and business features.

Provenance

This package is Mindstone's maintained build of Xero's community Xero MCP server, announced on the Xero Developer Blog and developed upstream at XeroAPI/xero-mcp-server. It adds improvements and hardening by Mindstone on top of the upstream project.

One-click install

[Add to Cursor] [Add to VS Code] [Add to VS Code Insiders]

After clicking the button, your host will prompt you to fill: XERO_CLIENT_ID, XERO_CLIENT_SECRET, XERO_CLIENT_BEARER_TOKEN.

Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Xero)
json
{  "mcpServers": {    "Xero": {      "command": "npx",      "args": [        "-y",        "@mindstone/mcp-server-xero"      ],      "env": {        "XERO_CLIENT_ID": "",        "XERO_CLIENT_SECRET": "",        "XERO_CLIENT_BEARER_TOKEN": ""      }    }  }}

Features

  • Xero OAuth2 authentication with custom connections
  • Contact management
  • Chart of Accounts management
  • Invoice creation and management
  • MCP protocol compliance

Prerequisites

  • Node.js (v20 or higher)
  • npm or pnpm
  • A Xero developer account with API credentials

Docs and Links

Setup

Create a Xero Account

If you don't already have a Xero account and organisation already, can create one by signing up here using the free trial.

We recommend using a Demo Company to start with because it comes with some pre-loaded sample data. Once you are logged in, switch to it by using the top left-hand dropdown and selecting "Demo Company". You can reset the data on a Demo Company, or change the country, at any time by using the top left-hand dropdown and navigating to My Xero.

NOTE: To use Payroll-specific queries, the region should be either NZ or UK.

Authentication

There are 2 modes of authentication supported in the Xero MCP server:

1. Custom Connections

This is a better choice for testing and development which allows you to specify client id and secrets for a specific organisation. It is also the recommended approach if you are integrating this into 3rd party MCP clients such as Claude Desktop.

Configuring your Xero Developer account

Set up a Custom Connection following these instructions: https://developer.xero.com/documentation/guides/oauth2/custom-connections/

Currently the following scopes are required for Custom Connection sessions: scopes

Integrating the MCP server with Claude Desktop

To add the MCP server to Claude go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json file:

json
{  "mcpServers": {    "xero": {      "command": "npx",      "args": ["-y", "@mindstone/mcp-server-xero@latest"],      "env": {        "XERO_CLIENT_ID": "your_client_id_here",        "XERO_CLIENT_SECRET": "your_client_secret_here"      }    }  }}

NOTE: If you are using Node Version Manager "command": "npx" section change it to be the full path to the executable, ie: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx on Mac / Linux or "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx" on Windows

2. Bearer Token

This is a better choice if you are to support multiple Xero accounts at runtime and allow the MCP client to execute an auth flow (such as PKCE) as required. In this case, use the following configuration:

json
{  "mcpServers": {    "xero": {      "command": "npx",      "args": ["-y", "@mindstone/mcp-server-xero@latest"],      "env": {        "XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"      }    }  }}

NOTE: The XERO_CLIENT_BEARER_TOKEN will take precedence over the XERO_CLIENT_ID if defined.

Available MCP Commands

Tool naming: this connector's tools use unprefixed dash-case names (e.g. list-invoices, create-contact), inherited from its fork lineage. Sibling connectors use prefixed snake_case names (e.g. list_quickbooks_invoices). In multi-server hosts, unprefixed generic names can collide with other servers' tools. Renaming would be a breaking change for existing configurations, so the names are kept as-is; if your host supports namespacing/aliasing, prefer enabling it for this server.

  • list-accounts: Retrieve a list of accounts
  • list-contacts: Retrieve a list of contacts from Xero
  • list-credit-notes: Retrieve a list of credit notes
  • list-invoices: Retrieve a list of invoices
  • list-items: Retrieve a list of items
  • list-organisation-details: Retrieve details about an organisation
  • list-profit-and-loss: Retrieve a profit and loss report
  • list-bank-summary: Retrieve the bank summary report (per-account balances and movements)
  • list-budget-summary: Retrieve the budget summary report (budget vs actuals)
  • list-executive-summary: Retrieve the executive summary report (key financial metrics snapshot)
  • list-quotes: Retrieve a list of quotes
  • list-tax-rates: Retrieve a list of tax rates
  • list-payments: Retrieve a list of payments
  • list-trial-balance: Retrieve a trial balance report
  • list-profit-and-loss: Retrieve a profit and loss report
  • list-bank-transactions: Retrieve a list of bank account transactions
  • list-payroll-employees: Retrieve a list of Payroll Employees
  • list-report-balance-sheet: Retrieve a balance sheet report
  • list-payroll-employee-leave: Retrieve a Payroll Employee's leave records
  • list-payroll-employee-leave-balances: Retrieve a Payroll Employee's leave balances
  • list-payroll-employee-leave-types: Retrieve a list of Payroll leave types
  • list-payroll-leave-periods: Retrieve a list of a Payroll Employee's leave periods
  • list-payroll-leave-types: Retrieve a list of all avaliable leave types in Xero Payroll
  • list-aged-receivables-by-contact: Retrieves aged receivables for a contact
  • list-aged-payables-by-contact: Retrieves aged payables for a contact
  • list-contact-groups: Retrieve a list of contact groups
  • list-currencies: Retrieve currencies enabled in the connected Xero organisation
  • list-invoice-attachments: Retrieve files attached to a Xero invoice
  • list-purchase-orders: Retrieve a list of purchase orders
  • create-contact: Create a new contact
  • create-credit-note: Create a new credit note
  • create-invoice: Create a new invoice. Supports optional currencyCode, such as USD, when that currency is enabled in the connected Xero organisation.
  • create-payment: Create a new payment
  • create-quote: Create a new quote
  • create-purchase-order: Create a new purchase order
  • create-credit-note: Create a new credit note
  • create-payroll-timesheet: Create a new Payroll Timesheet
  • update-contact: Update an existing contact
  • update-invoice: Update an existing draft invoice. Supports optional currencyCode, such as USD, when that currency is enabled in the connected Xero organisation.
  • update-quote: Update an existing draft quote
  • update-credit-note: Update an existing draft credit note
  • get-invoice-history: Retrieve the history records for an invoice
  • add-invoice-note: Add an immutable note to an invoice history
  • get-contact-history: Retrieve the history records for a contact
  • add-contact-note: Add an immutable note to a contact history
  • get-credit-note-history: Retrieve the history records for a credit note
  • add-credit-note-note: Add an immutable note to a credit note history
  • get-bank-transaction-history: Retrieve the history records for a bank transaction
  • add-bank-transaction-note: Add an immutable note to a bank transaction history
  • get-quote-history: Retrieve the history records for a quote
  • add-quote-note: Add an immutable note to a quote history
  • update-payroll-timesheet-line: Update a line on an existing Payroll Timesheet
  • approve-payroll-timesheet: Approve a Payroll Timesheet
  • revert-payroll-timesheet: Revert an approved Payroll Timesheet
  • add-payroll-timesheet-line: Add new line on an existing Payroll Timesheet
  • delete-payroll-timesheet: Delete an existing Payroll Timesheet
  • get-payroll-timesheet: Retrieve an existing Payroll Timesheet
  • email-invoice: Email a copy of an AUTHORISED invoice to its related contact

For detailed API documentation, please refer to the MCP Protocol Specification.

For Developers

Installation

bash
# Using npmnpm install
# Using pnpmpnpm install

Run a build

bash
# Using npmnpm run build
# Using pnpmpnpm build

Integrating with Claude Desktop

To link your Xero MCP server in development to Claude Desktop go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json file:

NOTE: For Windows ensure the args path escapes the \ between folders ie. "C:\\projects\xero-mcp-server\\dist\\index.js"

json
{  "mcpServers": {    "xero": {      "command": "node",      "args": ["insert-your-file-path-here/xero-mcp-server/dist/index.js"],      "env": {        "XERO_CLIENT_ID": "your_client_id_here",        "XERO_CLIENT_SECRET": "your_client_secret_here"      }    }  }}

License

MIT

Security

Please do not commit your .env file or any sensitive credentials to version control (it is included in .gitignore as a safe default.)

来源:connectors/xero/README.md,提交 22c4611

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。