Tema
MCP Server
ur expone su administración como un servidor MCP (Model Context Protocol): conectas un cliente compatible —Claude.ai, Claude Code, Cursor…— y el modelo puede leer y modificar la configuración de tu instancia hablando contigo en lenguaje natural, sin pasar por el panel.
Vive dentro del propio backend (Streamable HTTP, montado en /mcp): no hay nada extra que desplegar.
Activarlo
Viene desactivado de fábrica. Se enciende en Ajustes del Sistema → MCP. Mientras esté apagado, /mcp y sus .well-known devuelven 404 — ni siquiera revelan que existen.
Conectarlo
La URL es el origen de tu instancia más /mcp:
https://ur.tuempresa.com/mcpEn Claude Code:
bash
claude mcp add --transport http ur https://ur.tuempresa.com/mcpEn Claude.ai o Cursor, se añade como conector remoto pegando esa misma URL.
El servidor actúa además como su propio authorization server OAuth 2.1 (PKCE + registro dinámico de clientes), que es lo que exigen los conectores remotos. El flujo, desde tu punto de vista:
- Pegas la URL en el cliente MCP.
- El cliente se registra solo y te abre el navegador.
- Si ya tenías sesión en
ur, ves directamente la pantalla de consentimiento; si no, te pide login primero y vuelve a ella. - Le das a Autorizar y el cliente queda conectado.
No hay que crear ningún client id ni secreto a mano: el cliente se registra solo.
Los access token duran 1 hora y los refresh token 30 días, con rotación en cada uso.
La pantalla de consentimiento te dice con qué cuenta estás firmando y qué podrá hacer el cliente antes de que autorices.
Nivel de acceso
Un cliente MCP autorizado opera con los mismos permisos que tu sesión de administrador. Todavía no hay perfiles granulares por cliente: quien conecte uno puede llamar a cualquiera de las tools, incluidas las que escriben.
Si el cliente no conecta detrás de un proxy
El fallo más común al desplegar
Si ur está detrás de un proxy que termina TLS (nginx, un balanceador, Cloudflare), el servidor puede anunciar sus URLs de OAuth como http:// aunque tú entres por https://. Los clientes MCP comparan esa URL de forma exacta y rechazan la conexión.
La solución es fijar PUBLIC_BASE_URL en el backend con el origen público real (https://ur.tuempresa.com). Como alternativa, TRUSTED_PROXY_COUNT hace que se confíe en la cabecera X-Forwarded-Proto.
Revocar un acceso
Ajustes → Clientes MCP lista las aplicaciones con acceso vivo —con qué cuenta se autorizó cada una, cuándo y hasta cuándo— y las corta desde ahí. La revocación es inmediata: el cliente deja de poder llamar a las tools y de renovar su token en la siguiente petición, y para volver a entrar tiene que pasar otra vez por el consentimiento.
Conviene repasar esa lista de vez en cuando: el refresh token dura 30 días y se renueva solo mientras el cliente se use, así que una conexión que nadie recuerda puede seguir viva indefinidamente.
Lo que no expone
Ejecutar inferencias o invocar agentes no está en el MCP — es administración y consulta de RAG, no un canal de chat. Para eso está la API HTTP, con su propio bearer token y sus permisos por recurso:
POST /api/inferences/{identifier} | Ejecuta una inferencia |
POST /api/agents/{identifier}/invoke | Un turno de agente, sin streaming |
POST /api/rags/{identifier}/retrieve | Lo mismo que search_rag, por HTTP |
Siguiente
El catálogo completo, con los argumentos de cada tool → Catálogo de tools.