Xero 插件接入指南:在 Cursor 中通过官方 MCP 服务器读写会计与薪酬数据
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
本篇指南讲解 Cursor 官方 Xero 插件的完整接入方式:如何通过 Xero 官方的 Model Context Protocol(MCP)服务器,让 Agent 在本地直接读写 Xero 组织的会计与薪酬数据(发票、联系人、科目表、付款、报价、日记账、报表、考勤表)。读完本文你将掌握插件的安装流程、基于 Custom Connection 的机器对机器鉴权配置、完整的 MCP 配置文件写法,以及工具调用的权限边界与多组织扩展方法。
插件是什么
Xero 插件是 Cursor 官方插件体系中面向财务场景的一员,仓库根目录 README.md 的插件清单将其归类为 Integrations,描述为 "Read and write invoices, contacts, reports, and payroll"(读写发票、联系人、报表与薪酬数据)。它与 GitHub、Salesforce、Google Drive 等第三方插件并列存放于 third_party/xero/ 目录,目录内包含完整的 MCP 配置(mcp.json)、变更记录(CHANGELOG.md)、MIT 许可(LICENSE)与说明文档。
从功能上看,该插件让 Agent 可以读写单个 Xero 组织的以下业务数据:
- 会计数据:发票、联系人、科目表(chart of accounts)、付款、报价、信用票据、银行交易、手工日记账;
- 薪酬数据:员工、休假、休假类型、考勤表(timesheets,仅限新西兰与英国组织)。
工作原理:本地 stdio 服务器 + Custom Connection 鉴权
理解这个插件前,需要先把握两个关键事实:
- Xero 没有发布托管的远程 MCP 端点。它的官方服务器
@xeroapi/xero-mcp-server以stdio类型在本地运行,由 Cursor 负责拉起进程; - 鉴权不使用浏览器登录流程,而是采用Custom Connection——Xero 的机器对机器(machine-to-machine)OAuth 2.0 流程。因此插件要求用户提供Client ID 与 Client Secret,而不是弹出浏览器让用户手动授权。
Custom Connection 与传统的用户授权连接有本质区别:它绑定单个 Xero 组织,属于按组织付费的增值功能。这意味着每个 Custom Connection 只能操作一个组织;若要操作多个组织,需要为每个组织分别创建一个连接。此外,薪酬(payroll)类工具仅对新西兰或英国的组织可用。
安装插件
安装方式有两种,任选其一:
方式一:通过设置界面安装
- 打开Cursor Settings → Plugins(Cursor 设置 → 插件);
- 搜索Xero;
- 点击Install(安装),随后配置 Xero 的 Client ID 与 Client Secret。
方式二:通过聊天命令安装
在 Cursor 聊天框中直接运行/add-plugin xero。
MCP 配置详解
插件在仓库中携带的官方 MCP 配置位于 third_party/xero/mcp.json,内容如下:
{ "mcpServers": { "xero": { "type": "stdio", "command": "npx", "args": [ "-y", "@xeroapi/xero-mcp-server@latest" ], "env": { "XERO_CLIENT_ID": "${XERO_CLIENT_ID}", "XERO_CLIENT_SECRET": "${XERO_CLIENT_SECRET}" } } } }各字段的含义与使用要点:
| 字段 | 值 | 说明 |
|---|---|---|
type | stdio | 服务器类型为本地标准输入输出,而非远程http端点;对比可参考 GitHub 插件的远程http配置 |
command | npx | 本地启动命令。运行 Cursor 的机器上必须预装 npx(Node.js 环境),首次运行时会自动下载@xeroapi/xero-mcp-server包 |
args | -y+ 包名 | -y表示自动确认安装,@latest标签保证使用 npm 上的最新发布版本 |
env.XERO_CLIENT_ID | ${XERO_CLIENT_ID} | 占位符,由 Cursor 在配置面板中注入实际值 |
env.XERO_CLIENT_SECRET | ${XERO_CLIENT_SECRET} | 占位符,由 Cursor 在配置面板中注入实际值 |
这里的${XERO_CLIENT_ID}、${XERO_CLIENT_SECRET}是环境变量占位符,安装后需要在Dashboard → Plugins → Configure(仪表盘 → 插件 → 配置)中填入真实凭据,Cursor 会在拉起本地 MCP 服务器进程时将其注入到环境变量中。
值得说明的是,该插件并非通过单独的.cursor-plugin/plugin.json清单来声明组件,而是直接以仓库根下的 MCP 配置文件形式提供服务器定义。仓库的插件清单规范 schemas/plugin.schema.json 定义了mcpServers字段的三种合法形态:路径字符串、内联配置对象、或两者组成的数组——Xero 插件采用的正是"内联配置对象"形态。仓库的校验脚本 scripts/validate-plugins.mjs 会依据该 schema 对市场清单中每个插件的 manifest 做合法性校验。
连接前的准备步骤
在配置插件之前,需要先在 Xero 开发者平台完成以下四步:
- 登录 developer.xero.com(Xero 开发者平台),创建一个启用Custom Connection选项的应用;
- 提前选好 scope(权限范围)。需要注意版本差异:2026-04-29 之前创建的连接使用捆绑的 scope 列表,之后创建的连接使用细粒度(granular)的 scope 列表。服务器会先尝试捆绑 scope 集合,失败时自动回退,因此在大多数情况下无需手动设置
XERO_SCOPES; - 通过 Xero 发送的邮件授权该连接,并选择要连接的组织;
- 复制Client ID、生成Client Secret,然后在Dashboard → Plugins → Configure中填入这两项。
再次强调两个限制性前提:Custom Connection 与单一 Xero 组织绑定,是每个组织的付费附加项;薪酬(payroll)工具仅适用于新西兰或英国的组织。
Agent 能够做什么:能力矩阵
插件通过本地 MCP 服务器向 Agent 暴露工具,覆盖能力如下表所示:
| 类别 | 能力 |
|---|---|
| 账户与联系人(Accounts & contacts) | 科目表、联系人、联系人分组 |
| 销售与采购(Sales & purchases) | 发票、报价、信用票据、付款 |
| 银行(Banking) | 银行交易、手工日记账 |
| 条目与追踪(Items & tracking) | 条目、追踪类别 |
| 报表(Reports) | 损益表、资产负债表、试算平衡表、应收账款/应付账款账龄表 |
| 薪酬(Payroll) | 员工、休假、休假类型、考勤表(仅新西兰与英国组织) |
工具名与 schema 的权威来源是服务器本身——即@xeroapi/xero-mcp-server在运行时通过 MCP 协议暴露的工具定义,插件文档不替代也不覆盖这份运行时清单。Agent 实际能调用的工具、参数结构,以本地服务器返回的 tools/schemas 为准。
权限边界与运维注意事项
围绕插件的运行与安全,以下几点需要特别注意:
- 本地依赖:这是一个本地 stdio 服务器,因此运行 Cursor 的机器必须可用
npx;首次运行时会下载@xeroapi/xero-mcp-server包。Xero 官方 FAQ 也确认,该服务器适用于任何支持本地 stdio 服务器的客户端,官方测试环境为 Claude Desktop 与 Cursor; - 权限即连接范围:所有工具调用都以 Custom Connection 被授予的 scope 运行,且只针对它所绑定的那一个组织。要与多个组织协作,就需要为每个组织各创建一个连接;
- 收窄权限面:如需进一步限制 Agent 的可见能力,可以在服务器配置的
env中追加一个空格分隔的XERO_SCOPES值。文档给出的示例为accounting.invoices accounting.contacts accounting.settings——即仅暴露发票、联系人、设置相关的会计 scope,从而缩小工具调用的权限面; - 名称辨析:
xero-mcp(john-zhang-dev 的社区包)与 JAX(Xero 的产品内助手)都不是本插件使用的官方服务器,使用时注意区分。
仓库源码印证
从仓库中可以找到与本插件直接相关的实现证据:
- third_party/xero/mcp.json:插件的核心配置,即上文完整展示的 stdio 服务器定义;
- third_party/xero/CHANGELOG.md:1.0.0 初始版本记录了三点——本地通过 stdio 运行
@xeroapi/xero-mcp-server、鉴权使用用户提供的 Custom Connection 客户端 ID 与密钥、Logo 采用 XeroAPI 官方组织提供的官方标识; - README.md:根目录插件清单将 Xero 列为官方 Integrations 插件,条目描述为 "Read and write invoices, contacts, reports, and payroll";
- schemas/plugin.schema.json:插件清单规范中
mcpServers字段的定义,说明内联 MCP 配置是合法形态之一; - scripts/validate-plugins.mjs:仓库级校验脚本,会读取市场清单与插件 manifest 并按 schema 校验合法性。
相关文档
插件 README 中提到的配套资料还包括:Xero 官方 MCP 服务器仓库、Xero AI 与 MCP 的开发者页面、Custom Connections 的 OAuth 2.0 指南、以及@xeroapi/xero-mcp-server的 npm 包页面,均可在 Xero 开发者平台与 XeroAPI 官方渠道查阅。本插件以 MIT 许可发布。
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考