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:
- Prerrequisitos: Lo que necesitas antes de comenzar.
- Instalación y configuración: Poner todo en funcionamiento.
- Ejecución del servidor: Inicio del servidor en diferentes modos.
- Integración con Cline: conexión de este servidor a la extensión Cline VS Code.
- Solución de problemas: problemas comunes y soluciones.
- 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í.
- La URL del sistema (por ejemplo,
- 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: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).Copy
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 :
Instalación manual
- Clonar el repositorio:
- Usando Git (línea de comandos):
- Abra una terminal (símbolo del sistema o Terminal).
- Navega al directorio donde quieres guardar el proyecto. Por ejemplo, para colocarlo en el escritorio:Copy
- Clonar el repositorio:Copy
- Cambiar al directorio del proyecto:Copy
- Usando GitHub Desktop:
- Abra GitHub Desktop.
- Haga clic en "Archivo" -> "Clonar repositorio...".
- En la pestaña "URL", pegue la URL del repositorio.
- Elija una ruta local (donde desea guardar el proyecto en su computadora).
- Haga clic en "Clonar".
- Usando Git (línea de comandos):
- Instalar dependencias: Esto descarga todas las bibliotecas necesarias para el proyecto. En la terminal, dentro del directorio raíz, ejecute:Esto podría tardar unos minutos.Copy
- Construir el proyecto: Esto compila el código en un formato ejecutable.Copy
- Cree un archivo
.env
: Este archivo almacena información confidencial, como sus credenciales de SAP. Es fundamental mantenerlo seguro.- En el directorio raíz, cree un nuevo archivo llamado
.env
(sin extensión). - Abra el archivo
.env
en un editor de texto (como el Bloc de notas, VS Code, etc.). - 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.Importante: ¡Nunca compartas tu archivoCopy
.env
con nadie y nunca lo envíes a un repositorio Git!
- En el directorio raíz, cree un nuevo archivo llamado
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):
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.
- Inicie el servidor en modo de depuración:Esto iniciará el servidor y mostrará un mensaje como:Copy
🔍 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:
- Instalar Cline: si aún no lo has hecho, instala la extensión "Cline" en VS Code.
- 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).
- Agregar la configuración del servidor: Deberá agregar una entrada a la matriz
servers
en el archivocline_mcp_settings.json
. A continuación, se muestra un ejemplo:Copy - 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
onpm -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 ejecutarnpm 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 directorioroot-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
- Verifique la configuración en
- 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.
- Verifique sus credenciales de SAP en el archivo
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 herramienta | Descripción | Parámetros de entrada | Ejemplo de uso (en Cline) |
---|---|---|---|
GetProgram | Recuperar el código fuente del programa ABAP. | program_name (cadena): Nombre del programa ABAP. | @tool GetProgram program_name=ZMY_PROGRAM |
GetClass | Recuperar el código fuente de la clase ABAP. | class_name (cadena): Nombre de la clase ABAP. | @tool GetClass class_name=ZCL_MY_CLASS |
GetFunctionGroup | Recupere el código fuente del grupo de funciones ABAP. | function_group (cadena): Nombre del grupo de funciones | @tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP |
GetFunction | Recupere 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 |
GetStructure | Recuperar estructura ABAP. | structure_name (cadena): Nombre de la estructura DDIC. | @tool GetStructure structure_name=ZMY_STRUCT |
GetTable | Recuperar 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 |
GetTableContents | Recuperar 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 |
GetPackage | Recupere detalles del paquete ABAP. | package_name (cadena): Nombre del paquete ABAP. | @tool GetPackage package_name=ZMY_PACKAGE |
GetTypeInfo | Recuperar información de tipo ABAP. | type_name (cadena): Nombre del tipo ABAP. | @tool GetTypeInfo type_name=ZMY_TYPE |
GetInclude | Recuperar el código fuente de inclusión ABAP | include_name (cadena): nombre del elemento incluido ABAP | @tool GetInclude include\_name=ZMY\_INCLUDE |
SearchObject | Busque objetos ABAP mediante la búsqueda rápida. | query (cadena), maxResults (número, opcional, predeterminado 100) | @tool SearchObject query=ZMY\* maxResults=20 |
GetInterface | Recuperar el código fuente de la interfaz ABAP. | interface\_name (cadena): Nombre de la interfaz ABAP. | @tool GetInterface interface\_name=ZIF\_MY\_INTERFACE |
GetTransaction | Recupere detalles de transacciones ABAP. | transaction\_name (cadena): Nombre de la transacción ABAP. | @tool GetTransaction transaction\_name=ZMY\_TRANSACTION\ |
You must be authenticated.
Tools
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. Prerequisites
- 2. Installation and Setup
- 3. Running the Server
- 4. Integrating with Cline
- 5. Troubleshooting
- 6. Available Tools