跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 SAP S/4HANA (OData),然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 通过 OData 服务读取本地部署或 Private Cloud 上的 SAP S/4HANA:在 SAP Gateway 目录中查找服务,用 SAP 的标签读取字段,查询日记账分录、开票凭证、销售订单、业务伙伴、库存和产品。只读,使用一个 SAP 技术用户。
试试这样问
SAP S/4HANA (OData) 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → SAP S/4HANA (OData)、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
SAP S/4HANA OData
让你的 AI 通过 OData 服务读取本地部署或 Private Cloud 上的 SAP S/4HANA:在 SAP Gateway 目录中查找服务,用 SAP 的标签读取字段,查询日记账分录、开票凭证、销售订单、业务伙伴、库存和产品。只读,使用一个 SAP 技术用户。
设置
- 用事务码
SU01,在 AI 要读取的集团(client)中创建一个类型为 System(不是 Dialog)的技术用户,并设置生产密码。 - 给它分配一个角色(
PFCG),包含 AI 可使用的 OData 服务的S_SERVICE权限,以及仅限显示的业务权限(活动 03)。如果要让 AI 浏览目录,还需允许 V2 目录服务/IWFND/CATALOGSERVICE和 V4 服务目录。 - 确认服务已激活:V2 在
/IWFND/MAINT_SERVICE,V4 在/IWFND/V4_ADMIN。现成工具使用 SAP 已发布的 API:API_JOURNALENTRYITEMBASIC_SRV、API_BILLING_DOCUMENT_SRV、API_SALES_ORDER_SRV、API_BUSINESS_PARTNER、API_MATERIAL_STOCK_SRV和API_PRODUCT_SRV。 - 把
SAP_ODATA_BASE_URL设为 Gateway 主机加 HTTPS 端口,不带路径,例如https://s4.example.com:44300。SAP_CLIENT填三位数的集团号(例如100),SAP_LANGUAGE填登录语言(例如ZH;字段标签会以该语言返回),SAP_ODATA_USER和SAP_ODATA_PASSWORD填技术用户的用户名和密码。 - 安装连接器。这里没有 Authorize with Provider 步骤:连接器以技术用户身份通过 Basic 认证登录,并在每次调用时带上集团和语言。
- 先调用
s4_guide(不产生费用,也不访问 SAP),再用billing之类的业务词调用s4_list_services,确认该用户能访问目录。
网络:Gateway 的 HTTPS 端口通常只能在公司内网访问。请在该网络内自托管 AnythingMCP,或通过 VPN 接入,并把 Gateway 主机加入 SSRF_ALLOWED_HOSTS,否则 AnythingMCP 会拒绝私有地址。只有当 Gateway 能从互联网访问时,AnythingMCP Cloud 才可用。
AI 如何找到数据:s4_list_services 按业务词搜索 SAP 目录(V2 和 V4),s4_describe_service 列出服务的实体集并标出分析型和参数化的实体集,s4_describe_entity 给出每个字段的 SAP 标签、每个金额对应的货币或单位字段,以及实体集要求的过滤条件,s4_query 和 s4_get_entity 读取数据行。调用发出前,字段名会先与服务的 $metadata 核对。常见场景下,s4_journal_entry_items、s4_billing_documents、s4_sales_orders、s4_business_partners、s4_material_stock 和 s4_products 直接调用已发布的 API,支持 filter、select、orderby、top 和 skip。目录类工具也适用于带 SAP Gateway 的 ECC 或 BW;现成工具需要 S/4HANA。
权限与只读设置:全部 12 个工具都只读。SAP 在每次调用时都会检查技术用户的权限,所以权限才是真正的边界:只给角色显示权限,并且只限 AI 可以看到的公司代码、销售组织和工厂。如需进一步收紧,在连接器的 OData 设置中,于 Allowed services 下列出 AI 可以调用的服务路径(* 可作通配符);其他服务一律拒绝。也可以在连接器页面上停用单个工具。
SAP 的 API 政策:SAP 要求第三方集成使用已发布的 API(SAP Business Accelerator Hub 上的 API_* 服务)或你自己构建的服务。请优先使用这些服务,而不是 Fiori 应用背后的内部服务,并据此设置 Allowed services。
Basic 认证或 OAuth:连接器以 Basic 认证安装。如果你的 Gateway 已配置 OAuth 2.0,可以在连接器页面上把认证方式切换为 OAuth 2.0。
限制:每次查询最多返回 1,000 行,现成工具默认返回 100 行(top)。需要汇总时,AI 会在分析型服务上聚合,或按公司代码、销售组织或工厂以及日期或会计期间过滤,而不是逐页读取全部数据。金额会带上货币,数量会带上单位;小数以字符串返回,以保持精确。
常见错误:401 表示用户名或密码错误,或该用户在此集团中被锁定。某个服务返回 403 Forbidden,表示技术用户缺少该服务的权限(S_SERVICE 或业务角色);404 表示该服务在此系统中未激活。如果私有地址被拒绝,说明主机不在 SSRF_ALLOWED_HOSTS 中。如果数据行看起来像演示数据,说明 SAP_CLIENT 指向了错误的集团。
改用 HANA SQL:如果希望 AI 用只读数据库用户、而不是 SAP 的应用权限,直接用 SQL 读取 S/4HANA 的表和 CDS 视图,请使用 SAP S/4HANA (HANA SQL) 连接器。其他任何 OData V2 或 V4 服务,请参阅 OData 连接器类型。
此连接器不会写入 SAP:不过账,也不创建或修改订单、凭证或主数据。
前提条件: SAP_ODATA_BASE_URL, SAP_CLIENT, SAP_LANGUAGE, SAP_ODATA_USER, SAP_ODATA_PASSWORD
本地安装连接器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
打开 http://localhost:3000/connectors/store,选择 SAP S/4HANA (OData) 并填入前提条件中列出的环境变量。
可用工具
| Tool | What it does |
|---|---|
s4_guide | How to read SAP S/4HANA through OData: the workflow (overview), filter syntax, analytical services and KPIs, finance, sales, inventory and… |
s4_journal_entry_items | Journal entry line items from the general ledger (API_JOURNALENTRYITEMBASIC_SRV / A_JournalEntryItemBasic): company code, fiscal year, G/L… |
s4_billing_documents | Billing documents (API_BILLING_DOCUMENT_SRV / A_BillingDocument): invoices, credit memos and cancellations with date, sales organization… |
s4_sales_orders | Sales orders (API_SALES_ORDER_SRV / A_SalesOrder) with type, sales organization, sold-to party, creation date, net amount, currency and… |
s4_business_partners | Business partners (API_BUSINESS_PARTNER / A_BusinessPartner): customers, suppliers and contacts with name, category and grouping |
s4_material_stock | Material stock (API_MATERIAL_STOCK_SRV / A_MatlStkInAcctMod) per material, plant, storage location, batch and stock type, in the material's… |
s4_products | Products (API_PRODUCT_SRV / A_Product) with type, group and base unit |
s4_list_services | List the OData services published by SAP S/4HANA (OData) (SAP Gateway catalog, V2 and V4), filtered by words in their name, title or… |
s4_describe_service | The entity sets of a SAP S/4HANA (OData) OData service with their business labels, keys and whether they are analytical (the server… |
s4_describe_entity | The fields of one entity set: labels, types, keys, the currency or unit field of each amount, the text field of each code, dimensions and… |
s4_query | Read rows from an entity set of SAP S/4HANA (OData) |
s4_get_entity | Read one entity of SAP S/4HANA (OData) by its key, optionally with related entities |
示例提示
- “我们的 SAP 目录中哪些 OData 服务与开票凭证有关?其中哪些是已发布的 API?”
- “根据开票凭证,按销售组织列出上个月的开票净销售额,不含已取消的凭证,并注明货币。”
- “工厂 1000 中物料 FG-100 的库存有多少?按库存地点列出。”
- “列出上个月在公司代码 1000 中过账的金额最大的 20 条日记账分录行项目,包括总账科目、金额和货币。”
下一步
这份指南对你有帮助吗?