连接器指南阅读约 3 分钟7 种语言

OData 转 MCP:将 OData V2/V4 和 SAP Gateway 连接到 Claude

将任意 OData V2 或 V4 服务(包括 SAP Gateway)转换为 Claude、ChatGPT 和 Copilot 可用的 MCP 工具。读取 $metadata 中的标签、键和单位,无需编码。

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

无需信用卡 · 7 天试用 · 提供自托管方案

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

摘要

将任意 OData V2 或 V4 服务(包括 SAP Gateway)转换为 Claude、ChatGPT 和 Copilot 可用的 MCP 工具。读取 $metadata 中的标签、键和单位,无需编码。

摘要: AnythingMCP 提供一种 OData 连接器类型。将它指向 OData V2 或 V4 服务,或指向 SAP Gateway,Claude、ChatGPT 和 Copilot 就能获得五个工具:查找服务、读取实体集及带业务标签的字段、查询数据行,以及按键获取单个实体。查询在发送前会先对照 $metadata 进行检查,服务器分页会被自动跟随,V2 和 V4 的响应都以普通数据行返回。您还可以将某个服务的 $metadata 导入为命名工具,每个实体集对应一个 list 工具和一个 get 工具。

概览
协议OData V2 和 V4,根据 $metadata 自动识别
SAPGateway 服务目录(V2 和 V4)、sap-client、sap-language、写入时使用 CSRF 令牌
内置工具5 个,只读:列出服务、描述服务、描述实体、查询、获取实体
导入$metadata → 每个实体集生成 <set>_list 和 <set>_get 工具
认证支持所有 REST 认证方式:Basic、OAuth 2.0、API 密钥、证书、登录令牌
测试services.odata.org 上的 Northwind V2 和 V4 以及 TripPin V4
托管自托管(开源,AGPL-3.0)或 AnythingMCP Cloud

为什么 OData 需要的不只是 REST 导入

OData 服务会自我描述。它的 $metadata 文档列出每个实体集、实体集的键、每个字段的类型;对于 SAP,还包括用户在屏幕上看到的标签、每个金额对应的货币或单位,以及哪些字段是维度、哪些是度量。通用的 REST 导入会丢弃其中大部分信息,模型只能去猜 NetAmount 的货币在 TransactionCurrency 中,或者某个分析型服务必须按参数过滤。

OData 连接器读取 $metadata 并将其交给模型。Claude 能看到 NetAmount 的标签是 Net Amount,其货币位于 TransactionCurrency;如果它拼错了字段名,连接器会直接回复“Unknown field … Did you mean …”,而不是把错误转发给服务器。

两种获取方式

  • OData 连接器类型。 创建连接器时选择 OData。对于 SAP 系统,勾选 SAP Gateway (S/4HANA, ECC, BW):基础 URL 为主机地址,例如 https://s4.example.com:44300,服务来自 SAP 的目录。对于单个 OData 服务,不要勾选:基础 URL 为服务根地址,例如 https://services.example.com/odata/v4/Sales。
  • 带 OData 设置的 REST 连接器。 如果 REST 连接器的设置中包含 odata 块,它会获得相同的内置工具;其自身的工具仍是普通的 REST 调用。SAP S/4HANA Cloud 适配器就是这样工作的。

两者都运行在 REST 引擎上,因此所有 REST 认证方式都适用,重试、出站 SSRF 防护和代理也同样适用。

内置工具

每个 OData 连接器都有五个工具,命名为 <prefix>_…。前缀为连接器名称加 _odata,也可以自行设置。

工具功能
<prefix>_list_servicesSAP:搜索 Gateway 服务目录(V2 和 V4),缓存一小时。其他情况:列出设置中配置的服务,或单个服务根地址。
<prefix>_describe_service列出实体集及其标签、键和字段数量,并标记为 analytical(由服务器汇总)、parameters(参数化视图)、requiredInFilter 或 readOnly。$metadata 缓存 24 小时。
<prefix>_describe_entity每个字段的标签、类型、键、对应的货币或单位字段、文本字段、是否可过滤和排序,以及其维度或度量角色;导航属性;针对分析型和参数化实体集的提示。
<prefix>_queryselect、filter、orderby、top(最多 1,000)、skip、expand、parameters,以及 V4 的 apply 和 search。先检查字段名,强制执行必填过滤条件,仅在连接器自身的主机上跟随服务器分页,并将响应扁平化:普通数据行、ISO 日期、以字符串表示的小数、总数和 nextSkip。
<prefix>_get_entity按键获取单个实体,包括复合键,例如 {"SalesOrder": "1", "SalesOrderItem": "10"}。

内置工具只读,并对 MCP 客户端标记为只读。

设置步骤

第 1 步:运行 AnythingMCP

对于公开的 OData 服务,可以直接使用 AnythingMCP Cloud。对于 SAP Gateway 或您自己网络中的任何服务,请在能访问该服务的位置自托管 AnythingMCP:

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
docker compose up -d   # → http://localhost:3000

将内部主机名添加到 SSRF_ALLOWED_HOSTS;AnythingMCP 默认拒绝私有地址。

第 2 步:创建 OData 连接器

新建一个连接器,选择 OData 并输入基础 URL。如果想在不注册任何账户的情况下试用,可以使用公开的 Northwind 服务:https://services.odata.org/V4/Northwind/Northwind.svc,不勾选 SAP Gateway,无需认证。对于 SAP,勾选 SAP Gateway,并输入三位数的集团编号和语言。

第 3 步:设置认证并限制服务

选择服务所要求的认证方式:使用技术用户的 Basic 认证、OAuth 2.0(client credentials 或 authorization code)、API 密钥、客户端证书或登录令牌。在连接器的 OData 设置中,于 Allowed services 下列出模型可以调用的服务路径(* 可作通配符);其他服务一律拒绝。

第 4 步:测试并导入工具

Test connection 会读取 SAP 目录或服务的 $metadata。如果希望为模型最常用的实体集创建命名工具,请打开 Import Tools → OData $metadata,填写服务路径(SAP)或留空(单个服务),然后选择实体集。详见下文。

第 5 步:连接 Claude、ChatGPT 或 Copilot

  • Claude: Customize → Connectors → Add custom connector,粘贴您的 MCP 服务器 URL。详细步骤:如何向 Claude 添加自定义连接器。
  • ChatGPT: 在 ChatGPT 的设置中,将同一个公网 HTTPS URL 添加为连接器(应用)。
  • Claude Code、Cursor、VS Code / Copilot: 添加该 URL,并带上 X-API-Key 请求头。

从 $metadata 导入工具

Import Tools → OData $metadata 会将实体集转换为命名工具:带 filter、select、orderby、top、skip 和 expand 参数的 <set>_list,以及带键参数的 <set>_get。文档使用连接器的凭据获取;您也可以直接粘贴 $metadata 文档,并将导入限制在部分实体集。重新导入某个服务时,会更新该服务的工具,并且只停用该服务中已消失的工具,绝不会影响内置工具或其他服务的工具。

在 OData 连接器上,导入的和手写的 HTTP 工具都会自动带上 SAP 集团和语言、V2 的 JSON 格式以及扁平化的响应。SAP 写入操作(POST、PUT、PATCH、DELETE)会先使用会话 Cookie 获取 CSRF 令牌。写入只会通过您自己导入或编写的工具进行。

SAP Gateway:S/4HANA、ECC 和 BW

  1. 一个技术用户,类型为 System,使用生产密码,位于您要读取的集团中。
  2. 一个角色,包含模型可调用服务的 S_SERVICE 权限,以及仅限显示的业务权限。如需浏览目录,还需要 V2 目录服务 /IWFND/CATALOGSERVICE 和 V4 目录的权限。SAP 在每次调用时都会检查这些权限;它们才是真正的边界。
  3. 已激活的服务:在 /IWFND/MAINT_SERVICE(V2)和 /IWFND/V4_ADMIN(V4)中激活。
  4. 网络: Gateway 端口通常只在内部开放。请在网络内自托管 AnythingMCP,或通过 VPN 访问。

SAP 的 API 政策要求第三方集成使用已发布的 API(SAP Business Accelerator Hub 上的 API_* 服务)或您自己构建的服务;请据此限制 Allowed services。

针对本地部署和 Private Cloud 上的 S/4HANA,有一个现成的适配器:SAP S/4HANA (OData)。它以 s4 前缀完成上述全部设置(s4_list_services、s4_describe_service、s4_describe_entity、s4_query、s4_get_entity),并为日记账分录行项目、开票凭证、销售订单、业务伙伴、物料库存和产品提供现成工具,另外还有 s4_guide,一份关于过滤、分析型服务和 KPI 的指南。它以 Basic 认证安装,您也可以将连接器切换为 OAuth 2.0。SAP S/4HANA Cloud 适配器通过其通信协议 API 提供相同的内置工具,名称为 s4_cloud_*。

如果您更希望直接读取 S/4HANA 的表,请参阅通过 HANA SQL 连接 SAP S/4HANA。

设置项

设置含义
SAP Gateway目录发现和 SAP 参数。设置了 SAP 集团时自动启用。
SAP client三位数的集团编号,每次请求都以 sap-client 发送。
Language以 sap-language 发送,例如 EN。
Allowed services模型可调用的服务路径,* 可作通配符。
Versionv2 或 v4,用于覆盖根据 $metadata 的自动识别。
Max rows每次查询的行数上限,最多 1,000。
Tool prefix内置工具名称的前缀。

每个设置项都可以使用连接器环境变量中的 {{VARIABLES}}。

示例提示词

  • “目录中哪些服务与开票凭证有关?”
  • “描述销售订单实体:哪些字段是金额,使用什么货币?”
  • “根据开票凭证,统计 9 月份每个销售组织的净销售额。”
  • “显示销售订单 1 及其所有行项目。”
  • 在 Northwind 上:“单价最高的十种产品是哪些,分别由哪个供应商供货?”

FAQ

支持哪些 OData 版本? V2 和 V4。版本根据 $metadata 自动识别;您可以在设置中覆盖。

需要先把 $metadata 转换为 OpenAPI 吗? 不需要。OData 连接器直接读取 $metadata,Import Tools → OData $metadata 会据此创建工具。

Claude 能通过 OData 修改数据吗? 五个内置工具不能,它们只读。写入需要您自己导入或编写的工具,而 MCP 服务器角色可以将这些工具排除在外;SAP 写入会自动获取 CSRF 令牌。

支持本地部署的 SAP S/4HANA 和 ECC 吗? 支持,通过 SAP Gateway 连接,前提是自托管的 AnythingMCP 能够访问它。对于 S/4HANA,SAP S/4HANA (OData) 适配器是最快的起步方式。

如何处理大量结果? 一次查询最多返回 1,000 行。连接器会在同一主机上跟随服务器分页,并返回 nextSkip,以便模型请求下一页。

也能用于 ChatGPT 和 Copilot 吗? 可以。同一个 MCP 服务器可用于 Claude、ChatGPT、GitHub Copilot、Cursor 和 Claude Code。

相关内容

这份指南对你有帮助吗?

60 秒内把 MCP 接入你的技术栈。

在托管云上启动 AnythingMCP,或在你自己的基础设施上自托管。免费试用 7 天,无需信用卡。

相关指南

连接器

Baserow 接入 MCP — 从任意 AI 代理驱动 Baserow

从 Baserow Cloud 或自托管实例读取表、字段和行。4 个通用只读工具,使用数据库令牌认证。

OJ
连接器

Odoo 14-18 (JSON-RPC) 接入 MCP — 从任意 AI 代理驱动 Odoo 14-18 (JSON-RPC)

通过经典 JSON-RPC 端点连接 Odoo ERP 14 至 18:搜索、读取、创建和更新任意模型,并支持合作伙伴、销售订单、发票和产品。适用于 Odoo Online、Odoo.sh 以及 19 之前的自托管 Odoo(也适用于 19)。API 密钥 + 用户 ID。

连接器

Splunk 接入 MCP — 从任意 AI 代理驱动 Splunk

通过 Splunk 官方 MCP Server,在 Claude、ChatGPT 或 Copilot 中搜索 Splunk 的日志和指标:运行 SPL 和已保存的搜索,列出索引、主机和来源,读取知识对象,并用 Splunk AI Assistant 编写 SPL。

连接器

Firma.dev 接入 MCP — 从任意 AI 代理驱动 Firma.dev

让任意 AI agent 使用 Firma.dev 电子签名:模板、基于模板的签署请求、发送与提醒、收件人状态、审计记录和已签署的 PDF。13 个工具,API 密钥认证,并提供免费测试密钥。

连接器

Google Ads MCP 服务器:将 Google Ads 连接到 Claude、ChatGPT 和任意 agent

向 Claude 或 ChatGPT 询问你的 Google Ads:广告系列、搜索字词、质量得分、预算、转化。只读,无需开发者令牌,15 分钟完成设置。

连接器

Google Search Console 接入 MCP — 从任意 AI 代理驱动 Google Search Console

面向 AI agent 的 Google Search Console:搜索效果(查询、网页、国家/地区、设备、点击次数、展示次数、点击率、排名),网址检查,站点地图和资源,以及内置的 SEO playbook。11 个工具,OAuth2。