返回市场
零度-MCP服务器

零度-MCP服务器

作者:XeroAPI150 星标更新:2025-10-30

项目介绍

Xero MCP Server

这是一个用于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/

目前,所有会话都需要以下范围:范围

将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"
      }
    }
  }
}

注意:如果你使用的是Node版本管理器,则需要将"command": "npx"部分更改为可执行文件的完整路径,例如:your_home_directory/.nvm/versions/node/v22.14.0/bin/npx(Mac/Linux)或"your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx"(Windows)。

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

可用的MCP命令

  • list-accounts: 获取账户列表
  • list-contacts: 从Xero获取联系人列表
  • list-credit-notes: 获取信用票据列表
  • list-invoices: 获取发票列表
  • list-items: 获取项目列表
  • list-organisation-details: 获取组织详情
  • list-profit-and-loss: 获取损益报告
  • list-quotes: 获取报价列表
  • list-tax-rates: 获取税率列表
  • list-payments: 获取支付列表
  • list-trial-balance: 获取试算平衡报告
  • list-profit-and-loss: 获取损益报告
  • 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-aged-receivables-by-contact: 获取联系人的账龄应收账款
  • list-aged-payables-by-contact: 获取联系人的账龄应付账款
  • list-contact-groups: 获取联系人群组列表
  • create-contact: 创建新的联系人
  • create-credit-note: 创建新的信用票据
  • create-invoice: 创建新的发票
  • create-payment: 创建新的支付
  • create-quote: 创建新的报价
  • create-credit-note: 创建新的信用票据
  • create-payroll-timesheet: 创建新的工资单时间表
  • update-contact: 更新现有的联系人
  • update-invoice: 更新现有的草稿发票
  • update-quote: 更新现有的草稿报价
  • update-credit-note: 更新现有的草稿信用票据
  • update-payroll-timesheet-line: 更新现有工资单时间表上的行
  • approve-payroll-timesheet: 批准工资单时间表
  • revert-payroll-timesheet: 撤销已批准的工资单时间表
  • add-payroll-timesheet-line: 在现有工资单时间表上添加新行
  • delete-payroll-timesheet: 删除现有的工资单时间表
  • get-payroll-timesheet: 获取现有的工资单时间表

对于详细的API文档,请参阅MCP协议规范

开发者指南

安装

# 使用npm
npm install

# 使用pnpm
pnpm install

运行构建

# 使用npm
npm run build

# 使用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中以确保安全)。