Skip to main content
Glama
ethanhan2014

SAP ADT MCP Server

by ethanhan2014

Servidor MCP SAP ADT

Servidor MCP para la API REST de SAP ABAP Development Tools (ADT). Permite a los asistentes de IA leer, crear y modificar código fuente ABAP, inspeccionar objetos DDIC, ejecutar consultas SQL, gestionar transportes, analizar trazas, obtener volcados (short dumps), controlar el depurador y más, a través de múltiples sistemas SAP desde una única instancia de servidor.

Herramientas (66)

Código fuente y DDIC (11)

Herramienta

Descripción

Entrada

get_abap_program

Obtener código fuente de programa/reporte ABAP

name

get_class

Obtener código fuente de clase ABAP

name

get_function_module

Obtener código fuente de módulo de funciones

function_group, function_name

get_function_group

Obtener código fuente de grupo de funciones

name

get_include

Obtener código fuente de include ABAP

name

get_interface

Obtener código fuente de interfaz ABAP

name

get_cds_view

Obtener fuente DDL de vista CDS

name

get_structure

Obtener definición de estructura DDIC

name

get_table

Obtener definición de tabla de base de datos ABAP

name

get_data_element

Obtener definición de elemento de datos DDIC

name

get_domain

Obtener definición de dominio DDIC

name

Repositorio y búsqueda (3)

Herramienta

Descripción

Entrada

search_object

Buscar objetos ABAP por patrón de nombre (se admiten comodines)

query, max_results?

get_transaction

Obtener detalles de transacción (paquete, componente de aplicación)

name

get_package

Obtener contenido del paquete (objetos con tipos/descripciones)

name

Crear, cambiar y ejecutar (12)

Herramienta

Descripción

Entrada

create_abap_program

Crear, escribir código fuente y activar un programa

name, description, source, package?

change_abap_program

Modificar un programa existente (bloquear, escribir, activar, desbloquear)

name, source

create_abap_class

Crear, escribir código fuente y activar una clase

name, description, source, package?

change_abap_class

Modificar una clase existente (bloquear, escribir, activar, desbloquear)

name, source

create_interface

Crear, escribir código fuente y activar una interfaz

name, description, source, package?

change_interface

Modificar una interfaz existente (bloquear, escribir, activar, desbloquear)

name, source

create_cds_view

Crear, escribir código fuente y activar una vista CDS

name, description, source, package?

change_cds_view

Modificar una vista CDS existente (bloquear, escribir, activar, desbloquear)

name, source

execute_program

Ejecutar un programa y devolver la salida WRITE

name

execute_sql

Ejecutar consulta SQL ABAP y devolver resultados como tabla

query

fetch_st22_dumps

Obtener volcados (short dumps) de ST22 para una fecha

date, user?, max_results?

get_csrf_token

Obtener token CSRF y cookie de sesión

(ninguna)

Gestión de transportes (7)

Herramienta

Descripción

Entrada

list_user_transports

Listar todos los transportes modificables para el usuario actual

(ninguna)

get_transport

Obtener detalles completos del transporte (tareas, objetos, estado)

transport_number

get_transport_info

Comprobar requisitos de transporte para un objeto

uri, devclass, operation?

create_transport

Crear una nueva orden de transporte

devclass, description, ref?, operation?

release_transport

Liberar un transporte para importación

transport_number

delete_transport

Eliminar una orden de transporte

transport_number

list_system_users

Listar usuarios del sistema SAP

(ninguna)

Traza SAT (7)

Herramienta

Descripción

Entrada

list_traces

Listar trazas de tiempo de ejecución ABAP (SAT/SE30)

user?

get_trace_hitlist

Obtener lista de resultados de rendimiento para una traza

trace_id

get_trace_db_access

Obtener estadísticas de acceso a base de datos para una traza

trace_id

get_trace_statements

Obtener árbol de llamadas a nivel de sentencia para una traza

trace_id

delete_trace

Eliminar una traza de tiempo de ejecución

trace_id

create_trace_config

Crear una configuración de recopilación de trazas

object_name, process_type?, description?

delete_trace_config

Eliminar una configuración de traza

config_id

Traza de rendimiento ST05 (3)

Herramienta

Descripción

Entrada

enable_st05_trace

Habilitar traza SQL/buffer/RFC/auth para un usuario

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

disable_st05_trace

Deshabilitar todas las trazas de rendimiento activas

(ninguna)

get_st05_trace_state

Obtener tipos de traza activos, filtro de usuario e información del servidor

(ninguna)

Traza cruzada (5)

Herramienta

Descripción

Entrada

enable_cross_trace

Habilitar traza cruzada para RAP, OData, SADL, BAdI, Gateway

user?, components?, max_traces?, trace_level?

disable_cross_trace

Deshabilitar una activación de traza cruzada

activation_id

get_cross_trace_activations

Listar activaciones de traza cruzada activas

(ninguna)

list_cross_traces

Listar resultados de traza cruzada capturados

user?

get_cross_trace_records

Obtener registros detallados para una traza cruzada

trace_id

Binding de servicios (3)

Herramienta

Descripción

Entrada

get_binding_details

Obtener detalles de binding de servicio OData

binding_name

publish_service_binding

Publicar un binding de servicio OData

binding_name, binding_version

unpublish_service_binding

Despublicar un binding de servicio OData

binding_name, binding_version

Depurador (14)

Herramienta

Descripción

Entrada

start_debugger_listener

Iniciar oyente del depurador (abre sesión con estado)

terminal_id?, ide_id?, user?

stop_debugger_listener

Detener oyente y cerrar sesión de depuración

terminal_id?, ide_id?, user?

get_debugger_session

Comprobar si hay una sesión de depurador adjunta

terminal_id?, ide_id?, user?

set_debugger_breakpoint

Establecer un punto de interrupción en una ubicación de código fuente

uri, line, user?

delete_debugger_breakpoint

Eliminar un punto de interrupción

breakpoint_id

attach_debugger

Adjuntar a una sesión de depuración ABAP en ejecución

debug_mode?

get_debugger_stack

Obtener la pila de llamadas actual

(ninguna)

get_debugger_variables

Obtener valores de variables

variable_names[]

get_debugger_child_variables

Obtener valores de variables hijas/anidadas

variable_name

set_debugger_variable_value

Establecer el valor de una variable durante la depuración

variable_name, value

debugger_step

Paso a paso (entrar/sobre/retornar/continuar/terminar)

step_type, uri?

debugger_goto_stack

Navegar a un marco de pila

stack_type, position

insert_watchpoint

Establecer un punto de vigilancia en una variable (pausar al cambiar el valor)

variable_name, condition?

get_watchpoints

Listar todos los puntos de vigilancia activos

(ninguna)

Multisistema (1)

Herramienta

Descripción

Entrada

list_systems

Listar todos los sistemas SAP configurados con IDs, nombres de host y clientes

(ninguna)

Todas las herramientas aceptan un parámetro opcional system_id para apuntar a un sistema SAP específico. Omítalo para usar el sistema predeterminado (el primero configurado).

Requisitos previos

  • Node.js v18 o posterior

  • Usuario SAP con autorización S_ADT_RES para acceso a recursos ADT

  • Servicios ICF activados bajo /sap/bc/adt/ (vía transacción SICF)

  • Rol SAP_BC_DWB_ABAPDEVELOPER o equivalente

Instalación

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

Configuración

Opción 1: Sistema único vía .env

cp .env.example .env

Edite .env con los detalles de conexión de su sistema 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

Variable

Descripción

Ejemplo

SAP_HOSTNAME

Nombre de host del sistema SAP

your-sap-host.example.com

SAP_SYSNR

Número de sistema (puerto = 443 + sysnr)

50 → puerto 44350

SAP_USERNAME

Usuario SAP

DEVELOPER

SAP_PASSWORD

Contraseña SAP

secret

SAP_CLIENT

Cliente SAP

001

SAP_LANGUAGE

Idioma de inicio de sesión (predeterminado: EN)

EN

Opción 2: Múltiples sistemas vía systems.json

Cree systems.json en la raíz del proyecto (vea 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"
  }
]

Cuando systems.json está presente, se ignora .env para la configuración del sistema. El primer sistema es el predeterminado. Use system_id en cualquier llamada a herramienta para apuntar a un sistema específico.

Tipos de autenticación admitidos:

  • basic (predeterminado) — nombre de usuario/contraseña

  • certificate — certificado de cliente X.509 vía certThumbprint

Uso

Claude Code

Añada a ~/.claude.json:

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

Cline (VS Code)

Añada a la configuración MCP de Cline (cline_mcp_settings.json):

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

Independiente

npm start

Desarrollo (con MCP Inspector)

npx @modelcontextprotocol/inspector node dist/index.js

Stack tecnológico

  • TypeScript + Node.js

  • MCP SDK (@modelcontextprotocol/sdk)

  • Axios para HTTP

  • API REST de SAP ADT sobre HTTPS con autenticación básica o certificado 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