news 2026/9/17 16:49:08

Xero 插件接入指南:在 Cursor 中通过官方 MCP 服务器读写会计与薪酬数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Xero 插件接入指南:在 Cursor 中通过官方 MCP 服务器读写会计与薪酬数据

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 鉴权

理解这个插件前,需要先把握两个关键事实:

  1. Xero 没有发布托管的远程 MCP 端点。它的官方服务器@xeroapi/xero-mcp-serverstdio类型在本地运行,由 Cursor 负责拉起进程;
  2. 鉴权不使用浏览器登录流程,而是采用Custom Connection——Xero 的机器对机器(machine-to-machine)OAuth 2.0 流程。因此插件要求用户提供Client ID 与 Client Secret,而不是弹出浏览器让用户手动授权。

Custom Connection 与传统的用户授权连接有本质区别:它绑定单个 Xero 组织,属于按组织付费的增值功能。这意味着每个 Custom Connection 只能操作一个组织;若要操作多个组织,需要为每个组织分别创建一个连接。此外,薪酬(payroll)类工具仅对新西兰或英国的组织可用。

安装插件

安装方式有两种,任选其一:

方式一:通过设置界面安装

  1. 打开Cursor Settings → Plugins(Cursor 设置 → 插件);
  2. 搜索Xero
  3. 点击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}" } } } }

各字段的含义与使用要点:

字段说明
typestdio服务器类型为本地标准输入输出,而非远程http端点;对比可参考 GitHub 插件的远程http配置
commandnpx本地启动命令。运行 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 开发者平台完成以下四步:

  1. 登录 developer.xero.com(Xero 开发者平台),创建一个启用Custom Connection选项的应用;
  2. 提前选好 scope(权限范围)。需要注意版本差异:2026-04-29 之前创建的连接使用捆绑的 scope 列表,之后创建的连接使用细粒度(granular)的 scope 列表。服务器会先尝试捆绑 scope 集合,失败时自动回退,因此在大多数情况下无需手动设置XERO_SCOPES
  3. 通过 Xero 发送的邮件授权该连接,并选择要连接的组织
  4. 复制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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 16:46:30

40kHz超声波收发电路七种方案详解:从驱动到解调

简介:这份PDF文档聚焦40千赫兹超声波收发电路的实用设计,面向电子爱好者、硬件工程师以及电子设计竞赛参赛者,帮助读者快速了解多种驱动与接收方案。文档共整理了七种不同的电路实现方式,包括五种发射电路和两种接收电路&#xff…

作者头像 李华
网站建设 2026/9/17 16:46:29

OFDM与OCDM模糊函数对比:用MATLAB量化波形设计关键指标

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/17 16:46:27

长沙早餐培训:现磨豆浆与粥品的做法与搭配逻辑

【本篇要点】 现磨豆浆三种工艺:传统现磨、熟豆现磨、豆浆机方案,按人力条件选。 豆浆必须煮透,否则有豆腥味和安全隐患,这点只能在实操中练到位。 包点加豆浆加粥是早餐店成本较低的组合,客单容易到八到十二元。早餐店…

作者头像 李华
网站建设 2026/9/17 16:44:59

Open WebUI 连 AI 数据中心多模型,TaoToken 放在网关层

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华