Narrareach

Redacta, programa y analiza contenido para Substack, Medium, LinkedIn, X, Bluesky y Threads. Requiere una cuenta Narrareach elegible e inicio de sesión OAuth; las capacidades varían según la plataforma.

Servidor MCP alojado

npx add-mcp 'https://www.narrareach.com/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Cómo funciona el conector

Narrareach utiliza el Protocolo de Contexto de Modelos (MCP) a través de HTTPS. Claude, ChatGPT, Gemini y Notion Agents descubren el endpoint, registran un cliente OAuth dinámicamente, envían al usuario a través del inicio de sesión de Narrareach y autorizan futuras solicitudes MCP. MCP está incluido en los planes de pago con programación y análisis.

Una URL

Los usuarios proporcionan /mcp. El cliente descubre el resto.

OAuth

Los usuarios otorgan permisos a través de Narrareach. No se exponen secretos compartidos.

DCR + PKCE

El registro dinámico de clientes y PKCE S256 manejan la configuración del cliente de manera segura.

Claude

Añadir Narrareach como conector personalizado

En Narrareach, abre Configuración > Integraciones > Claude y luego usa los valores a continuación en Claude. Deja la configuración avanzada cerrada. Claude registra el cliente OAuth automáticamente.

Nombre

Narrareach

URL del conector

https://www.narrareach.com/mcp

Claude custom connector form with Narrareach and the connector URL filled in

ChatGPT

Añadir Narrareach como plugin de ChatGPT

En Narrareach, abre Configuración > Integraciones > ChatGPT y luego crea un plugin de ChatGPT con los valores a continuación. Mantén Autenticación en OAuth. Los usuarios no deben pegar un ID de cliente o secreto de cliente.

  1. En ChatGPT, abre la configuración de Plugins y crea un nuevo plugin.
  2. Ingresa el Nombre, la descripción opcional y la URL del servidor a continuación.
  3. Mantén Autenticación en OAuth, acepta la advertencia de MCP personalizado y luego haz clic en Crear.
  4. Completa el inicio de sesión de Narrareach con el mismo correo electrónico que tu cuenta de Narrareach.

Nombre

Narrareach

Descripción

Content growth engine for writers

URL del servidor

https://www.narrareach.com/mcp

Nuevo plugin

×

Icono (opcional)

Solo PNG. Mejores resultados a 256 × 256 px o más.
Tamaño máximo de archivo: 10 KB

Conexión

URL del servidorTúnel

https://www.narrareach.com/mcp

Autenticación

OAuth▾

Configuración avanzada de OAuth

Revisa la configuración de OAuth descubierta o ingrésala manualmente.

Los servidores MCP personalizados introducen riesgos. Más información

Crear

Nota de administrador

Si tu proveedor de autenticación aún aplica una lista de permitidos de redirección, añade el URI de devolución de llamada de ChatGPT que se muestra en la gestión de la aplicación de ChatGPT (por ejemplo, https://chatgpt.com/connector/oauth/…). Asegúrate de que el cliente OAuth pueda solicitar openid, profile, email y offline_access. Esa es una tarea de configuración de administrador, no un paso de configuración del usuario.

Preguntas frecuentes

¿Por qué ChatGPT dice "Recurso no encontrado" cuando las herramientas de Narrareach son visibles?

ChatGPT puede no poder resolver una acción de plugin en caché o un adjunto anterior antes de enviar la solicitud a Narrareach. Inicia un nuevo chat para que ChatGPT recargue la lista de herramientas. Si el error continúa, elimina y vuelve a conectar el plugin de Narrareach y luego adjunta la imagen nuevamente. Las acciones exitosas de perfil o lectura no descartan este error de acción o adjunto del lado del cliente.

¿Cómo debo enviar una imagen generada por ChatGPT con un artículo?

Envía los bytes reales de la imagen, no una referencia de adjunto temporal de ChatGPT ni una URL de blob: o file:. Pide a ChatGPT que use schedule_article con coverImage o media como URI de datos o valor base64. También puede llamar a upload_media primero y usar la URL pública devuelta.

¿Puede create_draft guardar una imagen de artículo por sí solo?

create_draft acepta un título y un cuerpo HTML opcional; no acepta un objeto de imagen adjunto. Para mantener el artículo como borrador, créalo primero y luego llama a update_draft con coverImage. Para programar de inmediato, usa schedule_article, que acepta medios de portada y en línea.

Gemini

Añadir Narrareach como aplicación personalizada de Gemini

En Narrareach, abre Configuración > Integraciones > Gemini y luego añade una aplicación personalizada en Gemini con los valores a continuación. Deja las funciones avanzadas cerradas a menos que Gemini solicite credenciales. Gemini debería registrar el cliente OAuth automáticamente.

  1. En una computadora, abre gemini.google.com y ve a Configuración → Aplicaciones conectadas.
  2. Si Aplicaciones conectadas está oculto, abre Inteligencia personal primero y luego Aplicaciones conectadas.
  3. En Aplicaciones personalizadas, elige Añadir una aplicación personalizada. Pega la URL del conector a continuación y haz clic en Siguiente.
  4. Completa el inicio de sesión de Narrareach con el mismo correo electrónico que tu cuenta de Narrareach.
  5. En un chat, escribe @Narrareach para seleccionar el conector explícitamente.

URL del conector

https://www.narrareach.com/mcp

Requisitos de la cuenta de Google

Google actualmente requiere que los usuarios tengan 18 años o más, estén ubicados en los Estados Unidos, usen Gemini en inglés con una Cuenta de Google personal y Mantener actividad activado. Las cuentas de trabajo o escuela no pueden conectar aplicaciones personalizadas. Conecta la aplicación en la aplicación web de Gemini primero; después de eso, también se puede usar en dispositivos móviles.

Nota de administrador

Narrareach publica el endpoint de Registro Dinámico de Clientes de Clerk y el soporte PKCE S256 a través de sus metadatos OAuth. Por lo tanto, Gemini debería registrarse desde la URL del conector; los usuarios no necesitan un ID de cliente o secreto. Si Google cambia su método de incorporación de clientes, verifica la solicitud de autorización en vivo antes de cambiar Clerk.

Notion

Usar Narrareach en Notion Agents

Esto conecta las herramientas MCP de Narrareach a Notion Agent o a un Notion Custom Agent individual. Es independiente de la conexión de importación de páginas de Notion en la Configuración de Narrareach. Notion requiere un plan Business o Enterprise y configuración web o de escritorio; los servidores MCP personalizados deben estar habilitados por el administrador de tu espacio de trabajo. No se necesita token de API de Narrareach ni secreto de cliente.

URL del conector

https://www.narrareach.com/mcp

Notion Agent

  1. En Notion web o de escritorio, abre Configuración → Conexiones → Descubrir → Añadir MCP personalizado.
  2. Ingresa la URL del conector e inicia sesión con tu cuenta de Narrareach.
  3. Encuentra Narrareach en Todas las fuentes → Servidores MCP en el chat. Menciónalo por nombre si el agente no lo selecciona.

Custom Agent

  1. Abre la Configuración del agente → Herramientas y acceso → Añadir conexión → Servidor MCP personalizado.
  2. Ingresa la URL del conector, inicia sesión con Narrareach y elige las herramientas que este agente puede usar.
  3. Mantén las herramientas de escritura configuradas para requerir confirmación, especialmente las acciones de programación y publicación.

Acceso y solución de problemas

Notion Agent y cada Custom Agent requieren conexiones separadas. Un administrador debe habilitar los servidores MCP personalizados y, en un espacio de trabajo solo con aprobación, aprobar esta URL. Un Custom Agent usa los permisos de Narrareach de la persona que lo conecta, incluso cuando los compañeros de equipo interactúan con ese agente; limita el acceso del agente en consecuencia. Si faltan herramientas, verifica el estado de la conexión y actualiza la configuración del agente antes de reconectar.

Instrucciones de Notion Agent Instrucciones de Custom Agent

Make

Conectar un escenario de Make a través de la API REST

Usa el módulo HTTP de Make con un token de automatización de Narrareach con alcance. Mantén el token en el almacenamiento de credenciales de Make, asigna solo contenido aprobado a la solicitud y conserva el identificador de Narrareach devuelto para verificaciones de estado y reintentos seguros.

  1. Crea un token en Configuración de Narrareach > Integraciones > API REST y webhooks con solo los alcances requeridos.
  2. Añade un módulo de solicitud HTTP y usa el endpoint y el cuerpo del contrato OpenAPI público.
  3. Almacena el token como credencial y envíalo en el encabezado Authorization.
  4. Usa un ID de registro fuente estable como clave de idempotencia donde sea compatible.
  5. Almacena el ID del elemento aceptado y luego verifica el estado antes de reintentar después de un tiempo de espera.

n8n

Usar el nodo comunitario de Narrareach en n8n

Instala n8n-nodes-narrareach para acciones nativas de Programar artículo, Programar nota, Obtener estado, Reprogramar y Cancelar. n8n maneja disparadores y ramificaciones mientras Narrareach maneja los destinos conectados y el estado de publicación.

  1. Instala n8n-nodes-narrareach en Nodos comunitarios.
  2. Crea un token de automatización de Narrareach con alcance y guárdalo solo en la credencial de n8n.
  3. Asigna contenido aprobado, destino, hora de programación, zona horaria y un ID de fuente estable.
  4. Ejecuta una prueba canaria con fecha futura y confírmala con Obtener estado antes de habilitar el flujo de trabajo.

Los clientes LLM descubren la autenticación de Narrareach a partir de metadatos basados en estándares. Estos endpoints deben permanecer públicos y servirse a través de HTTPS.

Recurso MCP

https://www.narrareach.com/.well-known/oauth-protected-resource/mcp

Servidor de autenticación (ChatGPT)

https://www.narrareach.com/.well-known/oauth-authorization-server/mcp

Servidor de autenticación (Clerk)

https://clerk.narrareach.com/.well-known/oauth-authorization-server

Recurso

https://www.narrareach.com/mcp

Requerido

Los metadatos de autorización deben incluir un registration_endpoint.

Requerido

El soporte PKCE debe anunciar S256.

Guía de publicación

Editar publicaciones programadas de LinkedIn con ChatGPT

Usa ChatGPT, Claude u otro asistente MCP conectado para revisar y cambiar una publicación de LinkedIn solo texto en cola en tu cuenta personal de Narrareach. La publicación no debe haber comenzado. Esto no edita publicaciones con medios, publicaciones publicadas ni artículos programados.

  1. Pide a tu asistente que encuentre la publicación con list_scheduled_items, verifique get_scheduled_item_readiness y lea el texto en cola con get_note.
  2. Proporciona el texto de reemplazo y pide una vista previa. El asistente usa amend_scheduled_note_content con el ID de programación, la revisión actual como expectedRevision y tu texto de reemplazo completo. Solo la vista previa no cambia la publicación.
  3. Revisa la vista previa y confirma antes de que el asistente la aplique con apply: true. Si la publicación ha cambiado, revisa una vista previa nueva antes de confirmar nuevamente.

Solicitud de ejemplo: "Muéstrame la publicación de LinkedIn de mañana. Vista previa de este texto de reemplazo, pero no lo apliques hasta que confirme." Para mover una Nota o artículo a una hora diferente, usa amend_scheduled_item en su lugar. Los cambios de Notas de equipo aún usan el panel de control del equipo.

Inspeccionar borradores de artículos y cambiar portadas

La preparación del artículo incluye un draftId. Úsalo con get_draft para revisar el borrador de Narrareach, no una copia verificada de lo que está programado en la plataforma de publicación. Para un artículo no programado, update_draft puede cambiar su título, cuerpo o imagen de portada. Las ediciones solo de portada conservan el cuerpo y los controles de suscripción existentes. No puede editar una programación de artículo activa. Revisa el estado de la programación antes de hacer cambios; no la canceles ni la recrees sin aprobación.

Conexiones existentes

Obtener nuevas herramientas en tu conexión MCP

Las herramientas existentes usan el backend actualizado de Narrareach después de la implementación, pero tu asistente puede mantener una lista más antigua de acciones disponibles. Las nuevas herramientas aparecen cuando se actualiza esa lista. La URL MCP de Narrareach sigue siendo la misma.

Para una conexión en modo desarrollador de ChatGPT, abre la conexión, selecciona Actualizar, confirma que aparecen las nuevas acciones e inicia una nueva conversación. Una aplicación administrada por espacio de trabajo también puede necesitar que un administrador revise y habilite nuevas acciones. Otros clientes MCP tienen sus propios controles de actualización o reconexión. No necesitas desconectar LinkedIn u otra cuenta de publicación solo porque falta una herramienta.

Guía de conexión y actualización de OpenAI

Catálogo de herramientas

Lo que los LLM pueden hacer

Los clientes conectados pueden trabajar con borradores, notas, programación, inspiración, análisis y contexto de perfil en Substack, Medium, LinkedIn, X, Bluesky, Threads, Instagram, Facebook, TikTok y Pinterest. El acceso a las herramientas está limitado al usuario autenticado de Narrareach. Las respuestas de programación incluyen la URL del elemento de Narrareach; las URL de plataformas publicadas se devuelven una vez que el destino confirma la publicación. Las respuestas de artículos también pueden incluir advisories no bloqueantes; transmítelos como actualizaciones de estado sin tratar la programación aceptada como un error.

Elegir la cuenta antes de actuar

Llama a list_workspaces para ver los equipos y escritores a los que puedes acceder. Los detalles de las herramientas a continuación muestran qué llamadas aceptan workspace y writer. Los borradores, la programación de artículos y los cambios de programación usan actualmente tu cuenta personal. Mantén el mismo espacio de trabajo al listar, leer y programar Notas de equipo. Si el acceso al equipo falla, no cambies a publicación personal para solucionarlo.

Verificar Notas y artículos por separado

Para Notas y publicaciones sociales, usa list_notes y luego get_note con el id devuelto. Para artículos, usa list_scheduled_posts y encuentra el id de programación, no el ID de borrador. Después de un tiempo de espera, una lista de artículos vacía no te dice si se programó una Nota. Verifica la cuenta correcta, los filtros y el límite de lista antes de enviar nuevamente. Los cambios de Notas de equipo usan actualmente el panel de control del equipo.

Herramienta

Descripción

list_workspaces

Lista la cuenta personal y los espacios de trabajo de equipo autorizados, escritores y publicaciones.Cuenta y campos

Descubre el contexto de tu cuenta con sesión iniciada. No se necesitan selectores.

Campos obligatorios: Ninguno.

Campos aceptados: Ninguno.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_user_profile

Lee el perfil de usuario actual, el plan, la zona horaria, el estado de la conexión y el contexto de publicación disponible.Cuenta y campos

Descubre el contexto desde tu cuenta con sesión iniciada. No se necesitan selectores.

Campos obligatorios: Ninguno.

Campos aceptados: Ninguno.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_drafts

Busca borradores en tu cuenta personal por título o estado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: limit, status, query.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_draft

Lee el contenido completo y los metadatos de un borrador autorizado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

create_draft

Guarda un borrador de artículo en tu cuenta personal sin programarlo.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: title.

Campos aceptados: title, contentHtml.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

update_draft

Actualiza el título, el cuerpo o la imagen de portada de un borrador de artículo no programado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id, title, contentHtml, coverImage.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

archive_draft

Archiva un borrador propio después de que se hayan gestionado las programaciones activas.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_notes

Busca Notes y publicaciones sociales programadas, publicadas o fallidas.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: Ninguno.

Campos aceptados: limit, status, platform, query, workspace, writer.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_note

Lee una Note autorizada y su estado de destino.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: id.

Campos aceptados: id, workspace.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

schedule_note

Programa contenido de formato corto hacia destinos de publicación conectados compatibles.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: scheduledFor, platforms.

Campos aceptados: draftId, title, content, scheduledFor, timezone, platforms, instagramDestinations, linkedInAccountId, linkedInOrganizationUrn, workspace, writer, publication, confirmProfileDestination, substackConnectionId, imageUrls, videoUrls, threadsTopicTag, firstReply, platformVersions, media.

Campo condicional: postingAs. Disponible solo cuando el esquema de tu herramienta conectada lo incluye. Selecciona un seudónimo de Substack conectado, un handle de perfil o una etiqueta de publicación. Usa postingAs o publication, no ambos. Este campo no otorga acceso a otra cuenta.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_scheduled_posts

Lista las programaciones de artículos en tu cuenta personal.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: limit, status, from, to.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

cancel_scheduled_post

Cancela una programación de artículo desde list_scheduled_posts.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

schedule_article

Programa un artículo completo hacia destinos de formato largo conectados compatibles.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: platforms.

Campos aceptados: draftId, title, contentHtml, subtitle, coverImage, media, tags, sendToNewsletter, isPaidContent, paywallMarker, addSearchMetadata, linkedinShareCommentary, linkedinPublicationType, linkedinAuthorUrn, linkedinNewsletterUrn, scheduledFor, platformSchedules, timezone, platforms, publication, substackConnectionId, mediumPublicationId, mediumNotifyFollowers.

Campo condicional: mediumPublicationId. Solo válido cuando platforms incluye MEDIUM. Llama a list_medium_publications y pasa el id devuelto; nunca adivines uno. Cuando canPublish es false, la historia se envía para revisión editorial y queda sin programar hasta que un editor la acepte. Un rechazo por parte de la publicación es de mejor esfuerzo: la historia aún se publica en el perfil personal y el rechazo se devuelve como advertencia.

Campo condicional: mediumNotifyFollowers. Solo válido cuando platforms incluye MEDIUM. El valor predeterminado es false (sin correo electrónico para suscriptores).

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_linkedin_article_destinations

Actualiza y lista los perfiles de artículos de LinkedIn, Company Pages y newsletters. No publica contenido.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: authorUrn, refresh.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_medium_publications

Lista las publicaciones de Medium a las que la cuenta conectada puede enviar historias. No publica contenido.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: refresh.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_linkedin_destinations

Actualiza y lista los perfiles de LinkedIn conectados y Company Pages para publicaciones de formato corto. No publica contenido.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: Ninguno.

Campos aceptados: workspace, writer.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_scheduled_items

Revisa Notes y artículos junto con sus destinos, horarios y comprobaciones de preparación.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: Ninguno.

Campos aceptados: kind, status, from, to, limit, workspace, writer.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_scheduled_item_readiness

Inspecciona una Note o artículo programado antes de realizar cambios.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id, kind.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

amend_scheduled_item

Vista previa y confirmación de un cambio de hora para una Note o artículo programado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id, expectedRevision, scheduledFor.

Campos aceptados: id, kind, expectedRevision, scheduledFor, timezone, apply.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

amend_scheduled_note_content

Vista previa y edición del texto de una publicación de LinkedIn en cola, solo texto.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id, expectedRevision, content.

Campos aceptados: id, expectedRevision, content, apply.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

reschedule_scheduled_item

Mueve una Note o artículo autorizado en cola a una nueva hora.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id, scheduledFor.

Campos aceptados: id, kind, scheduledFor, timezone.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

cancel_scheduled_item

Cancela una Note o artículo autorizado en cola sin eliminar su borrador fuente.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: id.

Campos aceptados: id, kind.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

upload_media

Sube bytes de imagen o video compatibles para uso posterior en un flujo de publicación autorizado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: kind.

Campos aceptados: kind, sourceType, url, data, mimeType, fileName.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_inspiration_posts

Explora publicaciones de inspiración guardadas por el usuario autenticado.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: limit, platform, tag.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_benchmark_inspiration

Lee experimentos de escritura guardados e inspiración opcional para cuentas piloto elegibles.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: Ninguno.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

prepare_benchmark_inspiration

Prepara comparaciones de borradores de baja confianza a partir de ejemplos guardados para cuentas piloto elegibles.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: recordId, niche.

Campos aceptados: recordId, niche.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

list_reader_activities

Lista los likes, comentarios y restacks de Substack propios.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: Ninguno.

Campos aceptados: state, type, sort, cursor, limit, substackConnectionId.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

reply_to_reader_activity

Publica una respuesta a un comentario de Substack propio y respondible.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: activityId, text.

Campos aceptados: activityId, text, idempotencyKey, substackConnectionId.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

update_reader_activity

Mueve un elemento de actividad de lector propio entre Bandeja de entrada e Historial.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: activityId, triageState.

Campos aceptados: activityId, triageState, substackConnectionId.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_platform_analytics

Obtén análisis de cuenta y publicaciones compatibles, o devuelve métricas almacenadas. Puede actualizar datos de conexión y análisis; no publica contenido.Cuenta y campos

Solo cuenta personal. No envíes workspace ni writer.

Campos obligatorios: platform.

Campos aceptados: platform, recentLimit.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

get_stats_insights

Lee información almacenada de Narrareach Stats para un período seleccionado.Cuenta y campos

Cuenta personal por defecto; acepta un workspace de equipo autorizado.

Campos obligatorios: Ninguno.

Campos aceptados: period, from, to, platforms, contentTypes, publicationId, workspace.

Usa el esquema proporcionado por tu cliente MCP para tipos de campos, opciones y límites.

Abre la referencia completa de herramientas MCP lista para agentes

Media

Programación con imágenes y video

schedule_note acepta imageUrls para imágenes HTTPS públicas y media para imágenes de portapapeles pegadas, URI de datos o base64 sin procesar. El contenido multimedia en línea se sube primero, luego la nota programada almacena la URL pública devuelta. Las imágenes y videos de artículos se manejan a través del HTML del artículo o del contenido multimedia del borrador, no mediante un campo imageUrls de nivel superior en schedule_article. Los llamadores de servidor a servidor pueden pasar imágenes de notas a POST /api/v1/notes con imageUrls.

Plataforma

Límite de contenido multimedia en notas

Substack

Hasta 6 imágenes

X Hasta 4 imágenes o 1 video; las imágenes y el video no se pueden combinar

Bluesky

Hasta 4 imágenes o 1 video; las imágenes y el video no se pueden combinar

Instagram

Se requiere al menos un elemento multimedia; hasta 10 elementos multimedia en total

TikTok

Hasta 35 imágenes o 1 video; las imágenes y el video no se pueden combinar

Pinterest

Se requiere un elemento multimedia

LinkedIn

Las imágenes son compatibles a través de la ruta de publicación conectada

Threads

Las imágenes son compatibles a través de la ruta de publicación conectada

Facebook

Las imágenes son compatibles a través de la ruta de publicación conectada

{
  "jsonrpc": "2.0",
  "id": "schedule-image-note",
  "method": "tools/call",
  "params": {
    "name": "schedule_note",
    "arguments": {
      "content": "A short note with an attached image.",
      "platforms": ["SUBSTACK", "X", "THREADS"],
      "scheduledFor": "2026-07-01T14:00:00.000Z",
      "timezone": "America/New_York",
      "threadsTopicTag": "Creator Economy",
      "imageUrls": ["https://cdn.example.com/note-image.png"]
    }
  }
}

URLs locales

blob: y file: no pueden ser obtenidas por Narrareach. Sube el contenido multimedia o pásalo a través de media.

Validación

Los límites multimedia de la plataforma se verifican antes de que Narrareach cree filas programadas.

API REST

Programa artículos desde tu servidor

Los llamadores REST pueden programar artículos completos con POST /api/v1/articles. La programación de artículos admite SUBSTACK, MEDIUM, LINKEDIN y X. Usa un token de automatización con articles:write; los tokens de solo notas no pueden programar artículos. Los artículos de LinkedIn deben programarse con al menos 20 minutos de antelación. Establece addSearchMetadata para generar metadatos SEO para los destinos de artículos compatibles; X no expone configuraciones de SEO de artículos separadas.

scheduledFor acepta una marca de tiempo RFC 3339 con Z o un desplazamiento UTC explícito; Narrareach lo normaliza a UTC.

Las notas de LinkedIn pueden publicarse desde el perfil personal conectado o desde una Página de Empresa administrada. Llama a GET /api/v1/linkedin/destinations y envía el accountId devuelto como linkedInAccountId. Para una Página, también envía linkedInOrganizationUrn. Omite ambos para usar el valor predeterminado de Configuración o el único perfil personal disponible. Narrareach nunca adivina entre Páginas de Empresa. Si existen varios destinos y ninguno puede seleccionarse de manera segura, la solicitud falla con LINKEDIN_DESTINATION_REQUIRED.

Los artículos de LinkedIn pueden publicarse desde el perfil personal con sesión iniciada o desde una Página de Empresa administrada. Llama a GET /api/v1/linkedin/article-destinations, elige un authorUrn devuelto y envíalo como linkedinAuthorUrn. Llama al mismo endpoint con authorUrn para listar los boletines de ese perfil o Página. Para un número de boletín, también envía linkedinPublicationType: "newsletter" y el linkedinNewsletterUrn devuelto.

Un artículo de Medium se publica de forma predeterminada en el perfil propio de la cuenta conectada. Para enviarlo a una publicación en su lugar, llama a GET /api/v1/medium/publications y envía un id devuelto como mediumPublicationId. La lista de publicaciones se guarda para esta conexión; usa ?refresh=1 cuando cambie el acceso a la publicación para verificar Medium nuevamente. Cuando canPublish es falso para esa publicación, la historia se envía para revisión editorial y se deja sin programar: se publica cuando un editor la acepta, no en el momento solicitado, y nunca se publica en el perfil personal a espaldas de la publicación. El envío es de otro modo de mejor esfuerzo: si la publicación rechaza la historia, aún se publica o programa en el perfil personal y el rechazo se devuelve en warnings, no como un error. Establece mediumNotifyFollowers: true para enviar un correo electrónico a los suscriptores de Medium sobre la historia; el valor predeterminado es falso y se aplica en la misma base de mejor esfuerzo.

Identifica el destino de Substack con publication como un nombre, identificador o URL de publicación conectada exacta. Si se omite, Narrareach puede seleccionar una única publicación activa. De lo contrario, el llamador debe preguntar al usuario qué publicación usar.

Cuando LinkedIn tiene una sincronización de conexión pendiente, las solicitudes de creación y reprogramación devuelven HTTP 409 con PLATFORM_SESSION_REFRESH_REQUIRED y canRetryAfterSync: true. La nueva entrada de artículo se guarda primero, y las respuestas de creación incluyen saved: true con el draftId guardado. Nada se programa hasta que la conexión se sincronice; sincroniza LinkedIn en Conexiones de plataforma y luego reintenta la misma solicitud usando ese borrador.

El video de artículo subido está disponible solo para solicitudes de artículos de Substack. Agrega kind: "video" a un elemento en media y colócalo con un marcador {{media:N}} basado en 1 en contentHtml. Omitir kind sigue siendo compatible con versiones anteriores y trata el elemento como una imagen. Narrareach acepta video MP4, WebM, MOV y M4V de hasta 100MB cuando se obtiene desde una URL pública; los datos REST en línea están además limitados por el campo de solicitud de 15,000,000 caracteres (aproximadamente 10.7 MiB de bytes base64 decodificados). Una solicitud que contenga video de artículo se rechaza con VIDEO_REQUIRES_SUBSTACK_ONLY si Medium, LinkedIn o X también están seleccionados, por lo que el video subido nunca se omite silenciosamente. La entrada de iframe de YouTube se normaliza antes de guardarse: se publica como una inserción nativa en línea en Substack y permanece visible como un enlace canónico en los destinos seleccionados que no pueden insertarlo. La entrada de iframe de Vimeo se conserva como un enlace canónico en cada destino seleccionado. Si el contenido estructurado guardado y el HTML no coinciden en el número o la identidad de sus videos, Narrareach devuelve CONTENT_OUT_OF_SYNC antes de publicar; vuelve a guardar el borrador y reintenta. La preparación del video puede continuar después de que se acepte una programación. Verifica el estado de la programación en lugar de enviar otro artículo. Una respuesta VIDEO_PROCESSING significa que el video aún no está listo. VIDEO_DISABLED con HTTP 503 significa que la publicación de video no está disponible temporalmente; reintenta después de que se restaure el servicio.

Las respuestas exitosas de creación y reprogramación de artículos pueden incluir una matriz advisories cuando una plataforma seleccionada está experimentando retrasos de publicación. Los avisos son informativos: la solicitud permanece aceptada, no se requiere confirmación y actionRequired es falso.

Para la creación de notas segura contra reintentos, envía un encabezado Idempotency-Key estable a POST /api/v1/notes. El campo de cuerpo idempotencyKey existente sigue siendo compatible y debe coincidir con el encabezado cuando ambos están presentes. Las nuevas respuestas de notas idempotentes incluyen un operationId; usa GET /api/v1/operations/:id con notes:read para inspeccionar el estado de recuperación después de un tiempo de espera.

Lee el estado de entrega actual con GET /api/v1/article-schedules/:id o GET /api/v1/notes/:id. Las respuestas de estado están limitadas por propiedad y nunca se almacenan en caché. Las integraciones pueden validar una credencial almacenada sin programar contenido a través de GET /api/v1/auth/check.

La actividad del lector está disponible a través de GET /api/v1/reader-activities con activity:read. Usa POST /api/v1/reader-activities/:id/replies para responder a un comentario propio y PATCH /api/v1/reader-activities/:id para mover un elemento entre Bandeja de entrada e Historial; ambos requieren activity:write. Las herramientas MCP correspondientes son list_reader_activities, reply_to_reader_activity y update_reader_activity.

Las notas de Threads pueden incluir un threadsTopicTag opcional a través de schedule_note o POST /api/v1/notes. Incluye THREADS en platforms. El tema está limitado a 50 caracteres y no puede contener puntos, signos & o saltos de línea; se almacena solo en el destino de Threads cuando una nota apunta a múltiples plataformas.

Las notas también pueden incluir un firstReply opcional a través de schedule_note o POST /api/v1/notes. Narrareach aplica las reglas de longitud de cada destino, incluidos los caracteres ponderados de X, e informa dónde se aceptó u omitió la respuesta. Una respuesta que no se puede usar nunca cancela la nota raíz.

Los límites de caracteres de notas son Bluesky 300, Threads 500, LinkedIn 3,000 y X 25,000 caracteres ponderados (publicados como un hilo); Substack y los otros destinos no tienen límites. Con schedule_note o POST /api/v1/notes, pasa platformVersions, como { "BLUESKY": "..." }, para proporcionar texto que se ajuste a una plataforma. Una versión que aún supera su límite se rechaza antes de que se programe cualquier cosa. Una plataforma sin versión recibe un corte automático en un límite de oración. Cada plataforma que publica texto diferente de la nota se lista en adjustedPlatforms con el texto exacto, y un corte automático también agrega una advertencia para transmitir al usuario.

Crear

POST /api/v1/articles crea o programa un borrador existente.

Mover

PATCH /api/v1/article-schedules/:id cambia el tiempo en cola.

Leer

GET /api/v1/article-schedules/:id devuelve el estado actual.

Cancelar

DELETE /api/v1/article-schedules/:id cancela un artículo en cola.

curl -X POST https://www.narrareach.com/api/v1/articles \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My full article",
    "subtitle": "Optional subtitle",
    "contentHtml": "<p>Free preview.</p>[[PAID_SECTION]]<p>Paid section.</p>",
    "platforms": ["SUBSTACK"],
    "publication": "@theainewsroom",
    "scheduledFor": "2026-12-01T14:00:00.000Z",
    "timezone": "America/New_York",
    "sendToNewsletter": true,
    "paywallMarker": "[[PAID_SECTION]]",
    "addSearchMetadata": true,
    "idempotencyKey": "article-2026-12-01-001"
  }'
curl \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  "https://www.narrareach.com/api/v1/linkedin/article-destinations"

# Then list newsletters for one returned author:
curl \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  "https://www.narrareach.com/api/v1/linkedin/article-destinations?authorUrn=urn%3Ali%3Afsd_company%3A110374957"
curl \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  "https://www.narrareach.com/api/v1/medium/publications"

Programar artículo de Medium a una publicación

curl -X POST https://www.narrareach.com/api/v1/articles \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My Medium story",
    "contentHtml": "<p>Full article body.</p>",
    "platforms": ["MEDIUM"],
    "mediumPublicationId": "the_id_from_list_medium_publications",
    "mediumNotifyFollowers": false,
    "scheduledFor": "2026-12-01T14:00:00.000Z",
    "timezone": "America/New_York"
  }'
curl -X POST https://www.narrareach.com/api/v1/articles \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Article with video",
    "contentHtml": "<p>Watch the walkthrough:</p>{{media:1}}",
    "media": [{
      "kind": "video",
      "sourceType": "url",
      "url": "https://cdn.example.com/walkthrough.mp4",
      "mimeType": "video/mp4",
      "fileName": "walkthrough.mp4"
    }],
    "platforms": ["SUBSTACK"],
    "publication": "@theainewsroom",
    "scheduledFor": "2026-07-01T14:00:00.000Z",
    "timezone": "America/New_York"
  }'
curl -X PATCH https://www.narrareach.com/api/v1/article-schedules/scheduled_post_id \
  -H "Authorization: Bearer $NARRAREACH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduledFor": "2026-07-02T14:00:00.000Z",
    "timezone": "America/New_York"
  }'

Programa artículos de Substack con la API de Narrareach

Usa la API de programación de artículos de Narrareach para publicar un artículo de boletín en un momento elegido, establecer su vista previa gratuita e incluir un botón de suscripción nativo. El mismo flujo de trabajo de publicación está disponible a través del conector MCP de Narrareach en ChatGPT o Claude. Estos son endpoints de Narrareach para tus publicaciones conectadas, no endpoints proporcionados por Substack.

Esta guía cubre artículos de formato largo. Para notas cortas de Substack, usa schedule_note o POST /api/v1/notes en su lugar. La configuración de acceso de un artículo de pago, su posición de muro de pago y su configuración de entrega por correo electrónico son decisiones separadas.

Antes de tu primera solicitud de artículo

  1. Conecta la publicación prevista en Narrareach y confirma que esté lista. El acceso a la API no conecta una cuenta automáticamente.
  2. Para REST, usa una cuenta con acceso a la API y un token de automatización con articles:write. Envíalo como Authorization: Bearer <token>. Mantenlo en tu servidor, nunca en código del lado del cliente o ejemplos compartidos.
  3. Para ChatGPT o Claude, usa el conector autorizado de Narrareach. No necesitas pegar un token de API en la conversación.
  4. Elige la publicación, un tiempo de publicación futuro y zona horaria, acceso del lector y si enviar correo electrónico. Confirma estas elecciones con el escritor antes de programar.

Envía publication como un nombre, identificador o URL de publicación conectada. Narrareach puede seleccionar una única publicación activa de Substack cuando se omite; cuando hay múltiples posibilidades, elige explícitamente. Enviarlo explícitamente es la opción más clara para automatizaciones repetibles. Consulta acceso al plan y la referencia de OpenAPI para los requisitos actuales del endpoint.

Vista previa gratuita, suscriptores de pago y correo electrónico del boletín

Artículo público

Usa isPaidContent: false sin un divisor de muro de pago. Agregar un botón de suscripción no hace que un artículo sea de pago.

Artículo de pago con vista previa gratuita

Coloca <hr data-type="paywall"> después de la parte gratuita. Narrareach trata un divisor explícito como acceso de pago, incluso si isPaidContent se omitió o es falso. Selecciona solo Substack para esta versión.

Audiencia de pago sin divisor personalizado

Usa isPaidContent: true. Esto selecciona acceso de pago; no elige un límite de vista previa personalizado por ti. Incluye un divisor cuando quieras un extracto gratuito específico.

Entrega por correo electrónico

sendToNewsletter tiene como valor predeterminado verdadero para un artículo nuevo. Establécelo en falso cuando quieras publicar sin enviar el correo electrónico del boletín. Agregar un muro de pago no cambia esa elección.

Un muro de pago de Substack no es un control de acceso portátil para LinkedIn, Medium o X. Crea un extracto público separado o un artículo público para esos destinos. No envíes texto protegido a otra plataforma asumiendo que el divisor de Substack lo protegerá allí.

Agrega un botón de suscripción con un título

Coloca este HTML donde el lector debería ver la invitación de suscripción. Usa tu propio título y escapa las comillas y otros caracteres especiales en los valores de atributos.

<div data-type="button" data-kind="subscribeCaption"
     data-text="Subscribe"
     data-caption="Get the complete guide and future editions."></div>

Para un botón sin título, usa data-kind="subscribe" y omite data-caption. Un enlace ordinario sigue siendo un enlace; una URL de suscripción acortada no se convierte automáticamente en un botón de suscripción nativo. Un botón y un muro de pago sirven para diferentes propósitos: uno invita a una suscripción, el otro establece dónde comienza el contenido de pago.

Ejemplo: programa un artículo de pago sin enviar correo electrónico

Envía este JSON a POST https://www.narrareach.com/api/v1/articles con tu encabezado de autorización y Content-Type: application/json. Reemplaza la publicación y la fecha de ejemplo. El Z de la marca de tiempo significa UTC: 14:00 UTC es 09:00 en Nueva York en esta fecha de ejemplo. También se acepta un desplazamiento UTC explícito; mantenlo consistente con tu zona horaria nombrada.

{
  "title": "A practical guide for newsletter writers",
  "contentHtml": "<p>This introduction is the free preview.</p><div data-type=\"button\" data-kind=\"subscribeCaption\" data-text=\"Subscribe\" data-caption=\"Get the complete guide and future editions.\"></div><hr data-type=\"paywall\"><p>This section is for paid subscribers.</p>",
  "platforms": [
    "SUBSTACK"
  ],
  "publication": "@your-publication",
  "scheduledFor": "2026-12-01T14:00:00Z",
  "timezone": "America/New_York",
  "isPaidContent": true,
  "sendToNewsletter": false,
  "idempotencyKey": "newsletter-guide-december-01"
}

Si tu sistema de contenido utiliza un marcador de posición personalizado, colócalo una vez en el texto del artículo en el límite previsto y proporciona la misma cadena como paywallMarker. Por ejemplo, [[PAID_SECTION]] en contentHtml con paywallMarker: "[[PAID_SECTION]]". No lo coloques en una URL ni en el texto de un botón. El HTML nativo de separador es la opción más directa.

Leer la respuesta de programación

Una solicitud recién aceptada devuelve HTTP 202. La siguiente es una respuesta ilustrativa; tus IDs, estado y fechas serán diferentes. Guarda tanto draftId como cada scheduled[].id. Un ID de programación identifica una entrega programada, no el borrador del artículo.

{
  "success": true,
  "mode": "schedule",
  "draftId": "draft_example",
  "article": {
    "id": "draft_example",
    "title": "A practical guide for newsletter writers",
    "status": "SCHEDULED"
  },
  "scheduled": [
    {
      "id": "schedule_example",
      "platforms": [
        "SUBSTACK"
      ],
      "status": "PENDING",
      "scheduledFor": "2026-12-01T14:00:00.000Z",
      "timezone": "America/New_York",
      "publishedAt": null,
      "error": null
    }
  ],
  "idempotencyKey": "newsletter-guide-december-01"
}

La aceptación no es prueba de publicación. El resumen del artículo dice SCHEDULED, mientras que una entrega recién puesta en cola comienza como PENDING. Lee GET /api/v1/article-schedules/:id usando el ID de programación devuelto para verificar el estado de la entrega. Estos endpoints de programación de artículos usan articles:write. Muestra warnings o advisories informativos cuando estén presentes, pero no trates un aviso por sí solo como un fallo.

Programar un borrador existente, reprogramar o cancelar

Para programar un artículo guardado, envía draftId en lugar de los campos de título y cuerpo nuevos. Esto programa su contenido guardado y la configuración de audiencia; no es una operación de edición. Revisa o actualiza el borrador primero si esa configuración debe cambiar. No proporciones paywallMarker con un borrador existente.

{
  "draftId": "draft_example",
  "platforms": [
    "SUBSTACK"
  ],
  "publication": "@your-publication",
  "scheduledFor": "2026-12-02T14:00:00Z",
  "timezone": "America/New_York",
  "idempotencyKey": "existing-draft-december-02"
}

Para mover una programación existente, usa PATCH /api/v1/article-schedules/:id con scheduledFor y, opcionalmente, timezone. No crees otra programación solo para cambiar la hora. Para cancelar una entrega en cola, usa DELETE /api/v1/article-schedules/:id. La cancelación no es una forma de retractar un artículo ya publicado; lee el estado actual antes de actuar.

Programar un boletín de Substack desde ChatGPT o Claude

Con el conector de Narrareach habilitado, describe el resultado que deseas en lenguaje ordinario. No necesitas escribir HTML. Por ejemplo:

Programa mi artículo aprobado en @tu-publicación el 1 de diciembre a las 9 a.m., hora de Nueva York. Mantén la introducción gratuita y coloca el muro de pago antes de "La guía completa". Agrega un botón de suscripción justo antes del muro de pago con el texto "Obtén la guía completa y futuras ediciones". Publícalo sin enviar un correo electrónico. Confirma la publicación y estas opciones antes de programar.

La herramienta correspondiente es schedule_article. Utiliza los mismos campos de título, contenido HTML, destino, programación y audiencia; el campo idempotencyKey de REST y el sobre de respuesta REST no son argumentos de la herramienta MCP. Si el límite previsto no está claro, el asistente debe preguntar qué párrafo termina la vista previa gratuita. Una ubicación clara no debería requerir otra pregunta de formato. Después de programar, conserva el resultado devuelto y usa list_scheduled_posts, reschedule_scheduled_item o cancel_scheduled_item para gestionarlo.

Manejar errores y reintentos sin artículos duplicados

Para la creación de artículos REST, envía un idempotencyKey estable en el cuerpo JSON. Después de un tiempo de espera, verifica la cola y reintenta el mismo cuerpo con la misma clave en lugar de crear inmediatamente una nueva solicitud. Una reproducción exitosa puede devolver HTTP 200. Si cambias intencionalmente la solicitud, primero verifica si la programación anterior existe; luego usa una nueva clave para la nueva operación. Este contrato de artículo es independiente del encabezado de idempotencia de Notes.

Para respuestas no exitosas, lee error.code, error.message, error.resolution y cualquier error.details. Mantén las instrucciones de recuperación útiles visibles para el escritor.

400 · INVALID_PAYWALL_MARKER

Confirma un límite de vista previa gratuita. Elimina posiciones conflictivas o elige una versión pública separada para otra plataforma; no reintentes contenido sin cambios.

400 · SUBSTACK_PUBLICATION_REQUIRED / SUBSTACK_PUBLICATION_AMBIGUOUS

Proporciona el nombre, identificador o URL exacto de la publicación conectada. No elijas una publicación en nombre del escritor.

400 · VALIDATION_ERROR / INVALID_MEDIA

Verifica los campos identificados por la respuesta, tu hora de publicación futura y los requisitos de medios en la referencia.

409 · PLATFORM_NOT_READY / PLATFORM_SESSION_REFRESH_REQUIRED

Vuelve a conectar la plataforma nombrada en Narrareach. Si la respuesta incluye un draftId guardado, consérvalo y programa ese borrador después de reconectar.

409 · CONTENT_OUT_OF_SYNC

Abre y guarda el artículo en su editor, verifica la vista previa y luego intenta programar nuevamente.

409 · IDEMPOTENCY_IN_PROGRESS

Espera y verifica la cola. No cambies de clave solo para omitir una solicitud en curso.

409 · IDEMPOTENCY_CONFLICT

Esa clave pertenece a un contenido de solicitud diferente. Verifica el resultado anterior antes de enviar una solicitud intencionalmente diferente con una nueva clave.

Los errores de autenticación y acceso requieren un token válido, el alcance requerido y una cuenta elegible. Para límites de velocidad o errores temporales de servicio, sigue las instrucciones de reintento devueltas; no vuelvas a enviar continuamente. Nunca envíes tokens, cuerpos de artículos no publicados ni credenciales de cuenta en una captura de pantalla de soporte.

Siguiente: revisa los ejemplos de endpoints REST, conecta ChatGPT o consulta los esquemas completos de solicitud.

Acceso

Plan y límites de velocidad

Los planes de pago incluyen acceso MCP, programación con capacidad de imágenes y análisis. El Modo Agente Completo incluye flujos de trabajo de API REST y webhooks para integraciones directas de servidor a servidor.

Límite MCP

Cada usuario recibe 120 unidades de solicitud MCP por cada 10 minutos. Un lote JSON-RPC consume una unidad por elemento del lote.

Programación masiva

Esto permite una ejecución masiva de Notes de 62 elementos más llamadas de configuración y estado. Para lotes con muchas imágenes, mantén habilitado el comportamiento normal de reintento/retroceso del cliente.

Solución de problemas

Problemas comunes de conexión

Discrepancia de URI de redirección

Confirma que el registro dinámico de clientes esté habilitado. Los clientes registrados dinámicamente proporcionan su callback durante el registro. Para un cliente pre-registrado manualmente, agrega solo la URI de callback exacta proporcionada por ese cliente a nivel del proveedor.

Falta el alcance openid

ChatGPT solicita openid durante la autorización. Si la aplicación OAuth de Clerk solo permite perfil/email, agrega openid (y generalmente offline_access) en ese cliente OAuth.

La verificación OAuth falla

Si los registros del servidor mencionan un formato JWT no válido, el endpoint está intentando analizar una credencial OAuth opaca de Clerk como un JWT. Valídala a través del flujo consciente de OAuth de Clerk en su lugar.

Localhost no funciona en clientes alojados

Claude, ChatGPT y Gemini requieren HTTPS para conectores remotos. Usa la URL de producción o expón el desarrollo local a través de un túnel HTTPS.