这是一个用于Xero的模型上下文协议(MCP)服务器实现。它在MCP协议和Xero的API之间提供了一个桥梁,允许标准化访问Xero的会计和业务功能。
如果你还没有Xero账户和组织,可以通过这里注册免费试用来创建一个。
我们建议从演示公司开始,因为它自带一些预加载的样本数据。登录后,通过左上角的下拉菜单选择“演示公司”来切换到它。你可以随时通过左上角的下拉菜单导航到我的Xero来重置演示公司的数据或更改国家。
注意:要使用特定于工资单的查询,区域应为新西兰或英国。
Xero MCP服务器支持两种认证模式:
这是测试和开发更好的选择,允许你指定特定组织的客户端ID和密钥。 如果你正在将其集成到第三方MCP客户端(如Claude Desktop),这也是推荐的方法。
按照以下说明设置自定义连接:https://developer.xero.com/documentation/guides/oauth2/custom-connections/
目前,所有会话都需要以下范围:范围
要将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)。
如果你要在运行时支持多个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。
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
要将开发中的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中以确保安全)。