Saltar al contenido principal

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:

  1. 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.
  2. 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 Authorization y 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​

GrupoAlcancesQué puede hacer el agente
Lecturacampaigns:read canvas:read segments:read events:read analytics:readListar y leer campañas, journeys, segmentos, eventos, informes y el catálogo
Crear borradorescampaigns:write segments:write events:trackCrear borradores de campañas y segmentos para que los revises; registrar eventos
Datos de contactousers:read users:write agents:contactsBuscar 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​

HerramientaQué devuelveEndpoint
list_campaignsCampañas por estado, canal o nombreGET /campaigns
get_campaignUna campaña con sus variantes y su segmentaciónGET /campaigns/:id
get_campaign_statsEnviados, entregados, abiertos, clics, conversionesGET /campaigns/:id/stats
get_campaign_failure_reasonsFallos de entrega por código del proveedorGET /campaigns/:id/failure-reasons
get_campaign_launch_reviewBloqueos y recomendacionesGET /campaigns/:id/launch-review
get_campaign_performanceCampañas ordenadas por conversiones incrementales, cada una con su propio objetivo de conversiónGET /campaigns/performance
get_journeyUn journey completo: disparador, nodos con sus mensajes, aristasGET /journeys/:id
list_journeys, get_journey_stats, get_journey_launch_reviewLo mismo para journeysGET /journeys…
list_segments, get_segment_sizeAudiencias guardadas y su tamañoGET /segments…
list_contact_importsImportaciones 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_trendEventos en un rango, el explorador, una tendenciaGET /events/query, GET /analytics/events, POST /analytics/events/trend
get_active_users_now, get_content_performanceRecuento en vivo, qué contenido funcionaGET /analytics/…
list_products, get_catalog_statsEl catálogo y su estadoGET /catalog/…
create_campaign_draftCrea una campaña como borrador - siempre borrador, pida lo que pida el agentePOST /campaigns
create_segmentCrea un segmento guardadoPOST /segments
track_eventRegistra un evento de una personaPOST /users/track
search_contacts, get_contact, update_contactPersonas (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.