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:

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

  1. Clona el repositorio:
git clone https://github.com/christianjianelli/yaai_mcp.git
cd abap-mcp-server
  1. Crea y activa un entorno virtual:
python -m venv .venv

En Windows:

.venv\Scripts\activate

En macOS/Linux:

source .venv/bin/activate
  1. Instala las dependencias de Python:
pip install -r requirements.txt
  1. Crea un archivo .env en 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.

  1. 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.

Github Copilot Configure Tools button

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"
     ]
   }
 }
}

Github Copilot in Eclipe prefeferences

Después de completar la configuración, pide a Copilot que liste las herramientas a las que tiene acceso

Github Copilot MCP tools access check

o pide a Copilot que use una de las herramientas

Github Copilot MCP tool use

Github Copilot MCP tool response