← 返回目录
M

MCP Abap Adt

社区
SAP ABAP ADT 的 MCP 服务器:支持 SAP BTP ABAP Cloud 和本地 ECC/S/4HANA,提供完整的 CRUD、JWT/XSUAA 和服务密钥认证。
分类
开发工具 第 108 / 438
Stars
★ 97 热门
传输方式
stdio(本地进程) · SSE · Streamable HTTP
运行环境
Node.js
凭据
需要 API Key / 凭据
许可证
Apache-2.0
最近提交
工具数
65
61FMRS · C

该服务器为 SAP ABAP 系统提供了强大的 CRUD 功能,适合 AI 辅助开发,但需要安全配置和谨慎监管。它支持多种认证方式和三种传输方式。

最强项 · 文档质量 15/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
12/20
维护活跃度
13/20
文档质量
15/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
server.json 清单结构完整,采用 2025-12-11 schema,声明了 npm 包、stdio 传输和结构化环境变量,且描述了缺少 SAP_URL 时进入「仅工具检查模式」的降级行为。但本评审仅依据 README 与清单,未提供任何 CI 工作流或已提交的测试文件,按静态校准规则可靠性封顶 12;项目自述证书与 Kerberos 认证尚未在真实 SAP 系统上验证,属未经验证的边缘路径。另外清单中 SAP_AUTH_TYPE 的 choices 仅含 xsuaa/basic,而 README 的 .env 示例还使用了 jwt/certificate/kerberos,存在轻微不一致。因缺乏可验证的执行证据及存在自认未验证路径而扣分。
安全与权限 12/20
凭据通过环境变量注入且有 isSecret 标记(SAP_JWT_TOKEN、SAP_PASSWORD);会话默认仅存内存,持久化需要显式 --unsafe 开关;NTLM 被硬性拒绝,避免静默降级;安装示例全部使用占位符,无真实令牌;handler 分组(readonly/high/low/compact)与去重策略提供了最小权限的调节手段,auth-broker + 浏览器 OAuth 也减少了长期凭据暴露。扣分原因:完整 CRUD 表面包含 DeleteView/DeleteClass 等破坏性工具,但未看到服务端确认或防护机制说明;GetSqlQuery 允许任意 SQL,虽在已连接系统边界内,却缺少对 SAP 账号角色最小化的指引。未发现红线触发项,故得分高于 4。
维护活跃度 13/20
MIT 许可、仓库未被归档、版本号 8.13.0 说明存在持续的版本发布节奏;README 引用了 CHANGELOG.md、CONTRIBUTORS.md 与发布说明文档,且有配套 npm 包(connection、adt-clients)和独立 configurator 仓库,显示已形成生态。扣分原因:提供的材料中看不到提交历史、issue 响应时效或依赖更新记录;star 数仅作为发现信号,不计入分数。
文档质量 15/20
README 覆盖极广:架构、快速开始、六类认证(basic/JWT/服务密钥/RFC/mTLS/Kerberos)、环境变量解析顺序、CLI 选项、Unix/Windows 平台路径、service-key 生成 .env 的用法,并明确披露限制(ABAP Cloud 数据预览被后端阻断、证书/Kerberos 未在真实系统验证)。为多层文档结构提供了索引(安装、用户、部署、架构、开发)。扣分原因:逐工具的参数文档和故障排查页面仅被引用而未随材料提供,且 README 按规则属于不可信证据,需谨慎采信。
安装易用性 13/20
安装路径清晰:两个全局 npm 包安装后用 configurator CLI(mcp-conf)自动生成客户端配置,或以显式 CLI 示例手动配置;目标(destination)认证给出标准服务密钥目录;mcp-auth 可从服务密钥生成 .env;stdio/HTTP/SSE 三种传输均给出可运行的命令示例。扣分原因:auth-broker、destination、多传输、多认证的组合本身复杂度较高且依赖真实 SAP 系统;缺少 CI/测试等可验证的执行证据,按静态校准规则 setup 封顶 15。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络连接数据库

适合谁

  • ABAP 开发人员和架构师
  • RAP 开发者
  • 团队负责人和技术负责人,需要快速了解仓库
  • 构建 SAP 环境 RAG/代理工作流的团队

不适合谁

  • 不使用 SAP 系统的用户
  • 需要只读访问且不允许修改的用户(此服务器支持全 CRUD)
  • 依赖非标准认证方法且不支持的用户

所需权限

  • 需要访问 SAP 系统的 URL (SAP_URL)
  • 需要认证凭据:JWT 令牌(XSUAA)或基本认证用户名/密码
  • 需要 ABAP 客户端编号(SAP_CLIENT)
  • 对于本地系统,可能需要传输请求对象(SAP_MASTER_SYSTEM, SAP_RESPONSIBLE)
  • 可以创建、读取、更新和删除 ABAP 对象,因此需要足够的 ABAP 系统权限

风险与副作用

  • AI 代理可能意外修改或删除 ABAP 对象,如果权限过高导致破坏
  • 暴露的凭据(如密码、JWT 令牌)如果处理不当会被泄露
  • 对 SAP 系统的频率访问可能导致性能或锁问题
  • 代码生成的质量可能不符合生产标准,需要人工审查

安装接入

准备工作

运行环境:Node.js

SAP_URL 必填 ABAP 系统的基础 URL(BTP ABAP 服务地址或本地系统地址),必填,来自 SAP 系统/BTP 实例。
SAP_JWT_TOKEN 可选密钥 JWT 令牌,用于 SAP_AUTH_TYPE=xsuaa,可由 BTP 服务密钥生成。
SAP_PASSWORD 可选密钥 basic 认证的密码,来自本地 SAP 系统管理员。
SAP_CERT_PASSPHRASE 可选密钥 PKCS#12 证书的口令。
其他可选配置项(19 个)
SAP_AUTH_TYPE 可选 认证方式:xsuaa(BTP JWT/OAuth2,默认)或 basic(本地用户名密码)。
SAP_SYSTEM_TYPE 可选 系统类型 cloud/onprem/legacy,决定可用工具集,默认 cloud。
SAP_CLIENT 可选 ABAP 集团号(如 100),BTP ABAP Cloud 可选。
SAP_USERNAME 可选 basic 认证的用户名,来自本地 SAP 系统管理员。
SAP_LANGUAGE 可选 登录语言(ISO 代码,如 en),默认 en。
SAP_MASTER_SYSTEM 可选 本地系统创建/更新操作的系统上下文(如 DEV)。
SAP_RESPONSIBLE 可选 本地系统创建/更新操作的责任人用户。
SAP_CERT_PATH 可选 mTLS 客户端证书路径(PEM 格式 .crt),仅本地 HTTP 认证。
SAP_CERT_KEY_PATH 可选 mTLS 客户端私钥路径(PEM 格式 .key),仅本地 HTTP 认证。
SAP_CERT_PFX_PATH 可选 mTLS PKCS#12 证书文件路径(与 PEM 二选一)。
SAP_KERBEROS_SPN 可选 Kerberos 认证的可选服务主体名(默认 HTTP@<host>)。
SAP_KERBEROS_SERVICE 可选 推导 SPN 的服务类(默认 HTTP),可选。
SAP_CONNECTION_TYPE 可选 连接方式 http(默认)或 rfc(旧系统需 SAP NW RFC SDK)。
MCP_ENV_PATH 可选 显式指定 .env 文件路径的备用方式。
AUTH_LOG_LEVEL 可选 处理器日志级别(error/warn/info/debug)。
DEBUG_AUTH_LOG 可选 设为 true 启用 debug 级认证日志。
HANDLER_LOG_SILENT 可选 设为 true 完全关闭处理器日志。
DEBUG_CONNECTORS 可选 设为 true 输出高层处理器的详细连接日志。
DEBUG_HANDLERS 可选 设为 true 启用部分只读/系统处理器的详细日志。
  1. 全局安装服务器和配置器:npm install -g @mcp-abap-adt/core 和 npm install -g @mcp-abap-adt/configurator。
  2. 使用配置器自动配置客户端,例如:mcp-conf --client cline --name abap --mcp TRIAL。
  3. 或手动配置:在 MCP 客户端中设置 stdio 服务器,命令为 mcp-abap-adt,并配置环境变量(如 SAP_URL)。

更多详情请参考官方文档。

验证是否装好

运行 mcp-abap-adt --transport=stdio --mcp=<destination> 启动服务器,在 MCP 客户端的工具列表中应能看到 GetWhereUsed、GetClass 等工具;再发送一个如 "用 SearchObject 搜索类 ZCL_*" 的请求,若能返回系统数据即说明连接成功。

常见排障

  1. 确保 SAP_URL 正确且可从运行 MCP 服务器的机器访问
  2. 验证认证方法:对于 BTP ABAP Cloud 使用 XSUAA/JWT,对于本地使用基本认证
  3. 检查 ABAP 客户端编号是否正确
  4. 对于本地系统,确保有足够的传输请求权限
  5. 阅读官方文档中的认证和配置部分

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 用 GetWhereUsed 查一下类 CL_MY_HANDLER 在系统里被哪些对象引用
  • 用 GetPackageTree 列出开发包 Z_DEV_PKG 的子包结构
  • 创建一个新 ABAP 类 ZCL_TEST_001,然后用 ActivateObject 激活它
  • 用 GetSqlQuery 通过 ADT Data Preview 查询表 T000 的前几行数据

工具能力 65

GetWhereUsed 只读
执行对象的使用位置分析,映射使用范围和潜在影响。
DescribeByList 只读
列出对象元数据信息。
GetObjectStructure 只读
获取对象的内部结构。
GetObjectInfo 只读
获取对象的详细信息。
SearchObject 只读
搜索 ABAP 对象。
GetPackageTree 只读
获取包层级结构。
GetPackageContents 只读
获取包内容列表。
GetAbapAST 只读
获取 ABAP 语法树。
展开其余 57 个工具
GetAbapSemanticAnalysis 只读
获取 ABAP 语义分析结果。
GetIncludesList 只读
递归发现 include 列表。
CreateBehaviorDefinition 写入
创建行为定义。
UpdateBehaviorDefinition 写入
更新行为定义。
CreateBehaviorImplementation 写入
创建行为实现。
UpdateBehaviorImplementation 写入
更新行为实现。
CreateServiceDefinition 写入
创建服务定义。
UpdateServiceDefinition 写入
更新服务定义。
CreateMetadataExtension 写入
创建元数据扩展。
UpdateMetadataExtension 写入
更新元数据扩展。
CreateView 写入
创建 CDS 或经典视图。
UpdateView 写入
更新 CDS 或经典视图。
GetView 只读
获取视图信息。
DeleteView 破坏性
删除视图。
CreateClass 写入
创建 ABAP 类。
UpdateClass 写入
更新 ABAP 类。
GetClass 只读
获取 ABAP 类信息。
DeleteClass 破坏性
删除 ABAP 类。
CreateInterface 写入
创建 ABAP 接口。
UpdateInterface 写入
更新 ABAP 接口。
GetInterface 只读
获取 ABAP 接口信息。
DeleteInterface 破坏性
删除 ABAP 接口。
CreateFunctionGroup 写入
创建函数组。
UpdateFunctionGroup 写入
更新函数组。
GetFunctionGroup 只读
获取函数组信息。
DeleteFunctionGroup 破坏性
删除函数组。
CreateFunctionModule 写入
创建函数模块。
UpdateFunctionModule 写入
更新函数模块。
GetFunctionModule 只读
获取函数模块信息。
DeleteFunctionModule 破坏性
删除函数模块。
CreateTransport 写入
创建传输请求。
GetTransport 只读
获取传输请求。
ActivateObject 写入
激活 ABAP 对象。
GetDomain 只读
获取域。
CreateDomain 写入
创建域。
UpdateDomain 写入
更新域。
GetDataElement 只读
获取数据元素。
CreateDataElement 写入
创建数据元素。
UpdateDataElement 写入
更新数据元素。
GetTable 只读
获取数据库表。
CreateTable 写入
创建数据库表。
GetTableContents 只读
预览表数据。
GetStructure 只读
获取结构。
CreateStructure 写入
创建结构。
GetBehaviorDefinition 只读
获取行为定义。
GetEnhancements 只读
分析增强。
GetEnhancementImpl 只读
获取增强实现。
GetEnhancementSpot 只读
获取增强点。
GetInactiveObjects 只读
监控待激活的非活动对象。
RuntimeCreateProfilerTraceParameters 写入
创建性能分析跟踪参数。
RuntimeListProfilerTraceFiles 只读
列出性能分析跟踪文件。
RuntimeGetProfilerTraceData 只读
获取性能分析跟踪数据。
RuntimeGetDumpById 只读
获取转储数据。
RuntimeListFeeds 只读
读取运行时提要(转储、系统消息、网关错误)。
RuntimeListSystemMessages 只读
获取 SM02 系统消息。
RuntimeGetGatewayErrorLog 只读
获取网关错误日志。
GetSqlQuery 只读
通过 ADT 数据预览 API 执行自定义 SQL 查询。

使用场景

变更前进行影响分析/使用位置分析,映射对象使用情况
跨类、接口、DDIC、CDS/视图和 RAP 工件进行依赖审计
为重构或云就绪准备提取仓库事实
通过 ADT 支持的 CRUD 操作快速迭代开发 RAP 和经典 ABAP
自动化文档和 RAG 摄入,从 ABAP 系统提取结构化事实

支持客户端

Claude Desktop

依据项目文档列出,未经本站实测。

详细介绍

mcp-abap-adt 是一个为 ABAP ADT 设计的 MCP 服务器,适用于 SAP ECC/S/4HANA(本地)和 SAP BTP ABAP Cloud 系统。它通过 ADT 为 AI 代理提供对真实 ABAP 仓库的受控访问,使分析和修改基于系统数据而非假设。它专为 AI 辅助结对编程(AIPNV)而非自动驾驶式编码而构建。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 62.9k · 工具数 2 与当前对比 →

源版本 c53697c5cfef 数据同步于 2026-10-12 查看 FMRS 评分方法