Skip to main content
Glama
ethanhan2014

SAP ADT MCP Server

by ethanhan2014

SAP ADT MCP 服务器

用于 SAP ABAP 开发工具 (ADT) REST API 的 MCP 服务器。使 AI 助手能够从单个服务器实例读取、创建和修改 ABAP 源代码、检查 DDIC 对象、执行 SQL 查询、管理传输请求、分析跟踪、获取短转储 (short dumps)、控制调试器等——跨多个 SAP 系统。

工具 (66)

源代码与 DDIC (11)

工具

描述

输入

get_abap_program

获取 ABAP 程序/报表源代码

name

get_class

获取 ABAP 类源代码

name

get_function_module

获取函数模块源代码

function_group, function_name

get_function_group

获取函数组源代码

name

get_include

获取 ABAP include 源代码

name

get_interface

获取 ABAP 接口源代码

name

get_cds_view

获取 CDS 视图 DDL 源代码

name

get_structure

获取 DDIC 结构定义

name

get_table

获取 ABAP 数据库表定义

name

get_data_element

获取 DDIC 数据元素定义

name

get_domain

获取 DDIC 域定义

name

存储库与搜索 (3)

工具

描述

输入

search_object

按名称模式搜索 ABAP 对象(支持通配符)

query, max_results?

get_transaction

获取事务代码详情(包、应用组件)

name

get_package

获取包内容(包含类型/描述的对象)

name

创建、更改与执行 (12)

工具

描述

输入

create_abap_program

创建、写入源代码并激活程序

name, description, source, package?

change_abap_program

修改现有程序(锁定、写入、激活、解锁)

name, source

create_abap_class

创建、写入源代码并激活类

name, description, source, package?

change_abap_class

修改现有类(锁定、写入、激活、解锁)

name, source

create_interface

创建、写入源代码并激活接口

name, description, source, package?

change_interface

修改现有接口(锁定、写入、激活、解锁)

name, source

create_cds_view

创建、写入源代码并激活 CDS 视图

name, description, source, package?

change_cds_view

修改现有 CDS 视图(锁定、写入、激活、解锁)

name, source

execute_program

执行程序并返回 WRITE 输出

name

execute_sql

执行 ABAP SQL 查询并以表格形式返回结果

query

fetch_st22_dumps

获取指定日期的 ST22 短转储

date, user?, max_results?

get_csrf_token

获取 CSRF 令牌和会话 Cookie

(无)

传输管理 (7)

工具

描述

输入

list_user_transports

列出当前用户所有可修改的传输请求

(无)

get_transport

获取完整的传输详情(任务、对象、状态)

transport_number

get_transport_info

检查对象的传输要求

uri, devclass, operation?

create_transport

创建新的传输请求

devclass, description, ref?, operation?

release_transport

释放传输请求以供导入

transport_number

delete_transport

删除传输请求

transport_number

list_system_users

列出 SAP 系统用户

(无)

SAT 跟踪 (7)

工具

描述

输入

list_traces

列出 ABAP 运行时跟踪 (SAT/SE30)

user?

get_trace_hitlist

获取跟踪的性能命中列表

trace_id

get_trace_db_access

获取跟踪的数据库访问统计信息

trace_id

get_trace_statements

获取跟踪的语句级调用树

trace_id

delete_trace

删除运行时跟踪

trace_id

create_trace_config

创建跟踪收集配置

object_name, process_type?, description?

delete_trace_config

删除跟踪配置

config_id

ST05 性能跟踪 (3)

工具

描述

输入

enable_st05_trace

为用户启用 SQL/缓冲区/RFC/授权跟踪

user?, sql?, buffer?, rfc?, auth?, enqueue?, http?

disable_st05_trace

禁用所有活动的性能跟踪

(无)

get_st05_trace_state

获取活动的跟踪类型、用户过滤器和服务器信息

(无)

跨系统跟踪 (5)

工具

描述

输入

enable_cross_trace

为 RAP、OData、SADL、BAdI、Gateway 启用跨系统跟踪

user?, components?, max_traces?, trace_level?

disable_cross_trace

禁用跨系统跟踪激活

activation_id

get_cross_trace_activations

列出活动的跨系统跟踪激活

(无)

list_cross_traces

列出捕获的跨系统跟踪结果

user?

get_cross_trace_records

获取跨系统跟踪的详细记录

trace_id

服务绑定 (3)

工具

描述

输入

get_binding_details

获取 OData 服务绑定详情

binding_name

publish_service_binding

发布 OData 服务绑定

binding_name, binding_version

unpublish_service_binding

取消发布 OData 服务绑定

binding_name, binding_version

调试器 (14)

工具

描述

输入

start_debugger_listener

启动调试器监听器(打开有状态会话)

terminal_id?, ide_id?, user?

stop_debugger_listener

停止监听器并关闭调试会话

terminal_id?, ide_id?, user?

get_debugger_session

检查调试器会话是否已附加

terminal_id?, ide_id?, user?

set_debugger_breakpoint

在源代码位置设置断点

uri, line, user?

delete_debugger_breakpoint

移除断点

breakpoint_id

attach_debugger

附加到正在运行的 ABAP 调试会话

debug_mode?

get_debugger_stack

获取当前调用堆栈

(无)

get_debugger_variables

获取变量值

variable_names[]

get_debugger_child_variables

获取子/嵌套变量值

variable_name

set_debugger_variable_value

在调试期间设置变量值

variable_name, value

debugger_step

单步进入/跳过/返回/继续/终止

step_type, uri?

debugger_goto_stack

导航到堆栈帧

stack_type, position

insert_watchpoint

在变量上设置监视点(值更改时暂停)

variable_name, condition?

get_watchpoints

列出所有活动的监视点

(无)

多系统 (1)

工具

描述

输入

list_systems

列出所有已配置的 SAP 系统(包含 ID、主机名和客户端)

(无)

所有工具都接受可选的 system_id 参数以针对特定的 SAP 系统。省略该参数则使用默认(第一个配置的)系统。

先决条件

  • Node.js v18 或更高版本

  • 拥有 S_ADT_RES 权限的 SAP 用户,用于访问 ADT 资源

  • /sap/bc/adt/ 下激活 ICF 服务(通过事务 SICF

  • 角色 SAP_BC_DWB_ABAPDEVELOPER 或等效角色

安装

git clone https://github.com/ethanhan2014/sap-adt-mcp.git
cd sap-adt-mcp
npm install
npm run build

配置

选项 1:通过 .env 配置单个系统

cp .env.example .env

编辑 .env 文件,填入您的 SAP 系统连接详情:

SAP_HOSTNAME=your-sap-host.example.com
SAP_SYSNR=50
SAP_USERNAME=YOUR_USER
SAP_PASSWORD=YOUR_PASSWORD
SAP_CLIENT=001
SAP_LANGUAGE=EN

变量

描述

示例

SAP_HOSTNAME

SAP 系统主机名

your-sap-host.example.com

SAP_SYSNR

系统编号 (端口 = 443 + sysnr)

50 → 端口 44350

SAP_USERNAME

SAP 用户名

DEVELOPER

SAP_PASSWORD

SAP 密码

secret

SAP_CLIENT

SAP 客户端

001

SAP_LANGUAGE

登录语言 (默认: EN)

EN

选项 2:通过 systems.json 配置多个系统

在项目根目录下创建 systems.json(参考 systems.json.example):

[
  {
    "id": "DEV",
    "hostname": "dev-system.sap.com",
    "sysnr": "50",
    "client": "001",
    "username": "YOUR_USER",
    "password": "YOUR_PASSWORD",
    "language": "EN"
  },
  {
    "id": "QA",
    "hostname": "qa-system.sap.com",
    "sysnr": "00",
    "client": "001",
    "authType": "certificate",
    "certThumbprint": "YOUR_CERT_THUMBPRINT",
    "language": "EN"
  }
]

当存在 systems.json 时,系统配置将忽略 .env 文件。第一个系统为默认系统。在任何工具调用中使用 system_id 即可针对特定系统操作。

支持的认证类型:

  • basic (默认) — 用户名/密码

  • certificate — 通过 certThumbprint 使用 X.509 客户端证书

使用方法

Claude Code

添加到 ~/.claude.json

{
  "mcpServers": {
    "sap-adt": {
      "command": "node",
      "args": ["/path/to/sap-adt-mcp/dist/index.js"]
    }
  }
}

Cline (VS Code)

添加到 Cline MCP 设置 (cline_mcp_settings.json):

{
  "mcpServers": {
    "sap-adt": {
      "command": "node",
      "args": ["/path/to/sap-adt-mcp/dist/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

独立运行

npm start

开发(使用 MCP Inspector)

npx @modelcontextprotocol/inspector node dist/index.js

技术栈

  • TypeScript + Node.js

  • MCP SDK (@modelcontextprotocol/sdk)

  • Axios (用于 HTTP)

  • SAP ADT REST API (通过 HTTPS,支持 Basic Auth 或 X.509 证书)

Install Server
F
license - not found
B
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ethanhan2014/sap-adt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server