abap-mcp-server
Servidor MCP local ligero escrito en Python. Expone las herramientas ABAP MCP de las herramientas ABAP AI para que puedan usarse a través de un cliente compatible con MCP.
Documentación
abap-mcp-server
Herramientas de IA para ABAP - Servidor MCP de ABAP
Este repositorio contiene un servidor MCP ligero escrito en Python. Expone las herramientas MCP de ABAP de las herramientas de IA para ABAP para que puedan utilizarse a través de un cliente compatible con MCP.
Arquitectura
sequenceDiagram
participant C as MCP Client (Codex, Copilot, ...)
participant S as ABAP MCP Server (Python)
participant F as MCP Function (Python)
participant I as SAP ICF Service
participant A as ABAP AI tools MCP
participant SAP as SAP System
C->>S: Tool Request
S->>F: Invoke Tool
F->>I: HTTP Request
I->>A: Route Request
A->>SAP: Execute ABAP Logic
SAP-->>A: Response
A-->>I: Response
I-->>F: HTTP Response
F-->>S: Tool Response
S-->>C: MCP Response
Herramientas disponibles
Gestión del Diccionario ABAP (DDIC)
-
Dominios
- Leer, buscar, crear, actualizar dominios
- Gestionar traducciones para valores fijos de dominio
-
Elementos de datos
- Leer, buscar, crear, actualizar elementos de datos con tipos integrados o referencias a dominios
- Gestionar traducciones para etiquetas de elementos de datos
-
Estructuras
- Leer, buscar, crear, actualizar estructuras
-
Tablas
- Leer, buscar, crear, actualizar tablas transparentes
-
Tipos de tabla
- Leer, buscar, crear, actualizar tipos de tabla
-
Vistas CDS
- Leer, buscar, crear, actualizar, eliminar vistas CDS
Herramientas SQL
- SQL
- Ejecutar sentencias SELECT, INSERT, UPDATE y DELETE en el sistema SAP
Codificación ABAP
-
Clase ABAP
- Leer, buscar, crear, actualizar, verificar, activar clases ABAP
-
Interfaz ABAP
- Leer, buscar, crear, actualizar, verificar, activar interfaces ABAP
-
Grupo de funciones ABAP
- Leer, buscar, crear, actualizar, verificar, activar grupos de funciones ABAP
-
Módulo de funciones ABAP
- Leer, buscar, crear, actualizar, verificar, activar módulos de funciones ABAP
-
Programa e include ABAP
- Leer, buscar, crear, actualizar, verificar, activar programas e includes ABAP
Gestión de transportes
- Solicitudes de transporte
- Crear solicitudes de workbench y de customizing
- Buscar y leer detalles de solicitudes de transporte
- Liberar solicitudes de transporte
Mensajes y clases de mensajes
-
Clases de mensajes
- Leer, crear, actualizar clases de mensajes
-
Mensajes
- Leer, crear, actualizar, traducir, eliminar mensajes
Activación masiva ABAP
- Activación masiva ABAP
- Activación masiva de objetos pasando una lista de objetos o una solicitud de transporte
Instalación
Requisitos previos
El sistema ABAP debe tener instalados los siguientes paquetes:
- Herramientas de IA para ABAP
- Herramientas de IA para ABAP - Function Calling
- Herramientas de IA para ABAP - Herramientas MCP
graph RL
A[ABAP AI tools - Function Calling] --> B[ABAP AI tools]
C[ABAP AI tools - MCP tools] --> A[ABAP AI tools - Function Calling]
C[ABAP AI tools - MCP tools] --> B[ABAP AI tools]
D[abap-mcp-server] --> C[ABAP AI tools - MCP tools]
También necesitas un entorno Python funcional que pueda instalar los paquetes desde requirements.txt.
Pasos de instalación
- Clona el repositorio:
git clone https://github.com/christianjianelli/yaai_mcp.git
cd abap-mcp-server
- Crea y activa un entorno virtual:
python -m venv .venv
En Windows:
.venv\Scripts\activate
En macOS/Linux:
source .venv/bin/activate
- Instala las dependencias de Python:
pip install -r requirements.txt
- Crea un archivo
.enven la raíz del proyecto y configura la conexión con tu backend ABAP:
BASE_URL=https://vhcalnplci.dummy.nodomain:44300/sap/yaai/
SAP_USERNAME=<your-username>
SAP_PASSWORD=<your-password>
BASE_URL se utiliza como prefijo para los endpoints individuales de las herramientas MCP. Actualiza el host (https://vhcalnplci.dummy.nodomain) y el puerto (44300) para que coincidan con tu servidor ABAP.
- Configura tu servidor MCP local en Github Copilot en Eclipse
Nota: El servidor se ejecuta a través de stdio, por lo que está diseñado para ser lanzado por el cliente MCP.
Haz clic en el botón Configure Tools en la ventana de chat de Copilot o haz clic en el menú Copilot -> Edit Preferences -> busca la sección MCP Servers.
Edita el archivo JSON del servidor MCP como se muestra en el ejemplo a continuación. Cambia la ruta del directorio en el array args a la carpeta de tu computadora donde se encuentra el archivo main.py.
{
"servers": {
"abap-mcp-server": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"D:\\Python\\abap-mcp-server",
"run",
"main.py"
]
}
}
}
Después de completar la configuración, pide a Copilot que liste las herramientas a las que tiene acceso
o pide a Copilot que use una de las herramientas