企业版阅读约 3 分钟10 个 MCP 工具7 种语言

SAP HANA MCP 服务器:借助 SAP 数据字典读取 S/4HANA

面向 Claude、ChatGPT 和 Copilot 的开源 SAP HANA MCP 服务器:以 SAP 数据字典和 CDS 视图作为工具,只读 SQL,通过 Docker 自托管。

HC作者:HelpCode 团队更新于 3 分钟阅读 在 GitHub 开源

开源 · AGPL-3.0 · 运行在您自己的服务器上

SAP S/4HANA (HANA SQL)

SAP S/4HANA (HANA SQL)

Read SAP S/4HANA straight from its HANA database with SQL, with SAP's own data dictionary turned into tools: table and field labels, code values, join paths, released CDS views and a guide to the finance, sales and inventory data model. Read-only.

个工具

10

区域

INTL

类别

ERP

身份验证

Connection string

所需环境变量

SAP_HANA_HOSTSAP_HANA_PORTSAP_HANA_TENANTSAP_HANA_SCHEMASAP_CLIENTSAP_LANGUAGESAP_HANA_TLSSAP_HANA_USERSAP_HANA_PASSWORD
用 Docker 自托管

开源 · AGPL-3.0 · 运行在您自己的服务器上

  • 7 天免费试用
    无需信用卡
  • 符合 GDPR,SOC 2 就绪
    数据驻留欧盟,审计日志
  • 在 GitHub 开源
    开源 · AGPL-3.0
  • 支持 ChatGPT、Claude、Gemini
    任何兼容 MCP 的客户端

摘要

面向 Claude、ChatGPT 和 Copilot 的开源 SAP HANA MCP 服务器:以 SAP 数据字典和 CDS 视图作为工具,只读 SQL,通过 Docker 自托管。

试试这样问

SAP S/4HANA (HANA SQL) 的示例提示

点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。

SAP S/4HANA (HANA SQL) · 通过 MCP 实时
分享
Opus 4.7

Claude 是 AI,可能会出错。请核对回答。

摘要: AnythingMCP 是一个可读取 SAP HANA 的开源 MCP 服务器。任何 HANA 数据库都可以作为普通数据库连接器使用;针对 SAP S/4HANA,还有一个专用连接器,它将 SAP 自身的数据字典和 CDS 视图转换为工具,让模型在编写 SQL 之前就知道 BUKRS、HSL 或 VBRK 的含义。每个会话在 HANA 内部即为只读,最多返回 1,000 行,并有超时限制。它通过 Docker Compose 在能访问 HANA 的网络内运行,Claude、ChatGPT、Copilot、Cursor 和 Claude Code 通过 MCP 连接到它。

AI 客户端
Claude
ChatGPT
Copilot
MCP over HTTPS · OAuth
在您的网络内
AnythingMCP
自托管
  • 10 个 sap_* 工具
  • 角色与工具权限
  • 默认只读
  • 审计日志
SQL · TLS
SAP
SAP S/4HANA
HANA · SAPHANADB
仅有 SELECT 权限的 SQL 用户
AMCP_READER
数据字典
DD02L · DD03L · DD04T
MCP 服务器运行在 SAP 旁边。客户端通过 MCP 访问它;只有它能访问 HANA。

使用 HANA 的两种方式

数据库连接器(hana://)SAP S/4HANA (HANA SQL) 连接器
适用于任何 SAP HANA 数据库S/4HANA 底层的 HANA 数据库
工具根据数据库生成的 schema、示例和查询工具,或您自己的参数化查询10 个现成工具:sap_guide、SAP 数据字典、CDS 视图、组织结构、sap_query
模型看到的内容表名和列名SAP 的业务标签、货币字段、代码值、关联、已发布视图
设置连接字符串和一个用户连接信息、一个只读用户,以及设置指南中的授权

快速开始

在一台能访问 HANA SQL 端口的主机上:

mkdir anythingmcp && cd anythingmcp
curl -fsSLo docker-compose.yml \
  https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
echo 'SSRF_ALLOWED_HOSTS=hana.internal' >> .env   # 否则私有主机会被拒绝
docker compose up -d   # → http://localhost:3000

然后选择 Connectors → Marketplace → SAP S/4HANA (HANA SQL);对于其他 HANA 数据库,使用 Add Connector → Database 并填写 hana:// 连接字符串。sap-hana-mcp-server 仓库打包了同一个连接器,并附带安装脚本和冒烟测试。

连接字符串

hana://host:port/?databaseName=TENANT&currentSchema=SCHEMA&sapClient=100&tls=verify
选项含义
host, port租户数据库的 SQL 端口:第一个租户为 3<instance>15,其他租户为 3<instance>41 及以上。系统数据库端口 3<instance>13 配合 databaseName 也可使用,但可能会重定向到内部主机名。
databaseName多容器系统中的租户名称。也可以写在路径中:hana://host:30013/S4P。
currentSchema未限定名称所使用的 schema,例如 SAPHANADB 或 SAPABAP1。
sapClient三位数的 SAP 集团编号。它会设置会话变量 CDS_CLIENT,没有它,SAP 的 CDS 视图不会返回任何行。
tlsverify(默认);自签名证书使用 no-verify;或 off。
statementTimeout语句被取消前的秒数。默认 60,最大 600。
driverhdb(默认,内置)或 hana-client。

用户名和密码填写在连接器的凭据中并加密存储,绝不写入 URL。

Claude 如何找到数据

  1. sap_guide 按主题讲解面向 SQL 的 SAP 数据模型:基础、财务、销售、库存、采购、运营、常见陷阱和查询范例。
  2. sap_org_structure 限定问题范围:公司代码及其货币和会计年度变式、工厂、销售组织和采购组织。
  3. sap_search_cds_views 和 sap_search_tables 查找数据所在位置,并标记普通 SQL 会读错的兼容视图。
  4. sap_describe_table、sap_find_fields、sap_field_values 和 sap_table_relations 提供标签、货币字段、代码含义和关联。
  5. sap_query 执行一条只读 SELECT。

数据字典工具是针对 SAP 自身表(DD02L、DD03L、DD04T、DD07T、DD08L、DDHEADANNO、DDFIELDANNO)的固定只读查询。每个工具及其 SQL 都可以在连接器页面上查看。

保障

数据库授权仍是真正的边界:SQL 不会应用 SAP 的应用层权限,因此请创建一个只能读取模型可见内容的用户。第三方应用直接通过 SQL 访问 ABAP schema 受您的 HANA 许可约束:随 S/4HANA 捆绑的运行时许可通常不涵盖这种访问,完全使用许可则涵盖。

驱动

AnythingMCP 内置 hdb,即 SAP 的纯 JavaScript HANA 驱动(Apache-2.0):支持用户名和密码、TLS、多租户系统。SAP 的原生驱动 @sap/hana-client 额外支持 Kerberos、hdbuserstore 和连接池,但其许可不允许再分发,因此需要您自行安装到自己的部署中,并通过 driver=hana-client 或 HANA_DRIVER=hana-client 选择它。详情:AnythingMCP 文档中的 SAP HANA。

与通用 HANA MCP 服务器的比较

通用 HANA MCP 服务器会列出 schema 并执行 SQL。在 S/4HANA 系统上,这远远不够:模型看到的是数万张名称缩写的表、缺少货币字段的金额,以及会返回错误合计的兼容视图。S/4HANA 连接器增加了 SAP 数据字典、CDS 视图和数据模型指南,让模型选对表并说明其假设。它还可以在任何 MCP 客户端中使用,并提供角色、审计日志和上述只读保障。

FAQ

有 SAP MCP 服务器吗? 有。AnythingMCP 包含用于 SAP S/4HANA(HANA SQL 和 OData)、S/4HANA Cloud、SAP Business One 和 SAP Concur 的 MCP 连接器,开源且自托管。本页介绍 HANA 连接器;将 SAP 连接到 Claude列出了全部连接器。

如何开始使用 HANA MCP 服务器? 在能访问 HANA SQL 端口的主机上用 Docker Compose 运行 AnythingMCP,将该主机添加到 SSRF_ALLOWED_HOSTS,使用只读数据库用户安装 SAP S/4HANA (HANA SQL) 连接器,再将 MCP 服务器添加到您的客户端。设置指南提供了创建用户及授权的 SQL。

模型能写入 HANA 吗? 不能。会话在 HANA 中是只读的,只执行单条 SELECT,写入和加锁读取都会被拒绝。

支持 SAP ECC 或 Business One 吗? 这个连接器不支持:它读取的是 S/4HANA 的表和 CDS 视图。ECC 通过其 SAP Gateway 的 OData 服务连接,Business One 通过其 Service Layer 连接。

哪些 MCP 客户端可以使用? Claude(claude.ai、Desktop 和 Code)、ChatGPT(付费套餐)、GitHub Copilot、Cursor,以及任何通过 HTTP 使用 MCP 的客户端。

下一步

这份指南对你有帮助吗?

你的 SAP S/4HANA 智能体只差一次点击。

安装连接器,粘贴密钥,向你的 AI 客户端提问。免费试用 7 天,无需信用卡。

相关指南