MCP ABAP ADT

by mario-andreschak
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows interaction with SAP ABAP systems to retrieve information like source code, table structures, and more through ABAP Development Tools (ADT)

mcp-abap-adt: Su puerta de entrada a las herramientas de desarrollo ABAP (ADT)

Este proyecto proporciona un servidor que permite interactuar con sistemas SAP ABAP mediante el Protocolo de Contexto de Modelo (MCP). Considérelo un puente que permite que herramientas como Cline (una extensión de VS Code) se comuniquen con su sistema ABAP y recuperen información como código fuente, estructuras de tablas y más. ¡Es como tener control remoto para su entorno de desarrollo ABAP!

Esta guía está diseñada para principiantes, así que la explicaremos paso a paso. Cubriremos:

  1. Prerrequisitos: Lo que necesitas antes de comenzar.
  2. Instalación y configuración: Poner todo en funcionamiento.
  3. Ejecución del servidor: Inicio del servidor en diferentes modos.
  4. Integración con Cline: conexión de este servidor a la extensión Cline VS Code.
  5. Solución de problemas: problemas comunes y soluciones.
  6. Herramientas disponibles: una lista de los comandos que puedes usar.

1. Requisitos previos

Antes de comenzar, necesitarás algunas cosas:

  • Un sistema SAP ABAP: Este servidor se conecta a un sistema ABAP existente. Necesitará:
    • La URL del sistema (por ejemplo, https://my-sap-system.com:8000 )
    • Un nombre de usuario y contraseña válidos para ese sistema.
    • El número de cliente de SAP (por ejemplo, 100 ).
    • Asegúrese de que su sistema SAP permita conexiones mediante ADT (Herramientas de Desarrollo ABAP). Esto suele implicar la activación de los servicios necesarios en la transacción SICF . Su administrador de base puede ayudarle con esto. En concreto, necesitará que los siguientes servicios estén activos:
      • /sap/bc/adt
    • Para la herramienta GetTableContents , necesitará implementar un servicio personalizado /z_mcp_abap_adt/z_tablecontent . Puede consultar esta guía aquí.
  • Git (o GitHub Desktop): Usaremos Git para descargar el código del proyecto. Tienes dos opciones:
    • Git: La herramienta de línea de comandos. Descarga Git . Elige la versión para tu sistema operativo (Windows, macOS, Linux). Sigue las instrucciones de instalación.
    • GitHub Desktop: Una interfaz gráfica de usuario para Git. ¡Más fácil para principiantes! Descarga GitHub Desktop . Sigue las instrucciones de instalación.
  • Node.js y npm: Node.js es un entorno de ejecución de JavaScript que le permite ejecutar código JavaScript fuera de un navegador web. npm (Node Package Manager) está incluido con Node.js y se utiliza para instalar paquetes (bibliotecas de código).
    • Descarga Node.js. Elige la versión LTS (Long Term Support). Esta es la más estable. Sigue las instrucciones de instalación para tu sistema operativo. Asegúrate de incluir npm en la instalación (suele estar incluido por defecto).
    • Verificar la instalación: después de instalar Node.js, abra una nueva terminal (símbolo del sistema en Windows, Terminal en macOS/Linux) y escriba:
      node -v npm -v
      Deberías ver los números de versión de Node.js y npm. Si ves un error, es posible que Node.js no esté instalado correctamente o que no esté en la ruta de tu sistema. (Consulta la sección "Solución de problemas" a continuación).

2. Instalación y configuración

Ahora, obtengamos el código del proyecto y configurémoslo:

Instalación mediante herrería

Para instalar automáticamente el servidor de herramientas de desarrollo MCP ABAP para Cline a través de Smithery :

npx -y @smithery/cli install @mario-andreschak/mcp-abap-adt --client cline

Instalación manual

  1. Clonar el repositorio:
    • Usando Git (línea de comandos):
      1. Abra una terminal (símbolo del sistema o Terminal).
      2. Navega al directorio donde quieres guardar el proyecto. Por ejemplo, para colocarlo en el escritorio:
        cd Desktop
      3. Clonar el repositorio:
        git clone https://github.com/mario-andreschak/mcp-abap-adt
      4. Cambiar al directorio del proyecto:
        cd mcp-abap-adt # Or whatever the folder name is
    • Usando GitHub Desktop:
      1. Abra GitHub Desktop.
      2. Haga clic en "Archivo" -> "Clonar repositorio...".
      3. En la pestaña "URL", pegue la URL del repositorio.
      4. Elija una ruta local (donde desea guardar el proyecto en su computadora).
      5. Haga clic en "Clonar".
  2. Instalar dependencias: Esto descarga todas las bibliotecas necesarias para el proyecto. En la terminal, dentro del directorio raíz, ejecute:
    npm install
    Esto podría tardar unos minutos.
  3. Construir el proyecto: Esto compila el código en un formato ejecutable.
    npm run build
  4. Cree un archivo .env : Este archivo almacena información confidencial, como sus credenciales de SAP. Es fundamental mantenerlo seguro.
    1. En el directorio raíz, cree un nuevo archivo llamado .env (sin extensión).
    2. Abra el archivo .env en un editor de texto (como el Bloc de notas, VS Code, etc.).
    3. Agregue las siguientes líneas, reemplazando los marcadores de posición con la información real de su sistema SAP: Importante: si su contraseña contiene un carácter "#", asegúrese de encerrarla entre comillas.
      SAP_URL=https://your-sap-system.com:8000 # Your SAP system URL SAP_USERNAME=your_username # Your SAP username SAP_PASSWORD=your_password # Your SAP password SAP_CLIENT=100 # Your SAP client
      Importante: ¡Nunca compartas tu archivo .env con nadie y nunca lo envíes a un repositorio Git!

3. Ejecución del servidor

Para ser justos, normalmente no se ejecuta este servidor por sí solo. Se supone que está integrado en un cliente MCP como Cline o Claude Desktop. Sin embargo, se puede ejecutar manualmente el servidor de dos maneras principales:

  • Modo independiente: Este modo ejecuta el servidor directamente y envía mensajes a la terminal. El servidor se iniciará y esperará las conexiones del cliente, lo que podría dejarlo inservible, salvo para comprobar si se inicia.
  • Modo de desarrollo/depuración: Este modo ejecuta el servidor con el Inspector MCP. Puede abrir la URL generada en su navegador y empezar a experimentar.

3.1 Modo independiente

Para ejecutar el servidor en modo independiente, utilice el siguiente comando en la terminal (desde el directorio raíz):

npm run start

Debería ver mensajes en la terminal indicando que el servidor está en ejecución. Escuchará las conexiones de los clientes MCP. El servidor seguirá funcionando hasta que lo detenga (normalmente con Ctrl+C).

3.2 Modo de desarrollo/depuración (con inspector)

Este modo es útil para la depuración.

  1. Inicie el servidor en modo de depuración:
    npm run dev
    Esto iniciará el servidor y mostrará un mensaje como: 🔍 MCP Inspector is up and running at http://localhost:5173 🚀 . Esta es la URL que usarás para abrir el inspector MCP en tu navegador.

4. Integración con Cline

Cline es una extensión de VS Code que utiliza servidores MCP para ofrecer compatibilidad con idiomas. A continuación, se explica cómo conectar este servidor ABAP a Cline:

  1. Instalar Cline: si aún no lo has hecho, instala la extensión "Cline" en VS Code.
  2. Abrir configuración de Cline:
    • Abra la configuración de VS Code (Archivo -> Preferencias -> Configuración, o Ctrl+,).
    • Busque "Configuración de Cline MCP".
    • Haga clic en "Editar en settings.json". Esto abrirá el archivo cline_mcp_settings.json . La ruta completa suele ser algo como: C:\Users\username\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json (reemplace " username " con su nombre de usuario de Windows).
  3. Agregar la configuración del servidor: Deberá agregar una entrada a la matriz servers en el archivo cline_mcp_settings.json . A continuación, se muestra un ejemplo:
    { "mcpServers": { "mcp-abap-adt": { "command": "node", "args": [ "C:/PATH_TO/mcp-abap-adt/dist/index.js" ], "disabled": true, "autoApprove": [] } // ... other server configurations ... } }
  4. Pruebe la conexión:
    • Cline debería conectarse automáticamente al servidor. Verá el servidor aparecer en el panel "Servidores MCP" (en la extensión Cline, encontrará diferentes botones en la parte superior).
    • Pídale a Cline que obtenga el código fuente de un programa y debería mencionar el servidor MCP y debería intentar usar las herramientas correspondientes.

5. Solución de problemas

  • node -v o npm -v da un error:
    • Asegúrate de que Node.js esté instalado correctamente. Intenta reinstalarlo.
    • Asegúrese de que el directorio de instalación de Node.js se encuentre en la variable de entorno PATH de su sistema. En Windows, puede editar las variables de entorno a través de las Propiedades del Sistema (busque "variables de entorno" en el menú Inicio).
  • npm install falla:
    • Asegúrese de tener una conexión a Internet.
    • Intente eliminar la carpeta node_modules y ejecutar npm install nuevamente.
    • Si usas un proxy, podrías tener que configurar npm para usarlo. Busca en línea "configuración de proxy de npm".
  • Cline no se conecta al servidor:
    • Verifique la configuración en cline_mcp_settings.json . Debe ser la ruta correcta y absoluta al directorio root-server y usar doble barra invertida en Windows.
    • Asegúrese de que el servidor esté ejecutándose (use npm run start para comprobarlo).
    • Reiniciar VS Code.
    • Alternativamente:
    • Navegue a la carpeta raíz de mcp-abap-adt en su Explorador de archivos, mantenga presionada la tecla Mayús y haga clic derecho, y seleccione "Abrir PowerShell aquí". (O abra un PowerShell y navegue a la carpeta usando cd C:/PATH_TO/mcp-abap-adt/
    • Ejecute "npm install"
    • Ejecutar "npm run build"
    • Ejecute "npx @modelcontextprotocol/inspector node dist/index.js"
    • Abra su navegador en la URL que muestra. Haga clic en "Conectar" a la izquierda.
    • Haga clic en "Herramientas" en la parte superior y luego en "Herramientas de lista".
    • Haga clic en Obtener programa e ingrese "SAPMV45A" o cualquier otro nombre de informe como Nombre del programa a la derecha
    • Pruebe y vea cuál es el resultado
  • Errores de conexión de SAP:
    • Verifique sus credenciales de SAP en el archivo .env .
    • Asegúrese de que el sistema SAP esté funcionando y sea accesible desde su red.
    • Asegúrese de que su usuario de SAP tenga las autorizaciones necesarias para acceder a los servicios de ADT.
    • Verifique que los servicios ADT requeridos estén activados en la transacción SICF .
    • Si está utilizando certificados autofirmados o hay un problema con la configuración http de sus sistemas SAP, asegúrese de configurar TLS_REJECT_UNAUTHORIZED como se describe arriba.

6. Herramientas disponibles

Este servidor proporciona las siguientes herramientas, que se pueden utilizar a través de Cline (o cualquier otro cliente MCP):

Nombre de la herramientaDescripciónParámetros de entradaEjemplo de uso (en Cline)
GetProgramRecuperar el código fuente del programa ABAP.program_name (cadena): Nombre del programa ABAP.@tool GetProgram program_name=ZMY_PROGRAM
GetClassRecuperar el código fuente de la clase ABAP.class_name (cadena): Nombre de la clase ABAP.@tool GetClass class_name=ZCL_MY_CLASS
GetFunctionGroupRecupere el código fuente del grupo de funciones ABAP.function_group (cadena): Nombre del grupo de funciones@tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP
GetFunctionRecupere el código fuente del módulo de función ABAP.function_name (cadena), function_group (cadena)@tool GetFunction function_name=ZMY_FUNCTION function_group=ZFG
GetStructureRecuperar estructura ABAP.structure_name (cadena): Nombre de la estructura DDIC.@tool GetStructure structure_name=ZMY_STRUCT
GetTableRecuperar la estructura de la tabla ABAP.table_name (cadena): Nombre de la tabla de la base de datos ABAP.@tool GetTable table_name=ZMY_TABLE
GetTableContentsRecuperar el contenido de una tabla ABAP.table_name (cadena), max_rows (número, opcional, predeterminado 100)@tool GetTableContents table_name=ZMY_TABLE max_rows=50
GetPackageRecupere detalles del paquete ABAP.package_name (cadena): Nombre del paquete ABAP.@tool GetPackage package_name=ZMY_PACKAGE
GetTypeInfoRecuperar información de tipo ABAP.type_name (cadena): Nombre del tipo ABAP.@tool GetTypeInfo type_name=ZMY_TYPE
GetIncludeRecuperar el código fuente de inclusión ABAPinclude_name (cadena): nombre del elemento incluido ABAP@tool GetInclude include\_name=ZMY\_INCLUDE
SearchObjectBusque objetos ABAP mediante la búsqueda rápida.query (cadena), maxResults (número, opcional, predeterminado 100)@tool SearchObject query=ZMY\* maxResults=20
GetInterfaceRecuperar el código fuente de la interfaz ABAP.interface\_name (cadena): Nombre de la interfaz ABAP.@tool GetInterface interface\_name=ZIF\_MY\_INTERFACE
GetTransactionRecupere detalles de transacciones ABAP.transaction\_name (cadena): Nombre de la transacción ABAP.@tool GetTransaction transaction\_name=ZMY\_TRANSACTION\

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor que conecta el Protocolo de contexto de modelo (MCP) con los sistemas SAP ABAP, lo que permite que herramientas como Cline recuperen el código fuente ABAP, estructuras de tablas y otros artefactos de desarrollo.

  1. 1. Prerequisites
    1. 2. Installation and Setup
      1. Installing via Smithery
      2. Manual Installation
    2. 3. Running the Server
      1. 3.1 Standalone Mode
      2. 3.2 Development/Debug Mode (with Inspector)
    3. 4. Integrating with Cline
      1. 5. Troubleshooting
        1. 6. Available Tools

          Appeared in Searches

          ID: gwkh12xlu7