Servidor MCP (agentes de IA)
Joryio es un servidor MCP. Un asistente de IA se conecta con un inicio de sesión y trabaja con tu espacio de trabajo: lista campañas y journeys, lee sus resultados y los hallazgos de la revisión de lanzamiento, consulta eventos, comprueba qué contenido funciona y - cuando lo permites - crea borradores de campañas y segmentos para que una persona los revise.
No hay nada que instalar ni ninguna clave que copiar. El agente habla con la misma API REST pública documentada en la Referencia de la API; cada herramienta es un endpoint documentado.
Permisos - ¿qué acceso recibe el agente?
El tuyo. Al conectar un cliente de IA, Joryio te lleva a una pantalla de consentimiento en el panel donde inicias sesión como tú y marcas lo que el agente puede hacer. Desde entonces el agente actúa como tú, limitado a lo que marcaste:
- Nunca puede hacer más que tú. La pantalla de consentimiento solo ofrece permisos que tienes, y cada petición comprueba tanto tus permisos como los alcances marcados.
- Si pierdes un permiso, cada agente que conectaste lo pierde en su siguiente petición. Desconecta un agente en Ajustes > General y sus tokens dejan de funcionar al instante.
- Cada conexión queda ligada al espacio de trabajo en el que estabas al aprobarla.
- Las acciones del agente se registran como tuyas. Conecta con el rol que pretendes: un compañero que conecta Claude como él mismo concede su propio acceso, no el tuyo.
No existe un "usuario agente" aparte ni una clave de API que gestionar. Las organizaciones que prefieran claves pueden seguir usando la API REST directamente.
Los datos de contacto están desactivados por defecto
Los datos de personas son la parte sensible de un espacio de trabajo de marketing, así que un agente de IA no los recibe salvo que se cumplan dos cosas:
- Un administrador ha activado Permitir que los agentes de IA lean datos de contacto en Ajustes > General para la organización. Hasta entonces la pantalla de consentimiento no ofrece las herramientas de contactos.
- La persona que conecta el agente tiene el permiso Agentes de IA: datos de contacto (
agents:contacts, de nivel administrador) y lo marca en la pantalla de consentimiento.
Aun así, los campos que el espacio de trabajo marca como datos personales vuelven enmascarados salvo que esa persona tenga el permiso de PII - la misma regla que aplican el panel y la API REST. Una clave de API puede llevar el alcance agents:contacts bajo el mismo interruptor de la organización.
Conectar un cliente
Tu URL del conector aparece en Ajustes > General > Agentes de IA con un botón de copiar. Tómala de ahí en lugar de escribirla: cada región de Joryio tiene su propia URL, y la tarjeta muestra siempre la de la región donde vive tu espacio de trabajo. Para la región de la UE es:
https://api-eu1.joryio.com/api/mcp
- Claude (claude.ai, Claude Desktop, Claude Code): añade un conector personalizado con esa URL, o
claude mcp add --transport http joryio https://api-eu1.joryio.com/api/mcp. - ChatGPT: añade la URL como conector en los ajustes de conectores de la app.
- Grok (xAI): consulta Grok más abajo - grok.com y la CLI de Grok Build se conectan con un inicio de sesión; la API de xAI no.
- Cursor y otros clientes que admiten servidores MCP remotos (Streamable HTTP) con OAuth: añade la URL; el cliente se registra y abre la pantalla de consentimiento en tu navegador.
- Clientes que solo ejecutan servidores locales: usa el puente de la comunidad
npx -y mcp-remote https://api-eu1.joryio.com/api/mcp.
El servidor usa OAuth 2.1 con registro dinámico de clientes y PKCE; el descubrimiento está en https://api-eu1.joryio.com/.well-known/oauth-authorization-server. Los tokens de acceso duran una hora y se renuevan en silencio durante treinta días o hasta que desconectes.
Grok (xAI)
- grok.com: abre grok.com/connectors, elige New Connector y luego Custom, y pega tu URL del conector. Grok te lleva a la pantalla de consentimiento de Joryio para iniciar sesión y marcar lo que puede hacer. En Grok Business y Enterprise, un administrador del equipo aprovisiona primero el conector en la consola de xAI; después los miembros lo encuentran entre sus conectores.
- Grok Build (la CLI
grok):grok mcp add --transport http joryio https://api-eu1.joryio.com/api/mcp. El inicio de sesión se abre en tu navegador la primera vez que Grok usa el servidor; también puedes iniciarlo desde la pestaña MCP en/mcps. - API de xAI (herramientas MCP remotas en una solicitud de Responses): no compatible. Esa vía envía un token fijo en la cabecera
Authorizationy no puede completar un inicio de sesión, y el endpoint MCP de Joryio solo acepta los tokens que emite su propio inicio de sesión - una clave de API se rechaza. Para llegar a Joryio desde tu propio código con la API de xAI, llama a la API REST con una clave de API desde tus propias herramientas de función (function tools).
Qué ofrece la pantalla de consentimiento
| Grupo | Alcances | Qué puede hacer el agente |
|---|---|---|
| Lectura | campaigns:read canvas:read segments:read events:read analytics:read | Listar y leer campañas, journeys, segmentos, eventos, informes y el catálogo |
| Crear borradores | campaigns:write segments:write events:track | Crear borradores de campañas y segmentos para que los revises; registrar eventos |
| Datos de contacto | users:read users:write agents:contacts | Buscar y leer personas, actualizar sus atributos - solo con el interruptor de la organización activado |
Marcado por defecto: lo que pidió el cliente, o el grupo de Lectura.
Herramientas
| Herramienta | Qué devuelve | Endpoint |
|---|---|---|
list_campaigns | Campañas por estado, canal o nombre | GET /campaigns |
get_campaign | Una campaña con sus variantes y su segmentación | GET /campaigns/:id |
get_campaign_stats | Enviados, entregados, abiertos, clics, conversiones | GET /campaigns/:id/stats |
get_campaign_failure_reasons | Fallos de entrega por código del proveedor | GET /campaigns/:id/failure-reasons |
get_campaign_launch_review | Bloqueos y recomendaciones | GET /campaigns/:id/launch-review |
get_campaign_performance | Campañas ordenadas por conversiones incrementales, cada una con su propio objetivo de conversión | GET /campaigns/performance |
get_journey | Un journey completo: disparador, nodos con sus mensajes, aristas | GET /journeys/:id |
list_journeys, get_journey_stats, get_journey_launch_review | Lo mismo para journeys | GET /journeys… |
list_segments, get_segment_size | Audiencias guardadas y su tamaño | GET /segments… |
list_contact_imports | Importaciones de contactos por nombre de archivo y fecha, para el filtro de segmento «vino de una importación» (requiere users:read, no agents:contacts) | GET /users/import/sources |
query_events, list_recent_events, get_event_trend | Eventos en un rango, el explorador, una tendencia | GET /events/query, GET /analytics/events, POST /analytics/events/trend |
get_active_users_now, get_content_performance | Recuento en vivo, qué contenido funciona | GET /analytics/… |
list_products, get_catalog_stats | El catálogo y su estado | GET /catalog/… |
create_campaign_draft | Crea una campaña como borrador - siempre borrador, pida lo que pida el agente | POST /campaigns |
create_segment | Crea un segmento guardado | POST /segments |
track_event | Registra un evento de una persona | POST /users/track |
search_contacts, get_contact, update_contact | Personas (solo con el grupo de datos de contacto) | GET /users/search, GET /users/:id, PUT /users/by-user-id/:id |
Una herramienta aparece solo cuando la conexión lleva su alcance.
Lo que el agente nunca puede hacer
No hay ninguna herramienta que envíe, programe, active, apruebe, reenvíe, exporte o elimine nada, ni que gestione claves de API o miembros del equipo - marques lo que marques. Un borrador creado por el agente espera en el panel a que una persona lo revise, ejecute la revisión de lanzamiento y lo envíe.
Gestionar conexiones
Ajustes > General > Agentes de IA lista los agentes conectados como tú, con los alcances de cada uno y su último uso. Desconectar lo revoca al instante. Los administradores encuentran el interruptor de datos de contacto de la organización en la misma tarjeta.
Límites
Las peticiones cuentan contra los límites de tasa normales de la API del espacio de trabajo; al agente se le pide esperar cuando alcanza uno. Cada llamada de herramienta caduca a los 30 segundos. Las listas se paginan con los mismos parámetros limit y page / offset que la API REST.