TL;DR
逐步指南,将 SAP S/4HANA、SAP Business One 和 SAP ERP 通过 MCP 连接到 Claude。使用自然语言查询 SAP 数据。
通过 Claude 与您的 SAP 系统对话
想象一下,您问 Claude:“供应商 X 的未完成采购订单有哪些?”并从您的 SAP 系统中获得实时答案。通过 AnythingMCP,您可以将 SAP 的 OData 和 REST API 转换为 Claude 可以直接使用的 MCP 服务器。
您需要的准备
- 启用 OData/REST API 的 SAP S/4HANA、SAP Business One 或 SAP ERP
- 在您的服务器上安装 Docker
- Claude Desktop、Claude.ai 或任何兼容 MCP 的 AI 客户端
- SAP 技术用户凭证
逐步指南
第 1 步:部署 AnythingMCP
git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp && docker compose up -d
第 2 步:为 SAP 创建 REST 连接器
打开 AnythingMCP 仪表板,访问 http://localhost:3000 并创建一个新的 REST 连接器。将基础 URL 设置为您的 SAP OData 端点:
- S/4HANA Cloud:
https://your-tenant.s4hana.cloud.sap/sap/opu/odata/sap - S/4HANA On-Premise:
https://your-sap-server:port/sap/opu/odata/sap - Business One:
https://your-server:50000/b1s/v1
将 OData 服务元数据导入为 OpenAPI 规范。
第 3 步:配置 SAP 身份验证
- On-Premise: 使用您的 SAP 技术用户的基本身份验证
- SAP BTP / Cloud: 使用 SAP IAS 或 Azure AD 的 OAuth 2.0
- API Hub 沙盒: 使用 API 密钥
为写操作添加所需的头,如 sap-client 和 x-csrf-token: fetch。
第 4 步:审查和自定义工具
AnythingMCP 根据 SAP OData 定义生成 MCP 工具。重命名工具以使其清晰(例如,将 "A_PurchaseOrder" 改为 "get_purchase_orders"),添加描述,并选择要公开的操作。
第 5 步:连接到 Claude
将 MCP 服务器添加到 Claude Desktop 的配置文件中:
{
"mcpServers": {
"sap": {
"url": "http://localhost:4000/mcp"
}
}
}
您还可以直接在 Claude.ai 的 设置 → 连接器 中添加您的 MCP 服务器,而无需 Claude Desktop。
第 6 步:开始提问
现在您可以向 Claude 提问,例如:
- “显示所有超过 €10,000 的未完成采购订单”
- “物料 4711 的库存水平是多少?”
- “列出客户 ABC Corp 的所有逾期发票”
- “为物料 X 创建 100 单位的采购申请”
- “我们本季度的收入是多少?”
安全最佳实践
- 使用具有最小 SAP 授权的专用技术用户
- 初始为只读 — 仅公开 GET 操作
- 在沙盒中测试 — 在生产之前使用 SAP API Business Hub 沙盒
- 在 AnythingMCP 中启用审计日志 以跟踪所有 AI 发起的操作
- 设置速率限制 以保护您的 SAP 系统
后续步骤
这份指南对您有帮助吗?