
Acumatica ERP 的 MCP 服务器
概览
该项目是一个独立的社区构建集成,“Acumatica”是Acumatica, Inc.的注册商标。使用Acumatica名称和API仅用于互操作性。 一个远程模型上下文协议(MCP)服务器,连接 Claude 与 Acumatica ERP 2025 R2。运行于 Cloudflare Workers,并通过针对您的 Acumatica 实例进行逐用户 OAuth 认证。 每个用户使用自己的 Acumatica 凭证进行认证。他们的 Acumatica 角色控制他们可以访问哪些记录。MCP 服务器还要求访问特定 Acumatica 角色,显示同意插页,并在数据到达 AI 模型前自动遮蔽敏感字段。
概述(AI 翻译)
免责声明: 本项目是一个独立的社区构建集成,与Acumatica, Inc.无关联、不认可或支持 “Acumatica”是Acumatica, Inc.的注册商标。使用Acumatica名称和API仅用于互操作性。
一个远程模型上下文协议(MCP)服务器,连接 Claude 与 Acumatica ERP 2025 R2。运行于 Cloudflare Workers,并通过针对您的 Acumatica 实例进行逐用户 OAuth 认证。
每个用户使用自己的 Acumatica 凭证进行认证。他们的 Acumatica 角色控制他们可以访问哪些记录。MCP 服务器还要求访问特定 Acumatica 角色,显示同意插页,并在数据到达 AI 模型前自动遮蔽敏感字段。
特色
- 51 个工具 —— 38 次只读查找 + 6 个工具/发现 + 4 个模式知识 + 2 个文档 + 1 个写入工具(客户创建/更新,默认禁用,客户端隐藏,直到启用)(参见可用工具)
- 按用户 OAuth —— 用户使用其 Acumatica 凭证(或 SSO)登录
- 基于角色的访问 —— Acumatica 的安全模型管理每个用户所看到的内容
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
MCP4Acumatica
Disclaimer: This project is an independent, community-built integration and is not affiliated with, endorsed by, or supported by Acumatica, Inc. “Acumatica” is a registered trademark of Acumatica, Inc. Use of the Acumatica name and API is for interoperability purposes only.
A remote Model Context Protocol (MCP) server that connects Claude to Acumatica ERP 2025 R2. Runs on Cloudflare Workers with per-user OAuth authentication against your Acumatica instance.
Each user authenticates with their own Acumatica credentials. Their Acumatica role controls which records they can access. The MCP server additionally requires a specific Acumatica role for access, shows a consent interstitial, and automatically redacts sensitive fields before data reaches the AI model.
Features
- 51 tools – 38 read-only lookups + 6 utility/discovery + 4 schema-knowledge + 2 documentation + 1 write tool (Customer create/update, disabled by default and hidden from clients until enabled) (see Available Tools)
- Per-user OAuth – users log in with their Acumatica credentials (or SSO)
- Role-based access – Acumatica’s security model governs what each user sees
- Access gate – only users who can read a designated canary Generic Inquiry can connect (restrict it however you like; a marker role such as
MCP Accessis the recommended way) - Consent interstitial – users must acknowledge AI data processing before accessing tools
- Sensitive field redaction – SSN, bank accounts, salary, and other PII fields are automatically redacted before data leaves the server
- Rate limiting – 3 concurrent requests and 40 requests/minute per user by default, both adjustable from the admin console. A request that finds all slots busy waits briefly for one instead of failing outright, and a rejection returns a structured
{ error: "rate_limited", retryAfterSeconds, actionRequired }envelope telling the AI exactly how long to wait rather than to retry in a loop - Pagination refusal – list/query tools return a structured
{ truncated, paginationSupported: false, actionRequired }envelope when results hit the record cap, instructing the AI to ask the user for a narrower filter rather than calling the tool again - Structured audit logging – all tool invocations, auth events, and field redactions are logged
- Admin console – web-based admin interface at
/docs/adminfor viewing logs and managing runtime settings without redeploying - Long-term log retention – R2-backed log storage via Cloudflare Logpush with searchable log viewer
Architecture
Claude (claude.ai / Desktop / API)
|
v MCP over streamable-http
+----------------------------------+
| Cloudflare Worker |
| OAuth 2.1 Provider |
| /authorize -> Acumatica login |
| /callback <- Acumatica |
安装
npx wrangler kv namespace create TOKEN_STORE