关于 ABAPilot
ABAPilot 是连接 AI 编码工具与 SAP ECC 及本地部署 S/4HANA 的 MCP 连接器,供 ABAP 开发者读取源代码和字典信息、检查语法并支持开发。连接 SAP 需要另行安装并许可 ABAPilot 后端。
主要功能
- 01读取 ABAP 源码及字典信息
- 02检查 ABAP 语法
- 03查询 SAP 数据与元数据
- 04查看转储、日志和作业
- 05筛选客户端可用工具
适用场景
- 01理解现有 ABAP 程序及其依赖
- 02检查拟议代码变更的语法
- 03查询 SAP 表结构和数据
- 04排查 SAP 转储与系统日志
MCP 相关
该连接器在 SAP 外部运行,通过许可的 SAP 端后端向兼容 MCP 的客户端提供工具。实际可用操作取决于连接器版本、后端及已启用端点。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y abapilotABAPILOT_URLURL of the ABAPilot SICF endpoint in your SAP system, e.g. https://sap-host:8443/sap/bc/abapilotABAPILOT_USERSAP user for basic authenticationABAPILOT_PASSWORD密钥SAP password for basic authenticationABAPILOT_TOKEN密钥Bearer token, alternative to basic authenticationABAPILOT_CLIENTSAP client number, e.g. 100ABAPILOT_TOOLSComma-separated allowlist of tool names to expose to the client. Optional; default is the full catalog.ABAPILOT_TLS_INSECURESet to 1 to skip TLS certificate verification (development systems only)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
49收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 自然语言查询(例如,'top 10 customers by sales in 2024') |
| fetch_metadata | boolean | 否 | 若为 true,还会获取并分类已识别表的字段元数据(默认值:true) |
详细介绍
ABAPilot — 用于 SAP ECC 和 S/4HANA ABAP 开发的 MCP 连接器
Crimson Consulting 推出的 ABAPilot 可将 AI 编码助手连接到 SAP ECC 和本地部署的 S/4HANA。使用 SAP 源代码和字典上下文,了解现有 ABAP、审查拟议的更改,并通过你偏好的兼容 MCP 的编码客户端支持开发。
该连接器免费且采用 MIT 许可证。连接 SAP 需要在你的系统中安装获得许可的 ABAPilot 后端。
可供检查的证据
- 四个安装环境的运行检查,2026 年 9 月 9 日:两个 ECC 和两个 S/4HANA 安装环境均通过了字典读取、组件读取、分发器源代码读取以及正向/负向语法检查。这些检查未测试写入、激活、传输、授权边界或生产就绪情况。
- 公开的 MIT 许可 ABAP REST 框架:可检查表驱动的端点注册表、分发器和示例处理程序。该框架与获得许可的 ABAPilot 后端相互独立,不能证明经过检查的安装环境运行着完全相同的公开提交版本。
- 已发布的 MCP 目录:npm 1.0.6 连接器提供 49 个工具。目录发现结果不能证明每项操作都能在特定 SAP 安装环境中正常运行。
从现有 ABAP 程序开始
请助手使用从 SAP 检索的源代码和字典定义来解释程序。查看它使用的参考信息,再继续提出更改。可用操作取决于连接器版本、已安装的后端和已启用的端点。
架构和先决条件
MCP 连接器在 SAP 外部运行,并调用获得许可的 SAP 端后端。在开展客户试用前,请与 SAP 团队确认 SAP 版本、后端版本、HTTPS 端点、各个用户的权限以及允许执行的操作。
使用 npx -y abapilot 启动连接器。此命令不会安装 SAP 后端。有关客户端特定配置和机密处理,请参阅链接的设置指南。为确保团队部署可重复,请固定经过审查的连接器版本。
技术参考: 架构
工具
当前仓库目录列出了 49 个工具。可用性取决于已安装的连接器、后端版本和已启用的端点。
业务数据
sap_read_table_data— 从 SAP 表读取实际数据,可选用 WHERE 子句进行筛选并包含元数据sap_read_table_data_enhanced— 查询 SAP 表中的数据,可选用 WHERE 子句进行筛选sap_read_table_paginated— 分页读取表数据,支持大型结果集sap_stream_table_data— 使用基于偏移量的分页流式读取大型表数据sap_smart_table_query— 执行表查询,并自动进行由元数据驱动的增强sap_multi_table_query— 执行多表查询,支持适当的联接和可选聚合sap_count_rows— 获取表的估算行数,之后再提取数据sap_analyze_query— 分析自然语言查询,并为构建 SAP 查询提供智能指导sap_search_tables— 在数据字典中搜索与关键词匹配的表
数据字典和元数据
sap_read_table_structure— 检索数据字典表的元数据,包括字段定义、数据类型、键和描述sap_read_object_details— 读取有关任何 SAP 仓库或 DDIC 对象的全面详细信息sap_read_object_info— 获取 ABAP 对象的元数据,包括创建日期、最后更改日期、作者和软件包sap_check_type_exists— 检查某个类型是否存在于 SAP 数据字典中,并返回其类型sap_read_domain_values— 检索域中定义的固定值sap_read_field_domain_values— 获取特定表字段的域固定值sap_read_foreign_keys— 从数据字典(DD08L)读取表的外键关系sap_infer_joins— 根据域匹配自动检测两个表之间的连接键sap_get_field_metadata— 获取带有语义分类的 SAP 表字段增强元数据sap_list_package_objects— 列出开发软件包(DEVCLASS)中的所有 ABAP 仓库对象
ABAP 代码
sap_read_code— 检索 ABAP 对象(程序、类或函数组)的源代码sap_read_includes— 检索程序的所有包含文件及其源代码sap_read_dynpros— 检索程序的屏幕定义,包括字段列表sap_read_texts— 检索程序的文本元素(选择文本、文本符号)sap_read_where_used— 查询 SAP 的交叉引用表(WBCROSSGT/WBCROSSI),查找哪些对象使用给定对象(正向),或给定对象使用了哪些对象(反向)sap_get_enhancements— 一次调用即可列出 SAP 事务或程序的所有增强sap_syntax_check— 验证 ABAP 源代码是否存在语法错误,不会创建或激活代码sap_write_code— 转发源代码写入请求;对象支持、验证和激活取决于已安装的后端sap_write_code_safe— 将请求转发给后端;公共 Node 连接器未实现安全保护,且其输入架构不完整sap_patch_code— 转发源代码修补请求;支持的修补参数和验证取决于后端
运维与故障排除
sap_read_dumps— 从 SAP 的 ST22 事务查询 ABAP 运行时错误(短转储)sap_read_dump_details— 获取特定短转储的详细信息,包括完整错误文本、原因和解决方案sap_read_syslog— 从 SAP 的 SM21 事务查询系统日志条目sap_read_jobs— 从 SAP 的 SM37 事务查询后台作业信息sap_run_program— 请求执行报表;输出取决于后端,此连接器未实现超时或后台作业回退机制sap_run_transaction— 运行报表事务代码背后的 ABAP 报表,可选择使用选择屏幕变式,并返回其列表输出sap_save_variant— 为报表创建或覆盖 ABAP 选择屏幕 VARIANT,以便通过 sap_run_program(以及性能跟踪 / 无头…sap_read_user_locks— 查询 USR02 表中的用户锁定状态sap_diagnose_message— 端到端诊断 SAP 错误 / 警告 / 信息消息sap_lookup_t100— 按消息类和编号查找特定的 SAP T100 消息sap_lookup_error— 使用所有可用的外部知识来源分析 SAP 错误消息
审计与合规
sap_read_change_docs— 查询 CDHDR/CDPOS 表中的更改凭证sap_read_change_docs_v2— 使用函数模块优化更改凭证查询sap_discover_change_object— 通过查询 TCDOB 查找表的更改凭证 OBJECTCLASsap_scan_security_notes— 查找适用于某个 SAP 补丁日月份的 ABAP 安全 / HotNews 注释,并根据其与此系统的相关性进行排序sap_check_notes_relevancy— 检查一个或多个 SAP Note 编号与此系统的相关性(组件 / SP 级别、下载状态、实施就绪情况)
翻译
sap_read_translations— 读取 SAP 对象中源语言和可选目标语言的可翻译文本sap_write_translations— 将译文写回 SAP 对象sap_translate— 组合工具:读取 SAP 对象中的可翻译文本,使用 AI 翻译,并可选择将译文写回
知识
sap_search_knowledge— 搜索 SAP 文档和社区,查找任何 SAP 主题的信息
目录在两个位置受到限制。在你的系统中,/ABAPILOT/CONFIG(或 /TSRA/CONFIG)端点注册表决定哪些端点处于启用状态 — 关闭某个端点后,该工具就会停止工作,无需更改客户端。在客户端一侧,ABAPILOT_TOOLS 会缩小特定 MCP 客户端可见的工具范围:
"env": { "ABAPILOT_TOOLS": "sap_read_table_data,sap_read_code,sap_syntax_check" }
许可后端可能会提供超出此公开目录的操作。请商定所需功能,并在已部署的版本上进行验证,然后再试用。
验证与数据处理
公开连接器提供源代码和字典读取器、语法检查以及写入端点。验证和部署保护措施取决于已安装的后端。不能假定每次写入都会进行语法检查。请在已部署的版本上确认已启用的端点、验证行为、授权失败情况和日志归属。
请检查所选 AI 客户端和模型提供商会接收哪些 SAP 上下文。使用自己的 API 密钥本身并不能保证数据在本地处理,也不能确定具体的数据保留策略。
评估工作流
2026 年 9 月的演示使用 Claude Code、ABAPilot 和生命周期技能,对现有物料描述报表的沙盒副本进行修改,然后更新其技术规范和测试场景。长度和无效字符检查会独立运行;正则缓存回归测试会检查更改模式后是否复用了过时的表达式。
最终记录的 ABAP Unit 运行通过了 14 个测试方法。场景文档记录了 16 个场景中的 15 个通过:14 个单元测试场景和一次文档审查;未运行手动报表集成测试。单元测试未验证物料选择、SALV 渲染、MM03 导航以及在数据选择前发生的运行时终止。原始报表和物料主数据均未更改。这是一次经过配置的沙盒安装,并不能证明已具备生产就绪条件,也不保证在每个 SAP 版本上都能获得相同支持。
技术案例包含截图和覆盖范围说明。此前的四分钟创建演示也可观看。
录制的演示展示了一种沙盒工作流。在现场演示中,我们可以先讨论你的系统、IDE 和需求,再商定客户试用。选择时间。
延伸阅读
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。