Xero MCP Server
by zoranges
Xero MCP Server
Xero Accounting API 的 MCP (Model Context Protocol) 服务器,让 Claude Desktop 用自然语言操作 Xero 云会计系统。
功能
读取(9 个工具)
组织信息、联系人、科目表、发票、银行交易、付款、贷项通知单、产品目录、手工日记账
审计轨迹查询
写入(6 个工具)
创建联系人、发票、银行交易、手工日记账
记录付款、上传附件
报表(4 个工具,本地计算)
试算平衡表、应收账款账龄、应付账款账龄、损益表
两种运行模式
本地 STDIO 模式
pip install -r requirements.txt
# 设置环境变量
export XERO_CLIENT_ID=xxx
export XERO_CLIENT_SECRET=xxx
export XERO_TENANT_ID=xxx
export XERO_REFRESH_TOKEN=xxx
python server.pyClaude Desktop 配置见 claude_desktop_config_example.json
远程 HTTP 模式(多租户)
cp .env.example .env
# 编辑 .env 填写凭证和域名
docker compose up -d --build详细部署教程见 部署教程.md 和 Claude_Desktop_MCP配置教程.md
架构
Claude Desktop ──HTTPS──▶ Nginx ──HTTP──▶ MCP Server ──OAuth 2.0──▶ Xero APINginx 负责 SSL 终结和反向代理
MCP Server (Starlette + uvicorn) 处理 MCP 协议
多租户通过 API Key 隔离,OAuth Token 存在 SQLite
文件说明
文件 | 用途 |
| 本地 STDIO 模式入口 |
| 远程 HTTP 多租户模式入口 |
| Xero API 客户端,自动刷新 Token |
| 本地报表计算(试算平衡/账龄/损益) |
| Docker 部署 |
| 服务器部署详细步骤 |
| Claude Desktop 配置教程(含踩坑记录) |
依赖
Python 3.12+
mcp >= 2.0.0
uvicorn / starlette
requests