SAP ADT MCP Server
SAP ADT MCP Server
MCP-сервер для REST API инструментов разработки SAP ABAP (ADT). Позволяет ИИ-ассистентам читать, создавать и изменять исходный код ABAP, просматривать объекты DDIC, выполнять SQL-запросы, управлять транспортами, анализировать трассировки, получать дампы, управлять отладчиком и многое другое — для нескольких систем SAP из одного экземпляра сервера.
Инструменты (66)
Исходный код и DDIC (11)
Инструмент | Описание | Входные данные |
| Получить исходный код программы/отчета ABAP |
|
| Получить исходный код класса ABAP |
|
| Получить исходный код функционального модуля |
|
| Получить исходный код функциональной группы |
|
| Получить исходный код include-файла ABAP |
|
| Получить исходный код интерфейса ABAP |
|
| Получить исходный код DDL CDS-представления |
|
| Получить определение структуры DDIC |
|
| Получить определение таблицы базы данных ABAP |
|
| Получить определение элемента данных DDIC |
|
| Получить определение домена DDIC |
|
Репозиторий и поиск (3)
Инструмент | Описание | Входные данные |
| Поиск объектов ABAP по шаблону имени (поддерживаются подстановочные знаки) |
|
| Получить детали транзакции (пакет, компонент приложения) |
|
| Получить содержимое пакета (объекты с типами/описаниями) |
|
Создание, изменение и выполнение (12)
Инструмент | Описание | Входные данные |
| Создать, записать исходный код и активировать программу |
|
| Изменить существующую программу (блокировка, запись, активация, разблокировка) |
|
| Создать, записать исходный код и активировать класс |
|
| Изменить существующий класс (блокировка, запись, активация, разблокировка) |
|
| Создать, записать исходный код и активировать интерфейс |
|
| Изменить существующий интерфейс (блокировка, запись, активация, разблокировка) |
|
| Создать, записать исходный код и активировать CDS-представление |
|
| Изменить существующее CDS-представление (блокировка, запись, активация, разблокировка) |
|
| Выполнить программу и вернуть вывод WRITE |
|
| Выполнить SQL-запрос ABAP и вернуть результаты в виде таблицы |
|
| Получить дампы ST22 за дату |
|
| Получить CSRF-токен и сессионный cookie | (нет) |
Управление транспортами (7)
Инструмент | Описание | Входные данные |
| Список всех изменяемых транспортов для текущего пользователя | (нет) |
| Получить полные детали транспорта (задачи, объекты, статус) |
|
| Проверить требования к транспорту для объекта |
|
| Создать новый транспортный запрос |
|
| Деблокировать транспорт для импорта |
|
| Удалить транспортный запрос |
|
| Список пользователей системы SAP | (нет) |
Трассировка SAT (7)
Инструмент | Описание | Входные данные |
| Список трассировок времени выполнения ABAP (SAT/SE30) |
|
| Получить список наиболее затратных операций для трассировки |
|
| Получить статистику доступа к БД для трассировки |
|
| Получить дерево вызовов на уровне операторов для трассировки |
|
| Удалить трассировку времени выполнения |
|
| Создать конфигурацию сбора трассировки |
|
| Удалить конфигурацию трассировки |
|
Трассировка производительности ST05 (3)
Инструмент | Описание | Входные данные |
| Включить трассировку SQL/буфера/RFC/авторизации для пользователя |
|
| Отключить все активные трассировки производительности | (нет) |
| Получить активные типы трассировки, фильтр пользователя и информацию о сервере | (нет) |
Перекрестная трассировка (5)
Инструмент | Описание | Входные данные |
| Включить перекрестную трассировку для RAP, OData, SADL, BAdI, Gateway |
|
| Отключить активацию перекрестной трассировки |
|
| Список активных активаций перекрестной трассировки | (нет) |
| Список захваченных результатов перекрестной трассировки |
|
| Получить подробные записи для перекрестной трассировки |
|
Привязка сервисов (3)
Инструмент | Описание | Входные данные |
| Получить детали привязки OData-сервиса |
|
| Опубликовать привязку OData-сервиса |
|
| Отменить публикацию привязки OData-сервиса |
|
Отладчик (14)
Инструмент | Описание | Входные данные |
| Запустить прослушиватель отладчика (открывает сессию с состоянием) |
|
| Остановить прослушиватель и закрыть сессию отладки |
|
| Проверить, подключена ли сессия отладчика |
|
| Установить точку останова в месте исходного кода |
|
| Удалить точку останова |
|
| Подключиться к запущенной сессии отладки ABAP |
|
| Получить текущий стек вызовов | (нет) |
| Получить значения переменных |
|
| Получить значения дочерних/вложенных переменных |
|
| Установить значение переменной во время отладки |
|
| Шаг с заходом/перешагиванием/возвратом/продолжением/завершением |
|
| Перейти к кадру стека |
|
| Установить точку наблюдения за переменной (пауза при изменении значения) |
|
| Список всех активных точек наблюдения | (нет) |
Мультисистемность (1)
Инструмент | Описание | Входные данные |
| Список всех настроенных систем SAP с ID, именами хостов и клиентами | (нет) |
Все инструменты принимают необязательный параметр system_id для выбора конкретной системы SAP. Если пропустить, будет использоваться система по умолчанию (первая настроенная).
Предварительные требования
Node.js v18 или новее
Пользователь SAP с полномочиями S_ADT_RES для доступа к ресурсам ADT
Активированные сервисы ICF в пути
/sap/bc/adt/(через транзакцию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 |
|
| Системный номер (порт = |
|
| Пользователь SAP |
|
| Пароль SAP |
|
| Клиент SAP |
|
| Язык входа (по умолчанию: |
|
Вариант 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 — клиентский сертификат X.509 через
certThumbprint
Использование
Claude Code
Добавьте в ~/.claude.json:
{
"mcpServers": {
"sap-adt": {
"command": "node",
"args": ["/path/to/sap-adt-mcp/dist/index.js"]
}
}
}Cline (VS Code)
Добавьте в настройки MCP Cline (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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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