Conectar una IA por MCP
MCP permite que una IA descubra herramientas del ERP y las invoque con entradas y salidas estructuradas. La conexión usa el mismo tenant, usuario efectivo y permisos que la API.
Configuración de la conexión
Sección titulada «Configuración de la conexión»| Campo | Valor |
|---|---|
| Transporte | Streamable HTTP, sin sesión persistente |
| URL | https://TU_AMBIENTE/api/v1/mcp |
| Autenticación | OAuth, Authorization Code + PKCE para personas |
| Resource/audience | La misma URL completa del MCP |
| Scope inicial | data:read |
| Alta de la aplicación | Previa, por un administrador; no hay registro dinámico público |
- Obtené del cliente de IA su URL de callback y el tipo de autenticación OAuth que admite.
- El administrador crea una nueva aplicación externa para ese cliente con el callback exacto, grant
authorization_code, PKCE ydata:read. Si requiere renovación, autoriza tambiénrefresh_tokenyoffline_access. - Configurá la URL MCP y el
client_iden el cliente. Cada usuario inicia sesión con su cuenta de Mopdow y presta su consentimiento. - Pedí a la IA que ejecute
erp_identity_get, compruebe el tenant y liste los objetos disponibles antes de consultar registros.
Cada persona necesita API habilitada (api.enabled) y debe estar permitida por la política de la aplicación. Si aparece api_access_disabled, un administrador debe asignar ese permiso; repetir el login o solicitar más scopes no lo resuelve.
Una sola aplicación puede atender a varios usuarios. El token es individual. No copies un token de administrador para que lo usen todos. La compatibilidad depende de que el cliente admita Streamable HTTP y OAuth con aplicaciones previamente registradas; un cliente que sólo admita registro dinámico necesitará incorporar ese modo.
Las aplicaciones creadas antes de esta entrega pueden no tener autorizada la audiencia MCP. Registrá una nueva aplicación para MCP; no reutilices un token REST. No hace falta modificar las conexiones REST existentes.
Herramientas de esta versión
Sección titulada «Herramientas de esta versión»El catálogo tools/list se filtra por los scopes del token. Los permisos de objeto, campo, sharing y configuración se comprueban al ejecutar cada herramienta.
Las capacidades y campos editables de erp_objects_list y erp_objects_describe describen esta conexión. En esta versión de MCP las capacidades de escritura y editable son false, incluso si el token tiene scopes adicionales. Las herramientas siguen siendo de lectura y validación.
| Herramientas | Scopes |
|---|---|
erp_identity_get |
Identidad de la conexión válida |
erp_objects_list, erp_objects_describe |
data:read |
erp_records_list, erp_records_get, erp_records_history |
data:read |
erp_records_transitions_list |
actions:read |
erp_metadata_retrieve, erp_metadata_deployments_list, erp_metadata_deployments_get |
setup:read |
erp_metadata_validate |
metadata:deploy y permiso de lectura de metadata |
Cada herramienta declara JSON Schema de entrada y salida. Los argumentos usan path, query y body cuando corresponden:
{ "path": { "objectApiName": "NOMBRE_OBTENIDO_DE_OBJECTS_LIST" }, "query": { "take": 5, "includeTotal": true } }La respuesta exitosa tiene structuredContent: {data, meta}; meta.requestId permite correlacionar auditoría y meta.etag aparece en lecturas individuales. También se incluye su representación JSON en content. Los resultados se limitan a 2 MB: reducí selección o paginá si aparece result_too_large.
Esta entrega no expone herramientas de escritura, deploy, administración IAM, ejecución de código ni operaciones arbitrarias. Las descripciones no constituyen el control de seguridad: el servidor mantiene una lista explícita de operaciones permitidas y rechaza mutaciones.
Descubrimiento automático
Sección titulada «Descubrimiento automático»Ante una solicitud sin autenticación, el servidor responde 401 con WWW-Authenticate apuntando a /.well-known/oauth-protected-resource/api/v1/mcp. Esa metadata indica el recurso y el authorization server. El cliente debe solicitar el resource en el flujo OAuth y enviar Authorization en cada solicitud.
resources/list ofrece mopdow://integration-manifest, con instrucciones y enlaces a los contratos del ambiente. El prompt explore_erp ayuda a seguir el orden identidad → objetos → campos → consulta.
Los clientes web deben usar un origen registrado en sus callbacks o el origen del ERP. GET y DELETE en la URL MCP responden 405; las interacciones se realizan con POST conforme al transporte Streamable HTTP sin sesiones.