关于 mcp-xero
mcp-xero 是 Xero 全球云会计服务的 MCP 服务,面向海外中小企业账务。它可管理联系人、发票、付款、商品、账户及报表,适合与巴西本地 ERP 配套使用的海外业务场景。
主要功能
- 01联系人的创建、查询与归档
- 02发票的创建、邮件发送与作废
- 03付款与贷项通知单记录
- 04商品、会计科目与税率查询
- 05资产负债表等报表读取
适用场景
- 01为在美国、英国、澳大利亚或新西兰的客户开具发票
- 02为海外子公司记录付款与银行交易
MCP 相关
该服务将 Xero 会计 API 以 MCP 工具形式暴露,MCP 客户端可通过预先签发的访问令牌调用这些工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @codespar/mcp-xeroXERO_ACCESS_TOKEN密钥Xero OAuth2 access token (Bearer). Obtain via Xero OAuth2 flow; rotate on expiry.XERO_TENANT_IDXero tenant/organization id sent in the Xero-tenant-id header on every request.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
24收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Name | string | 是 | 联系人的全名。在租户内必须填写且保持唯一。 |
| Phones | array | 否 | 电话对象数组,包含 PhoneType(DEFAULT/DDI/MOBILE/FAX)、PhoneNumber、PhoneAreaCode、PhoneCountryCode。 |
| LastName | string | 否 | 联系人的姓(适用于个人)。 |
| Addresses | array | 否 | 地址对象数组,包含 AddressType(POBOX/STREET)、AddressLine1..4、City、Region、PostalCode、Country。 |
| FirstName | string | 否 | 联系人的名(适用于个人)。 |
| TaxNumber | string | 否 | 税号(VAT、ABN、GST、EIN 等),因国家/地区而异。 |
| IsCustomer | boolean | 否 | 提示此联系人是客户。 |
| IsSupplier | boolean | 否 | 提示此联系人是供应商。 |
| EmailAddress | string | 否 | 主要电子邮件地址。 |
| AccountNumber | string | 否 | 此联系人的商家端账号。 |
| ContactNumber | string | 否 | 外部系统标识符(最多 50 个字符)。 |
| DefaultCurrency | string | 否 | 此联系人发票的默认 ISO-4217 货币代码。 |
详细介绍
@codespar/mcp-xero
适用于 Xero 的 MCP 服务——面向中小企业的全球云端会计平台。
Xero 是全球排名第二的中小企业 ERP,也是英国、澳大利亚和新西兰的领先平台,并正在美国快速扩张。与 QuickBooks 搭配使用时,这两个平台合计覆盖全球约 80% 的中小企业会计业务。对于服务美国、英国、澳大利亚和新西兰客户的拉美 SaaS,或拥有国际子公司的拉美 SaaS,Xero 是巴西本土 ERP(Omie、Conta Azul、Bling、Tiny)的必备补充。
工具(24 个)
| 工具 | 用途 |
|---|---|
create_contact | 创建 Xero 联系人(客户或供应商——Xero 使用统一的 Contact 对象,并通过 IsCustomer/IsSuppli... |
get_contact | 根据 ContactID(UUID)检索单个 Xero 联系人。 |
list_contacts | 列出 Xero 联系人。 |
create_invoice | 在 Xero 中创建发票。 |
get_invoice | 根据 InvoiceID(UUID)或 InvoiceNumber 检索单张发票。 |
list_invoices | 列出发票,可选择使用 Xero where 子句进行筛选。 |
email_invoice | 将已授权的发票发送到联系人存档的电子邮件地址。 |
create_payment | 记录针对发票或贷项通知单的付款。 |
create_item | 创建 Xero 库存/产品项目。 |
list_items | 列出 Xero 租户中的所有项目/产品。 |
list_accounts | 列出 Xero 科目表。 |
update_contact | 更新现有 Xero 联系人。 |
archive_contact | 通过将 ContactStatus 设为 ARCHIVED 来归档 Xero 联系人。 |
update_invoice | 更新现有发票。 |
void_invoice | 通过将 Status 设为 VOIDED 来作废发票。 |
get_payment | 根据 PaymentID 检索单笔付款。 |
list_payments | 列出在 Xero 中记录的付款。 |
create_bank_transaction | 直接在银行账户上创建银行交易(SPEND = 资金支出,RECEIVE = 资金收入)——用于 transact... |
list_bank_transactions | 列出银行交易(银行账户上的支出/收入条目)。 |
list_organisations | 检索访问令牌有权访问的 Xero 组织——返回名称、基础货币、国家/地区、财... |
list_tax_rates | 列出 Xero 租户中配置的税率。 |
create_credit_note | 创建贷项通知单。 |
list_credit_notes | 列出贷项通知单。 |
get_balance_sheet | 检索该租户的资产负债表报告。 |
安装
npm install @codespar/mcp-xero
环境
XERO_ACCESS_TOKEN="..." # OAuth2 bearer access token (required, secret)
XERO_TENANT_ID="..." # Xero tenant/organization id (required)
身份验证
Xero 使用 OAuth2。每个请求都包含:
Authorization: Bearer <XERO_ACCESS_TOKEN>
Xero-tenant-id: <XERO_TENANT_ID>
Accept: application/json
Content-Type: application/json
此服务假设已预先签发访问令牌。OAuth 授权、刷新令牌轮换和租户选择在上游(OAuth 代理或密钥层)完成。令牌过期时,Xero 会返回 401,工具会原样显示错误——请刷新令牌并重试。
运行
# stdio (default — Claude Desktop, Cursor, etc)
npx @codespar/mcp-xero
# HTTP (server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-xero
Where 子句
Xero 的列表端点接受 where 查询参数,用于服务端筛选。示例:
Name.Contains("ACME")
IsCustomer==true
Status=="AUTHORISED" AND Type=="ACCREC"
Date>=DateTime(2026,1,1)
Contact.ContactID==guid("00000000-0000-0000-0000-000000000000")
在 CodeSpar ERP 目录中的定位
- 巴西本土: Omie、Conta Azul、Bling、Tiny——NF-e、Simples Nacional、本地税务。
- 全球中小企业: Xero + QuickBooks——美国/英国/澳大利亚/新西兰/全球会计业务。
对于总部设在巴西以外或在巴西以外运营的公司(或拥有国际实体的公司),请使用 Xero。对于本地市场,请使用巴西本土服务。
文档
- Xero Accounting API:https://developer.xero.com/documentation/api/accounting
- Xero OAuth2 指南:https://developer.xero.com/documentation/guides/oauth2/overview
企业版
需要为 Agent 付款设置治理、预算限额和审计跟踪?CodeSpar Enterprise 在这些 MCP 服务之上提供策略引擎、付款路由和合规模板。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。