mcpField
A
ABAPilot

ABAPilot

本地服务
crimsonconsultingsl.com开发工具47 周前更新

关于 ABAPilot

ABAPilot 是连接 AI 编码工具与 SAP ECC 及本地部署 S/4HANA 的 MCP 连接器,供 ABAP 开发者读取源代码和字典信息、检查语法并支持开发。连接 SAP 需要另行安装并许可 ABAPilot 后端。

主要功能

  1. 01读取 ABAP 源码及字典信息
  2. 02检查 ABAP 语法
  3. 03查询 SAP 数据与元数据
  4. 04查看转储、日志和作业
  5. 05筛选客户端可用工具

适用场景

  1. 01理解现有 ABAP 程序及其依赖
  2. 02检查拟议代码变更的语法
  3. 03查询 SAP 表结构和数据
  4. 04排查 SAP 转储与系统日志

MCP 相关

该连接器在 SAP 外部运行,通过许可的 SAP 端后端向兼容 MCP 的客户端提供工具。实际可用操作取决于连接器版本、后端及已启用端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nicohern-abapilot": {
"command": "npx",
"args": [
"-y",
"abapilot"
],
"env": {
"ABAPILOT_URL": "<ABAPILOT_URL>",
"ABAPILOT_USER": "<ABAPILOT_USER>",
"ABAPILOT_PASSWORD": "<ABAPILOT_PASSWORD>",
"ABAPILOT_TOKEN": "<ABAPILOT_TOKEN>",
"ABAPILOT_CLIENT": "<ABAPILOT_CLIENT>",
"ABAPILOT_TOOLS": "<ABAPILOT_TOOLS>",
"ABAPILOT_TLS_INSECURE": "<ABAPILOT_TLS_INSECURE>"
}
}
}
}
启动命令npx -y abapilot
需要配置的环境变量
ABAPILOT_URLURL of the ABAPilot SICF endpoint in your SAP system, e.g. https://sap-host:8443/sap/bc/abapilot
ABAPILOT_USERSAP user for basic authentication
ABAPILOT_PASSWORD密钥SAP password for basic authentication
ABAPILOT_TOKEN密钥Bearer token, alternative to basic authentication
ABAPILOT_CLIENTSAP client number, e.g. 100
ABAPILOT_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmabapilot1.0.6

工具

49

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是自然语言查询(例如,'top 10 customers by sales in 2024')
fetch_metadataboolean否若为 true,还会获取并分类已识别表的字段元数据(默认值:true)

详细介绍

ABAPilot — 用于 SAP ECC 和 S/4HANA ABAP 开发的 MCP 连接器

Listed on mcpservers.org

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 查找表的更改凭证 OBJECTCLAS
  • sap_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 和需求,再商定客户试用。选择时间。

延伸阅读

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。