Conectar Claude Code a tu SAP por la vía de desarrollo (ADT)
Te cortaron el MCP y no sabes cómo volver a hacerlo bien. Aquí tienes las tres vías que existen hoy, cuál elegir según tu caso y los pasos exactos para tener a Claude leyendo y escribiendo ABAP sin salirte del carril.
Si estás aquí probablemente te pasó lo mismo que a mucha gente: tenías Claude hablando con tu SAP por MCP, llegó el cambio de política de SAP y se acabó. La buena noticia es que la vía no está muerta —está institucionalizada—. La mala es que ahora hay varias opciones y no todas valen lo mismo delante de tu equipo de seguridad.
Lo primero: distingue dos cosas que no son lo mismo
La API Policy v4/2026 apunta a las APIs de NEGOCIO consumidas por agentes que encadenan llamadas (OData, RFC, ODP). La vía de DESARROLLO —ADT, el mismo canal que usa Eclipse para hablar con el backend— es otra cosa, y va en dirección contraria: SAP presentó su propio ABAP MCP Server en Sapphire 2026. Esta guía va solo de la segunda.
Cómo funciona por dentro
Nadie te lo explica y luego cuesta depurar. La cadena es siempre la misma, cambien las piezas que cambien:
Claude Code
El agente. Vive en tu terminal y lee su configuración de ~/.claude.json
Servidor MCP
Traduce las peticiones del agente a herramientas concretas
APIs de ADT
El canal REST /sap/bc/adt, el mismo que usa Eclipse
Tu sistema SAP
Con TUS autorizaciones. El agente no puede hacer lo que tú no puedes
Esto es más importante de lo que parece
El agente actúa contra SAP con un usuario, y ese usuario tiene autorizaciones. Ninguna configuración de MCP te salta un objeto de autorización. Si el usuario no puede modificar un paquete, el agente tampoco. Tenlo presente cuando alguien te diga que «la IA va a tocar producción».
Antes de empezar
Cinco minutos comprobando esto te ahorran una tarde de errores raros.
Un sistema de DESARROLLO donde probar
Nunca estrenes esto contra producción. Un sandbox, un entorno de pruebas o el ABAP trial en Docker sirven perfectamente.
Servicios ADT activos en el sistema
Los nodos ICF de /sap/bc/adt tienen que estar activos. Si tu Eclipse conecta bien, esto ya lo cumples.
Un usuario SAP de desarrollo con sus autorizaciones
Preferiblemente el tuyo, no uno técnico compartido: si algo sale mal, quieres que el log diga quién fue.
Claude Code instalado
Se instala con npm install -g @anthropic-ai/claude-code. Necesitas Node en tu máquina.
Hablarlo con seguridad antes, no después
Aunque técnicamente puedas montarlo tú solo, que un agente escriba en el sistema es una conversación que conviene tener por delante.
Elige tu vía
Tres caminos, mismo destino. La diferencia real no es qué pueden hacer, sino dónde viven las credenciales y quién puede auditarlo.
1. ABAP MCP Server oficial de SAP
Empieza por aquíPara quién: Cualquiera que pueda esperar a tenerlo disponible en su instalación. Es la vía soportada y la que no hay que justificar ante nadie.
- Construido y mantenido por SAP
- Disponible en Eclipse y en VS Code
- Funciona con Claude Code, Copilot o Amazon Q
- No dependes de un proyecto de terceros
- Su disponibilidad depende de tu release y de tu contrato
- Joule for Developers está atado a RISE o GROW
- El consumo se factura en AI Units al acabar el periodo gratuito
2. ARC-1, si necesitas arquitectura de empresa
Para quién: Equipos donde el MCP no puede vivir en el portátil de cada uno: hace falta despliegue central, identidad por usuario y auditoría.
- Se despliega central en BTP, no en tu portátil
- Solo lectura por defecto y escrituras limitadas a $TMP
- Principal Propagation: el agente actúa con TU usuario SAP real
- Audit log integrable con el servicio de BTP
- Montarlo requiere BTP, XSUAA y destinos
- Es un proyecto de comunidad, no producto de SAP
- Más pasos antes de ver el primer resultado
3. Un servidor ADT MCP local
Para quién: Probar el concepto en un sandbox y entender qué da de sí antes de pedir nada a nadie.
- Lo tienes funcionando en 10 minutos
- No dependes de infraestructura ni de permisos
- Perfecto para aprender cómo encaja todo
- Credenciales guardadas en tu máquina
- Sin identidad propagada ni auditoría central
- No lo lleves a un sistema real sin repensarlo
Mi consejo, sin rodeos
Empieza por la opción 3 en un sandbox para entenderlo, pero no la conviertas en tu montaje definitivo. En cuanto quieras usar esto de verdad, muévete a la 1 o a la 2. La diferencia entre «funciona» y «puedo defenderlo» es exactamente esa.
Ruta rápida: montarlo en Eclipse en 5 pasos
Esta es la ruta con la que verás resultados hoy mismo. Usa un plugin de Eclipse que levanta un servidor MCP local y escribe él solo la configuración de Claude Code. Hazlo contra un sistema de desarrollo.
Instala el plugin en Eclipse
Ve a Help → Install New Software..., pulsa Add... y añade el sitio de actualizaciones. Marca el plugin, Next → Finish y reinicia Eclipse.
- Nombre
- SAP ADT MCP Server for Claude Code
- Ubicación
- https://yahornovik.github.io/sap-adt-mcp-server/
Ojo: Necesitas Eclipse 2024-03 o superior con ADT instalado, y Java 17 o más.
Abre la vista del servidor
Window → Show View → Other..., busca «SAP ADT MCP Server for Claude Code» y ábrela. Verás un panel con cuatro botones: Connect SAP, Start Server, Launch Claude Code y Clear.
Conecta con tu sistema
Pulsa Connect SAP y rellena el diálogo con los datos de tu sistema de desarrollo. El plugin entra por las APIs REST de ADT y registra sus herramientas.
- SAP URL
- https://tu-host-sap:44300
- Usuario
- TU_USUARIO
- Contraseña
- ••••••••
- Mandante
- 100
- Idioma
- ES
Ojo: Usa tu usuario de desarrollo, no uno técnico compartido. Si algo se tuerce, el log de SAP dirá tu nombre y eso es lo correcto.
Arranca el servidor MCP
Pulsa Start Server. Levanta un servidor local en el puerto 3000 que habla el protocolo MCP y escribe la configuración en tu ~/.claude.json, respetando lo que ya tuvieras. De paso añade el servidor de documentación de SAP.
~/.claude.json{ "mcpServers": { "sap-adt": { "type": "http", "url": "http://localhost:3000/mcp" }, "sap-docs": { "type": "http", "url": "https://mcp-sap-docs.marianzeis.de/mcp" } } }Lanza Claude Code
Desde el propio Eclipse con el botón Launch Claude Code, o desde cualquier terminal. La configuración ya está escrita, así que no hace falta ningún parámetro extra.
terminalclaudeOjo: Si Claude no ve las herramientas, casi siempre es que el servidor no está arrancado o que abriste la terminal antes de que se escribiera el fichero. Reinicia Claude Code y listo.
Qué gana Claude al conectarse
Estas son las herramientas que quedan a su alcance. Merece la pena leerlas: te dan una idea muy clara de hasta dónde llega y hasta dónde no.
| Herramienta | Qué hace |
|---|---|
| sap_search | Busca objetos ABAP por patrón de nombre |
| sap_get_source | Lee el código de programas, clases, interfaces o módulos de función |
| sap_object_structure | Metadatos: paquete, descripción, includes, métodos |
| sap_usage_references | Dónde se usa un objeto (el clásico where-used) |
| sap_abap_docu | Documentación de palabras clave, clases y módulos |
| sap_create_object | Crea programas, clases, interfaces o grupos de funciones |
| sap_lock / sap_unlock | Bloquea y libera objetos para edición |
| sap_set_source | Actualiza el código fuente |
| sap_activate | Activa objetos para que los cambios surtan efecto |
| sap_syntax_check | Chequeo de sintaxis |
| sap_run_unit_tests | Ejecuta pruebas ABAP Unit y devuelve resultados |
| sap_atc_run | Lanza chequeos de calidad ATC |
| sap_sql_query | Ejecuta consultas SQL contra la base de datos |
Las tres de esta lista que dan más respeto
sap_set_source, sap_activate y sap_sql_query. Escribir código, activarlo y consultar la base de datos directamente. Si tu servidor MCP permite restringir operaciones —ARC-1 lo hace y arranca en solo lectura—, empieza por lo mínimo y ve abriendo. Es mucho más fácil que ir cerrando después de un susto.
Pruébalo con esto
Ve de menos a más: empieza leyendo, luego analiza, y solo cuando te fíes, deja que escriba.
Busca todas las clases que empiecen por ZCL_SALES
Enséñame el código de la clase ZCL_SALES_ORDER y explícame qué hace
¿Dónde se usa el módulo de función BAPI_SALESORDER_CREATEFROMDAT2?
Lanza los chequeos ATC sobre ZCL_SALES_ORDER y resúmeme los hallazgos por gravedad
Ejecuta las pruebas unitarias de ZCL_SALES_ORDER y dime cuáles fallan y por qué
Crea una clase ZCL_MI_HELPER en el paquete $TMP con descripción «Clase de utilidades»
Corrige el error de sintaxis del programa ZTEST_REPORT, actívalo y confírmame el resultado
Antes de llevarlo a un sistema que importe
Lo que acabas de montar vive en tu portátil: las credenciales están en tu máquina, el servidor se autentica con un solo usuario y no hay un registro central de qué hizo el agente. Para un sandbox es perfecto. Para cualquier sistema que le importe a alguien, la conversación cambia: ahí es donde entran el servidor oficial de SAP o una arquitectura como ARC-1, con despliegue central, identidad propagada y auditoría. Esa es, precisamente, la siguiente guía.