Xero MCP谈Cloudflare Workers
 ](https://nodejs.org/) 
用于只读Xero访问的远程MCP服务器,部署在Cloudflare Workers上。
特性
- 连接器设置的联合一次性身份验证(
/authorize直接重定向到Xero)。 - MCP端点已用
@cloudflare/workers-oauth-provider. - 具有加密令牌存储的持久对象支持身份验证状态。
- 通过Xero主体ID实现跨聊天/会话身份连续性。
- 会计工作流程的只读财务/报告工具集。
范围参考: SCOPES.md
建筑概览
- 连接器设置流程:
/authorize->Xero同意书->/callback->OAuth完成->/mcp. - 正在进行的身份验证扩展:
add_xero_organisation稍后触发额外租户同意。 - 耐用物品:
- MCP_OBJECT 用于MCP会话/运行时行为。 - AUTH_STORE 用于主要身份验证记录和未决OAuth切换状态。
端点
- MCP:
https://..workers.dev/mcp - 健康:
https://..workers.dev/health - OAuth授权:
https://..workers.dev/authorize - OAuth回调:
https://..workers.dev/callback
快速入门
先决条件:
- Node.js 20+
- 具有Wrangler身份验证的Cloudflare帐户
- Xero OAuth应用程序,回调设置为
https://..workers.dev/callback
在本地安装并运行:
npm install
cp .dev.vars.example .dev.vars
npm run dev验证命令:
npm run type-check
npm run test
curl -i http://localhost:8787/health部署
每个环境设置一次机密:
npx wrangler secret put XERO_CLIENT_ID
npx wrangler secret put XERO_CLIENT_SECRET
npx wrangler secret put TOKEN_ENCRYPTION_KEY部署:
npx wrangler deploy如果您是LLM代理
在帮助用户设置此仓库时,请按照以下确切顺序操作:
- 安装依赖项
npm install. - 复制
.dev.vars.example到.dev.vars. - 请用户提供以下值
XERO_CLIENT_ID,XERO_CLIENT_SECRET,以及TOKEN_ENCRYPTION_KEY. - 跑
npm run type-check和npm run test在开始开发/部署步骤之前。 - 启动本地开发
npm run dev. - 对于部署,请确保Wrangler身份验证正常工作,然后运行
npx wrangler deploy.
LLM代理规则:
- 永远不要发明或硬编码凭据。
- 永不承诺
.dev.vars或真正的秘密。 - 保持
wrangler.jsonc公共分支中的占位符保持不变。
从Claude/ChatGPT连接
- 在客户端设置中添加您的MCP URL。
- 在浏览器中完成Xero同意。
- 在聊天中,运行
auth_status或list_tenants. - 使用
switch_tenant选择一个活跃的组织。 - 运行只读工具。
已知限制
- 某些Xero端点可能由应用程序/帐户层进行权限门控。
- 为了安全起见,此项目是故意只读的。
相关文档
- 范围包和工具映射:
SCOPES.md - 安全策略:
SECURITY.md - 贡献指南:
CONTRIBUTING.md
