关于 ABAP Accelerator
ABAP Accelerator 是面向 ABAP 开发者的 SAP ADT API MCP 服务,可检查、编辑、测试和激活 ABAP 对象。它通过 stdio 在本地运行,并可供兼容 MCP 的客户端使用。
主要功能
- 01列出、搜索和读取 ABAP 对象
- 02创建对象并更新源代码
- 03检查语法并激活对象
- 04运行 ATC 检查和单元测试
- 05查看迁移与传输数据
适用场景
- 01检查 SAP 包中的 ABAP 对象
- 02编辑并验证 ABAP 源代码
- 03运行质量检查和单元测试
- 04查看传输请求和迁移分析
MCP 相关
通过 stdio 向 MCP 客户端提供 15 项 SAP ABAP 开发工具,并连接 SAP ADT API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx abap-acceleratorSAP_HOSTSAP system hostname (or host:port to skip port calculation)SAP_INSTANCE_NUMBERSAP instance number (e.g., 00)SAP_CLIENTSAP client number (e.g., 100)SAP_USERNAME密钥SAP usernameSAP_PASSWORD密钥SAP passwordSAP_LANGUAGESAP languageSAP_SECUREUse HTTPS for SAP connectionSSL_VERIFYVerify SSL certificates本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ABAP Accelerator MCP Server
面向 ABAP 开发的 SAP ADT API Model Context Protocol (MCP) 服务。适用于任何兼容 MCP 的客户端,包括 Claude Code、Amazon Q Developer、Kiro、Cursor、Windsurf 等。
Fork 说明: 这是 AWS ABAP Accelerator for Amazon Q Developer 的分支,重新打包后发布到 PyPI,并针对本地 stdio 运行进行了优化。原项目面向 Docker/ECS 企业部署;此分支专注于最简单的使用方式:
pip install,即可开始使用。
快速开始
pip install abap-accelerator
创建 .env 文件或设置环境变量:
SAP_HOST=your-sap-host.example.com # or host:port (e.g., 10.0.0.1:44300)
SAP_INSTANCE_NUMBER=00 # used to calculate port when SAP_HOST has no port
SAP_CLIENT=100
SAP_USERNAME=your_username
SAP_PASSWORD=your_password
运行:
abap-accelerator
就是这么简单。服务将以 stdio 模式启动,并可供 MCP 客户端使用。
MCP 客户端配置
在客户端的 MCP 配置文件中添加:
Claude Code(项目根目录下的 .mcp.json):
{
"mcpServers": {
"abap-accelerator": {
"command": "abap-accelerator",
"env": {
"SAP_HOST": "your-sap-host.example.com",
"SAP_INSTANCE_NUMBER": "00",
"SAP_CLIENT": "100",
"SAP_USERNAME": "your_username",
"SAP_PASSWORD": "your_password"
}
}
}
}
Amazon Q Developer(~/.aws/amazonq/mcp.json 或工作区中的 .amazonq/mcp.json):
{
"mcpServers": {
"abap-accelerator": {
"command": "abap-accelerator",
"env": {
"SAP_HOST": "your-sap-host.example.com",
"SAP_INSTANCE_NUMBER": "00",
"SAP_CLIENT": "100",
"SAP_USERNAME": "your_username",
"SAP_PASSWORD": "your_password"
}
}
}
}
Kiro(.kiro/settings/mcp.json):
{
"mcpServers": {
"abap-accelerator": {
"command": "abap-accelerator",
"env": {
"SAP_HOST": "your-sap-host.example.com",
"SAP_INSTANCE_NUMBER": "00",
"SAP_CLIENT": "100",
"SAP_USERNAME": "your_username",
"SAP_PASSWORD": "your_password"
}
}
}
}
提示: 如果在包含
.env文件的目录中运行abap-accelerator,可以省略env块 — 服务会自动加载.env。
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
SAP_HOST | 是 | - | SAP 主机名或 host:port |
SAP_INSTANCE_NUMBER | 是 | - | 实例编号(00-99),用于计算端口 |
SAP_CLIENT | 是 | - | SAP 客户端编号(例如 100) |
SAP_USERNAME | 是 | - | SAP 用户名 |
SAP_PASSWORD | 是 | - | SAP 密码 |
SAP_LANGUAGE | 否 | EN | SAP 语言 |
SAP_SECURE | 否 | true | 使用 HTTPS |
SSL_VERIFY | 否 | true | 验证 SSL 证书(使用自签名证书时设为 false) |
CUSTOM_CA_CERT_PATH | 否 | - | 自定义 CA 证书的路径 |
LOG_LEVEL | 否 | INFO | 日志级别(DEBUG、INFO、WARNING、ERROR) |
SAP 端口计算
服务根据实例编号计算 SAP 端口:
| 实例编号 | HTTPS 端口 | HTTP 端口 |
|---|---|---|
| 00 | 44300 | 8000 |
| 01 | 44301 | 8001 |
| 02 | 44302 | 8002 |
公式:HTTPS = 44300 + instance_number,HTTP = 8000 + instance_number
如果 SAP_HOST 中包含端口(例如 10.0.0.1:44300),则忽略实例编号。
可用工具
| 工具 | 说明 |
|---|---|
aws_abap_cb_connection_status | 检查 SAP 连接状态 |
aws_abap_cb_get_objects | 列出包中的 ABAP 对象 |
aws_abap_cb_get_source | 获取对象的源代码 |
aws_abap_cb_search_object | 搜索 ABAP 对象 |
aws_abap_cb_create_object | 创建新的 ABAP 对象 |
aws_abap_cb_update_source | 更新源代码 |
aws_abap_cb_check_syntax | 检查源代码语法 |
aws_abap_cb_activate_object | 激活 ABAP 对象 |
aws_abap_cb_activate_objects_batch | 批量激活对象 |
aws_abap_cb_run_atc_check | 运行 ATC 质量检查 |
aws_abap_cb_run_unit_tests | 执行单元测试 |
aws_abap_cb_get_test_classes | 获取对象的测试类 |
aws_abap_cb_create_or_update_test_class | 创建或更新测试类 |
aws_abap_cb_get_migration_analysis | 获取迁移分析 |
aws_abap_cb_get_transport_requests | 获取传输请求 |
环境使用指南
此工具可直接访问 ABAP 开发对象。请在非生产环境中使用:
| 适用环境 | 不建议使用的环境 |
|---|---|
| 开发(DEV) | 生产(PRD) |
| 沙盒(SBX) | 预生产 |
| 质量保证(QAS) | |
| 测试 / 培训 / 演示 |
故障排查
SSL 证书错误(SSL: CERTIFICATE_VERIFY_FAILED):
- 将
CUSTOM_CA_CERT_PATH设置为贵公司的 CA 证书 - 仅用于测试:将
SSL_VERIFY=false
连接超时:
- 确认 SAP 系统可从您的网络访问
- 检查防火墙是否允许端口 44300(或您的 SAP 端口)
- 确认 SAP ADT 服务已启用(事务码 SICF)
调试日志:
- 将
LOG_LEVEL=DEBUG设置为输出详细日志
许可证
MIT 无署名(MIT-0)——请参阅 LICENSE
原创作品版权归 Amazon.com, Inc. 或其关联公司所有。保留所有权利。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。