Xero MCP Server
官方使用我们的官方MCP服务器与您企业中的会计数据进行交互。
文档
Xero MCP 服务器
这是一个针对 Xero 的模型上下文协议 (MCP) 服务器实现。它在 MCP 协议和 Xero 的 API 之间架起了一座桥梁,允许标准化地访问 Xero 的会计和业务功能。
功能特性
- 支持自定义连接的 Xero OAuth2 认证
- 联系人管理
- 会计科目表管理
- 发票创建与管理
- MCP 协议合规
先决条件
- Node.js(v18 或更高版本)
- npm 或 pnpm
- 拥有 API 凭证的 Xero 开发者账户
文档与链接
设置
创建 Xero 账户
如果你还没有 Xero 账户和组织,可以通过免费试用在此处注册创建一个。
我们建议从演示公司开始,因为它预装了一些示例数据。登录后,使用左上角的下拉菜单切换到“演示公司”。你可以随时通过左上角的下拉菜单导航到我的 Xero来重置演示公司的数据或更改国家/地区。
注意:要使用特定于工资单的查询,地区应为新西兰或英国。
认证
Xero MCP 服务器支持两种认证模式:
1. 自定义连接
这是测试和开发的更好选择,允许你为特定组织指定客户端 ID 和密钥。 如果你将其集成到第三方 MCP 客户端(如 Claude Desktop),这也是推荐的方法。
配置你的 Xero 开发者账户
按照以下说明设置自定义连接:https://developer.xero.com/documentation/guides/oauth2/custom-connections/
所需范围
自定义连接根据其创建时间需要不同的范围。相关列表中的所有范围都必须添加到你的自定义连接中:
| 自定义连接创建时间 | 所需范围 |
|---|---|
| 2026 年 4 月 29 日之前 | SCOPES_V1(捆绑权限) |
| 2026 年 4 月 29 日起 | SCOPES_V2(细粒度权限) |
注意: MCP 服务器会自动先尝试 V1 范围,如果需要则回退到 V2。
你可以通过将
XERO_SCOPES环境变量设置为以空格分隔的范围列表来覆盖这些设置。
将 MCP 服务器与 Claude Desktop 集成
要将 MCP 服务器添加到 Claude,请前往“设置”>“开发者”>“编辑配置”,并将以下内容添加到你的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_ID": "your_client_id_here",
"XERO_CLIENT_SECRET": "your_client_secret_here",
"XERO_SCOPES": "accounting.invoices accounting.contacts accounting.settings"
}
}
}
}
XERO_SCOPES 变量是可选的。如果省略,将使用上面列出的默认范围。
注意:如果你正在使用 Node 版本管理器,请将 "command": "npx" 部分更改为可执行文件的完整路径,即:Mac / Linux 上为 your_home_directory/.nvm/versions/node/v22.14.0/bin/npx,Windows 上为 "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx"。
2. 持有者令牌
如果你要在运行时支持多个 Xero 账户,并允许 MCP 客户端根据需要执行认证流程(如 PKCE),这是更好的选择。 在这种情况下,请使用以下配置:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
注意:如果定义了 XERO_CLIENT_BEARER_TOKEN,它将优先于 XERO_CLIENT_ID。
持有者令牌所需范围
获取持有者令牌时,你必须请求适当的范围。你应请求的范围是:
注意: 一些范围正被弃用,转而使用更细粒度的范围。有关弃用时间表的详细信息,请参阅 Xero OAuth 2.0 范围文档。
accounting.transactions (Deprecated)
accounting.transactions.read (Deprecated)
accounting.invoices
accounting.invoices.read
accounting.payments
accounting.payments.read
accounting.banktransactions
accounting.banktransactions.read
accounting.manualjournals
accounting.manualjournals.read
accounting.reports.read (Deprecated)
accounting.reports.aged.read
accounting.reports.balancesheet.read
accounting.reports.profitandloss.read
accounting.reports.trialbalance.read
accounting.contacts
accounting.settings
payroll.settings
payroll.employees
payroll.timesheets
可用的 MCP 命令
list-accounts:检索账户列表list-contacts:从 Xero 检索联系人列表list-credit-notes:检索贷项通知单列表list-invoices:检索发票列表list-items:检索项目列表list-manual-journals:检索手动日记账列表list-organisation-details:检索组织详情list-profit-and-loss:检索损益报告list-quotes:检索报价列表list-tax-rates:检索税率列表list-payments:检索付款列表list-trial-balance:检索试算平衡表报告list-bank-transactions:检索银行账户交易列表list-payroll-employees:检索工资单员工列表list-report-balance-sheet:检索资产负债表报告list-payroll-employee-leave:检索工资单员工的休假记录list-payroll-employee-leave-balances:检索工资单员工的休假余额list-payroll-employee-leave-types:检索工资单休假类型列表list-payroll-leave-periods:检索工资单员工的休假期间列表list-payroll-leave-types:检索 Xero 工资单中所有可用休假类型的列表list-timesheets:检索工资单考勤表列表list-aged-receivables-by-contact:检索联系人的应收账款账龄list-aged-payables-by-contact:检索联系人的应付账款账龄list-contact-groups:检索联系人组列表list-tracking-categories:检索跟踪类别列表create-bank-transaction:创建新的银行交易create-contact:创建新的联系人create-credit-note:创建新的贷项通知单create-invoice:创建新的发票create-item:创建新的项目create-manual-journal:创建新的手动日记账create-payment:创建新的付款create-quote:创建新的报价create-payroll-timesheet:创建新的工资单考勤表create-tracking-category:创建新的跟踪类别create-tracking-option:创建新的跟踪选项update-bank-transaction:更新现有的银行交易update-contact:更新现有的联系人update-invoice:更新现有的草稿发票update-item:更新现有的项目update-manual-journal:更新现有的手动日记账update-quote:更新现有的草稿报价update-credit-note:更新现有的草稿贷项通知单update-tracking-category:更新现有的跟踪类别update-tracking-options:更新跟踪选项update-payroll-timesheet-line:更新现有工资单考勤表上的行approve-payroll-timesheet:批准工资单考勤表revert-payroll-timesheet:撤销已批准的工资单考勤表add-payroll-timesheet-line:在现有工资单考勤表上添加新行delete-payroll-timesheet:删除现有的工资单考勤表get-payroll-timesheet:检索现有的工资单考勤表
有关详细的 API 文档,请参阅 MCP 协议规范。
面向开发者
安装
# Using npm
npm install
# Using pnpm
pnpm install
运行构建
# Using npm
npm run build
# Using pnpm
pnpm build
与 Claude Desktop 集成
要将开发中的 Xero MCP 服务器链接到 Claude Desktop,请前往“设置”>“开发者”>“编辑配置”,并将以下内容添加到你的 claude_desktop_config.json 文件中:
注意:对于 Windows,请确保 args 路径在文件夹之间转义 \,即 "C:\\projects\xero-mcp-server\\dist\\index.js"。
{
"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"
}
}
}
}
许可证
MIT
安全
请不要将你的 .env 文件或任何敏感凭证提交到版本控制中(它已作为安全默认设置包含在 .gitignore 中)。