Guía de conector9 minutos de lectura7 idiomas

OData a MCP: conecta OData V2/V4 y SAP Gateway a Claude

Convierte servicios OData V2 o V4, SAP Gateway incluido, en herramientas MCP para Claude, ChatGPT y Copilot. Lee $metadata: etiquetas, claves, unidades.

HCPor el equipo de HelpCodeActualizado 9 min de lectura Código abierto en GitHub

Sin tarjeta de crédito · 7 días de prueba · Alternativa self-host disponible

  • Prueba gratis de 7 días
    Sin tarjeta de crédito
  • RGPD y SOC 2 ready
    Datos en la UE, registros de auditoría
  • Código abierto en GitHub
    Open source · AGPL-3.0
  • Funciona con ChatGPT, Claude, Gemini
    Cualquier cliente compatible con MCP

Resumen

Convierte servicios OData V2 o V4, SAP Gateway incluido, en herramientas MCP para Claude, ChatGPT y Copilot. Lee $metadata: etiquetas, claves, unidades.

En resumen: AnythingMCP tiene un tipo de conector OData. Apúntalo a un servicio OData V2 o V4, o a un SAP Gateway, y Claude, ChatGPT y Copilot reciben cinco herramientas para encontrar servicios, leer sus entity sets y campos con sus etiquetas de negocio, consultar filas y obtener una entidad por su clave. Las consultas se comprueban contra $metadata antes de enviarse, se sigue la paginación del servidor y las respuestas de V2 y V4 llegan como filas simples. También puedes importar el $metadata de un servicio como herramientas con nombre, una herramienta de lista y otra de lectura por cada entity set.

Datos clave
ProtocolosOData V2 y V4, detectados a partir de $metadata
SAPCatálogo de servicios del Gateway (V2 y V4), sap-client, sap-language, tokens CSRF para escrituras
Herramientas integradas5, de solo lectura: listar servicios, describir servicio, describir entidad, consultar, obtener entidad
Importación$metadata → herramientas <set>_list y <set>_get por entity set
AutenticaciónCualquier método REST: Basic, OAuth 2.0, API key, certificados, token de login
ProbadoNorthwind V2 y V4 y TripPin V4 en services.odata.org
AlojamientoAutoalojado (código abierto, AGPL-3.0) o AnythingMCP Cloud

Por qué OData necesita algo más que una importación REST

Un servicio OData se describe a sí mismo. Su documento $metadata enumera cada entity set, sus claves, el tipo de cada campo y, en el caso de SAP, la etiqueta que ve el usuario en pantalla, la moneda o unidad que acompaña a cada importe, y qué campos son dimensiones y cuáles medidas. Una importación REST genérica descarta casi todo eso, así que el modelo tiene que adivinar que NetAmount está en TransactionCurrency, o que un servicio analítico se debe filtrar por un parámetro.

El conector OData lee $metadata y se lo pasa al modelo. Claude ve que NetAmount tiene la etiqueta Net Amount y lleva su moneda en TransactionCurrency, y cuando escribe mal un campo, el conector responde «Unknown field … Did you mean …» en lugar de pasarle el error al servidor.

Dos formas de tenerlo

  • El tipo de conector OData. Elige OData al crear un conector. Marca SAP Gateway (S/4HANA, ECC, BW) para un sistema SAP: la URL base es el host, p. ej. https://s4.example.com:44300, y los servicios salen del catálogo de SAP. Déjalo sin marcar para un único servicio OData: la URL base es la raíz del servicio, p. ej. https://services.example.com/odata/v4/Sales.
  • Un conector REST con configuración OData. Un conector REST cuya configuración incluye un bloque odata recibe las mismas herramientas integradas; sus propias herramientas siguen siendo llamadas REST normales. El adaptador de SAP S/4HANA Cloud funciona así.

Los dos se ejecutan sobre el motor REST, así que se aplican todos los métodos de autenticación REST, igual que los reintentos, la protección SSRF de salida y el proxy.

Herramientas integradas

Cada conector OData recibe cinco herramientas, con el nombre <prefix>_…. El prefijo es el nombre del conector más _odata, o el que tú definas.

HerramientaQué hace
<prefix>_list_servicesSAP: busca en el catálogo de servicios del Gateway, V2 y V4, con caché de una hora. En otro caso, los servicios indicados en la configuración o la raíz del servicio único.
<prefix>_describe_serviceEntity sets con sus etiquetas, claves y número de campos, marcados como analytical (el servidor agrega), parameters (una vista parametrizada), requiredInFilter o readOnly. $metadata se guarda en caché durante 24 horas.
<prefix>_describe_entityCada campo con etiqueta, tipo, clave, su campo de moneda o unidad, su campo de texto, si se puede filtrar y ordenar, y su papel de dimensión o medida; propiedades de navegación; indicaciones para sets analíticos y parametrizados.
<prefix>_queryselect, filter, orderby, top (hasta 1.000), skip, expand, parameters, y en V4 apply y search. Primero se comprueban los nombres de campo, se imponen los filtros obligatorios, la paginación del servidor se sigue solo en el propio host del conector, y la respuesta se aplana: filas simples, fechas ISO, decimales como cadenas, el recuento total y nextSkip.
<prefix>_get_entityUna entidad por clave, incluidas las claves compuestas como {"SalesOrder": "1", "SalesOrderItem": "10"}.

Las herramientas integradas solo leen y están marcadas como de solo lectura para los clientes MCP.

Configuración

Paso 1: Ejecutar AnythingMCP

Para un servicio OData público, AnythingMCP Cloud funciona tal cual. Para un SAP Gateway o cualquier servicio de tu propia red, aloja AnythingMCP donde pueda llegar al servicio:

mkdir anythingmcp && cd anythingmcp
curl -fsSLo docker-compose.yml \
  https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d   # → http://localhost:3000

Añade los nombres de host internos a SSRF_ALLOWED_HOSTS; AnythingMCP rechaza las direcciones privadas por defecto.

Paso 2: Crear un conector OData

Crea un conector nuevo, elige OData e introduce la URL base. Para probarlo sin tener cuenta en ningún sitio, usa el servicio público Northwind: https://services.odata.org/V4/Northwind/Northwind.svc, SAP Gateway sin marcar, sin autenticación. Para SAP, marca SAP Gateway e introduce el mandante de tres dígitos y el idioma.

Paso 3: Configurar la autenticación y restringir los servicios

Elige la autenticación que espera tu servicio: Basic auth con un usuario técnico, OAuth 2.0 (client credentials o authorization code), una API key, un certificado de cliente o un token de login. En la configuración OData del conector, indica en Allowed services las rutas de servicio que el modelo puede llamar (* funciona como comodín); los demás servicios se rechazan.

Paso 4: Probar e importar herramientas

Test connection lee el catálogo de SAP o el $metadata del servicio. Si quieres herramientas con nombre para los entity sets que el modelo usa más, abre Import Tools → OData $metadata, indica la ruta del servicio (SAP) o déjala vacía (servicio único) y elige los entity sets. Más detalles abajo.

Paso 5: Conectar Claude, ChatGPT o Copilot

  • Claude: Customize → Connectors → Add custom connector, pega la URL de tu servidor MCP. Paso a paso: cómo añadir un conector personalizado a Claude.
  • ChatGPT: añade la misma URL HTTPS pública como conector (app) en la configuración de ChatGPT.
  • Claude Code, Cursor, VS Code / Copilot: añade la URL con una cabecera X-API-Key.

Importar herramientas desde $metadata

Import Tools → OData $metadata convierte los entity sets en herramientas con nombre: <set>_list con filter, select, orderby, top, skip y expand, y <set>_get con los parámetros de clave. El documento se obtiene con las credenciales del conector; también puedes pegar un documento $metadata y limitar la importación a algunos entity sets. Volver a importar un servicio actualiza sus herramientas y retira solo las de ese servicio que hayan desaparecido, nunca las integradas ni las de otro servicio.

En un conector OData, las herramientas HTTP importadas y las escritas a mano reciben el mandante y el idioma de SAP, el formato JSON en V2 y respuestas aplanadas. Las escrituras en SAP (POST, PUT, PATCH, DELETE) obtienen primero un token CSRF con las cookies de sesión. Las escrituras solo ocurren a través de herramientas que importes o escribas tú.

SAP Gateway: S/4HANA, ECC y BW

  1. Un usuario técnico de tipo Sistema, con contraseña productiva, en el mandante que quieres leer.
  2. Un rol con S_SERVICE para los servicios que el modelo puede llamar y autorizaciones de negocio solo de visualización. Para explorar el catálogo, también el servicio de catálogo V2 /IWFND/CATALOGSERVICE y el catálogo V4. SAP comprueba estas autorizaciones en cada llamada; son el límite real.
  3. Servicios activos en /IWFND/MAINT_SERVICE (V2) y /IWFND/V4_ADMIN (V4).
  4. Red: el puerto del Gateway suele ser interno. Aloja AnythingMCP dentro de la red o llega a él a través de una VPN.

La política de APIs de SAP espera que las integraciones de terceros usen APIs publicadas (los servicios API_* del SAP Business Accelerator Hub) o servicios desarrollados por ti; restringe Allowed services en consecuencia.

Para S/4HANA on-premise y Private Cloud hay un adaptador listo, SAP S/4HANA (OData). Configura todo esto con el prefijo s4 (s4_list_services, s4_describe_service, s4_describe_entity, s4_query, s4_get_entity) y añade herramientas listas para posiciones de asientos contables, documentos de facturación, pedidos de cliente, interlocutores comerciales, stock de materiales y productos, además de s4_guide, una guía sobre filtros, servicios analíticos y KPI. Se instala con Basic auth, y puedes cambiar el conector a OAuth 2.0. El adaptador de SAP S/4HANA Cloud incluye las mismas herramientas integradas como s4_cloud_* sobre las APIs de su communication arrangement.

Si prefieres leer directamente las tablas de S/4HANA, consulta SAP S/4HANA vía HANA SQL.

Opciones

OpciónSignificado
SAP GatewayDescubrimiento del catálogo y parámetros de SAP. Implícito si hay un mandante SAP.
SAP clientMandante de tres dígitos, enviado como sap-client en cada petición.
LanguageEnviado como sap-language, p. ej. EN.
Allowed servicesRutas de servicio que el modelo puede llamar, * como comodín.
Versionv2 o v4, para anular la detección a partir de $metadata.
Max rowsLímite de filas por consulta, 1.000 como máximo.
Tool prefixPrefijo de los nombres de las herramientas integradas.

Cada opción puede contener {{VARIABLES}} de las variables de entorno del conector.

Prompts de ejemplo

  • «¿Qué servicios del catálogo tratan de documentos de facturación?»
  • «Describe la entidad de pedido de cliente: ¿qué campos son importes, y en qué moneda?»
  • «Ventas netas por organización de ventas en septiembre, a partir de los documentos de facturación.»
  • «Muestra el pedido de cliente 1 con todas sus posiciones.»
  • En Northwind: «¿Qué diez productos tienen el precio unitario más alto, y qué proveedor los suministra?»

FAQ

¿Qué versiones de OData se admiten? V2 y V4. La versión se detecta a partir de $metadata; puedes forzarla en la configuración.

¿Tengo que convertir $metadata a OpenAPI primero? No. El conector OData lee $metadata directamente, y Import Tools → OData $metadata crea las herramientas a partir de él.

¿Puede Claude modificar datos a través de OData? No con las cinco herramientas integradas, que solo leen. Las escrituras necesitan herramientas que importes o escribas tú, y un rol del servidor MCP puede dejarlas fuera; las escrituras en SAP obtienen el token CSRF automáticamente.

¿Funciona con SAP S/4HANA on-premise y ECC? Sí, a través de SAP Gateway, con un AnythingMCP autoalojado que pueda llegar a él. El adaptador SAP S/4HANA (OData) es la forma más rápida de empezar con S/4HANA.

¿Cómo se gestionan los resultados grandes? Una consulta devuelve como máximo 1.000 filas. El conector sigue la paginación del servidor en el mismo host y devuelve nextSkip, para que el modelo pueda pedir la página siguiente.

¿Funciona también con ChatGPT y Copilot? Sí. El mismo servidor MCP funciona en Claude, ChatGPT, GitHub Copilot, Cursor y Claude Code.

Relacionado

¿Te ha sido útil esta guía?

MCP en tu stack en 60 segundos.

Pon en marcha AnythingMCP en la nube gestionada o alójalo en tu propia infraestructura. 7 días gratis, sin tarjeta de crédito.

Guías relacionadas

Conectores

Baserow a MCP — Pilota Baserow desde cualquier agente IA

Lee tablas, campos y filas de Baserow Cloud o de una instancia autoalojada. 4 herramientas genéricas de solo lectura con autenticación por token de base de datos.

OJ
Conectores

Odoo 14-18 (JSON-RPC) a MCP — Pilota Odoo 14-18 (JSON-RPC) desde cualquier agente IA

Odoo ERP 14 a 18 a través del clásico endpoint JSON-RPC: busca, lee, crea y actualiza cualquier modelo, además de contactos, pedidos de venta, facturas y productos. Para Odoo Online, Odoo.sh y Odoo autoalojado anterior a la 19 (también funciona con la 19). Clave API + ID de usuario.

Conectores

Splunk a MCP — Pilota Splunk desde cualquier agente IA

Busca en los logs y métricas de Splunk desde Claude, ChatGPT o Copilot a través del MCP Server oficial de Splunk: ejecuta SPL y búsquedas guardadas, lista índices, hosts y orígenes, lee objetos de conocimiento y redacta SPL con Splunk AI Assistant.

Conectores

Firma.dev a MCP — Pilota Firma.dev desde cualquier agente IA

Firma electrónica de Firma.dev desde cualquier agente de IA: plantillas, solicitudes de firma a partir de una plantilla, envío y recordatorios, estado de los destinatarios, registro de auditoría y PDF firmados. 13 herramientas, autenticación con API key y claves de prueba gratuitas.

Conectores

Servidor MCP de Google Ads: úsalo en Claude, ChatGPT y cualquier agente

Pregunta a Claude o ChatGPT por tu Google Ads: campañas, términos de búsqueda, Nivel de calidad, presupuestos. Solo lectura, sin token de desarrollador.

Conectores

Google Search Console a MCP — Pilota Google Search Console desde cualquier agente IA

Google Search Console para agentes de IA: rendimiento en la búsqueda (consultas, páginas, países, dispositivos, clics, impresiones, CTR, posición), inspección de URLs, sitemaps y propiedades, además de un playbook de SEO integrado. 11 herramientas, OAuth2.