En esta página

Documentación para desarrolladores / MCP

Un lugar para hablar con tu agente.

Conecta un cliente MCP a Pushyou. Envía solicitudes, lee respuestas y comunica resultados en la misma conversación.

Configurar tu conexión

01Antes de empezar

Crea una cuenta y una conversación en la app de pruebas internas de Pushyou a la que te invitaron. El acceso web requiere aprobar un QR en esa app. La guía de conexión permite elegir la conversación y comprobar la entrega.

Con OAuth eliges las conversaciones y permisos durante la aprobación; no necesitas otra clave API. Las claves de programa son una alternativa en Ajustes → Conexiones. Crear una conversación requiere acceso a todas las salas y conversations:write.

02Autenticación

El servidor usa Streamable HTTP. Con OAuth, el cliente abre un flujo de aprobación; confirma las conversaciones y permisos en Pushyou. Una clave de programa aplica los mismos controles. Mantén separadas las configuraciones OAuth y Bearer.

Servidor MCP remoto
https://pushyou.app/mcp
Elige tu cliente
Autenticación

Añade el servidor a ~/.codex/config.toml y ejecuta codex mcp login pushyou. Elimina la configuración Bearer existente para usar OAuth. También puedes usar el control de autenticación MCP de la aplicación o del IDE.

Configuración MCP
[mcp_servers.pushyou]
url = "https://pushyou.app/mcp"

03Comprueba un intercambio real

Empieza por pushyou_get_account y pushyou_list_conversations. Confirma la cuenta, los permisos y la sala antes de enviar. Sustituye YOUR_CONVERSATION_ID. Los ejemplos son argumentos de herramientas MCP, no cuerpos REST.

pushyou_get_account
{}
pushyou_list_conversations
{
  "limit": 20
}
pushyou_send_message
{
  "conversation_id": "YOUR_CONVERSATION_ID",
  "id": "docs-mcp-message-01",
  "text": "Pushyou connection verified.",
  "notify": true
}

Responde en Pushyou y llama una vez a pushyou_get_events. Revisa events y next_cursor. Una llamada correcta no demuestra que el dispositivo recibiera una notificación. Conectar MCP tampoco mantiene al agente activo en segundo plano.

pushyou_get_events
{
  "conversation_id": "YOUR_CONVERSATION_ID",
  "after": 0
}

Las listas MCP usan limit (1–50, 20 por defecto) y before. Los eventos usan after. Las listas de mensajes resumen las tarjetas; pushyou_get_message devuelve el contenido completo. Usa pushyou_get_media para fotos originales o rangos de bytes de archivos grandes.

04Respuestas y ejecución

Responde en la app y consulta los eventos. Tras procesar realmente una respuesta o acción ordinaria, guarda el resultado, envía su ACK y conserva next_cursor en almacenamiento persistente. El ACK no elimina el evento ni concede ejecución exclusiva. Usa un único programa de respuesta por sala o coordina los consumidores.

Las tareas reúnen aprobación y resultado. Tras la aprobación del propietario, un proceso consulta eventos con task_protocol=1, guarda su token de ejecución y reclama el intento. Mantiene la concesión con heartbeat y guarda el resultado real antes de complete. Completar también confirma el evento; un ACK independiente no termina una tarea pendiente.

Campos, reclamaciones y resultados de tareas (inglés)

Response receiver

Para respuestas continuas, ejecuta el receptor en Node 22 o posterior con una clave REST. Guarda los resultados antes de enviar y confirmar. Mantén el proceso activo: no funciona con el ordenador suspendido. Su modo Codex inicia una sesión dedicada; no se conecta a un chat existente.

Webhooks

También hay webhooks de respuesta firmados. Configúralos en los ajustes de Webhooks de respuesta de la app móvil. Verifica la firma del cuerpo original y evita duplicados por ID de entrega. HTTP 2xx confirma recepción, no finalización de la tarea. La guía de flujos detalla firmas y reintentos.

05Archivos y vistas

En MCP, llama a pushyou_prepare_media_upload con media_id, filename, content_type, tamaño en bytes y SHA-256. Envía los bytes originales mediante POST a upload.url, con los encabezados específicos devueltos, en cinco minutos. Después envía attachment_ids. REST ofrece la misma preparación. No sustituyas la autorización de carga por una clave de cuenta o token OAuth MCP.

Usa pushyou_set_view con una tarjeta report, actions o html para publicar una vista opcional. Envía view como null para retirarla. Se abre desde su conversación. El HTML no accede a redes externas, credenciales de la app ni almacenamiento del navegador; las acciones declaradas generan eventos en la misma sala.

Card / Field
Estructura de la solicitud
Card =
  { type: "report", title: string, items: { title: string, body?: string, label?: string }[] }
| { type: "actions", title: string, body?: string, actions: { id: ID, label: string }[] }
| { type: "html", title: string, html: string, height?: integer, actions?: { id: ID, label: string }[] }

Field = { id: ID, label: string, type: "text" | "multiline" | "number" | "date" | "select" | "checkbox", required?: boolean, options?: string[], min?: number, max?: number }

06Referencia de herramientas

Estas son las herramientas del servidor. La respuesta autenticada de tools/list incluye solo las permitidas para tu conexión, con sus esquemas de entrada actuales. Se comprueba el acceso a la sala en cada llamada.

pushyou_get_accountLectura

Comprobar cuenta conectada

Comprueba la cuenta y los permisos de esta conexión.

pushyou_list_conversationsLectura

Listar conversaciones

Consulta tus conversaciones por páginas.

pushyou_create_conversationEscritura

Crear conversación

Crea una conversación con nombre e ID. Todas las conversaciones admiten todas las funciones.

pushyou_get_conversationLectura

Obtener conversación

Consulta el nombre, la descripción y el estado de recepción de la conversación.

pushyou_update_conversationEscritura

Actualizar conversación

Cambia el nombre o la descripción y pausa o reanuda la recepción.

pushyou_send_messageEscritura

Enviar mensaje

Envía texto, tarjetas y adjuntos subidos, con notificaciones opcionales.

pushyou_list_messagesLectura

Leer conversación

Lee mensajes entrantes y respuestas de la aplicación. Las tarjetas se resumen.

pushyou_get_messageLectura

Obtener mensaje

Lee el contenido completo y la tarjeta de un mensaje.

pushyou_get_mediaLectura

Leer medios originales

Lee fotos originales en conversaciones permitidas. Obtén vídeos y archivos grandes por rangos de bytes.

pushyou_prepare_media_uploadEscritura

Preparar carga de medios

Prepara una carga temporal de una foto o vídeo con los permisos de esta conexión. Adjúntalo después de subirlo.

pushyou_get_eventsLectura

Obtener respuestas del usuario

Lee respuestas y acciones de botón posteriores a la última secuencia.

pushyou_ack_eventEscritura

Confirmar una respuesta

Marca una respuesta como procesada después de terminar el trabajo real.

pushyou_get_viewLectura

Obtener vista de conversación

Lee la vista completa publicada en una conversación.

pushyou_set_viewEscritura

Publicar vista de conversación

Publica, sustituye o elimina informes, botones y vistas HTML en una conversación.

pushyou_list_historyLectura

Obtener historial

Consulta por páginas el historial recibido, de acciones y guardado de tu cuenta.

pushyou_create_taskEscritura

Solicitar aprobación de tarea

Sigue la aprobación y los resultados de ejecución en una misma tarea.

pushyou_get_taskLectura

Obtener estado de tarea

Consulta el estado, intento, datos y resultado actuales.

pushyou_claim_taskEscritura

Reclamar ejecución de tarea

Solo puede ejecutar el intento aprobado el programa que lo reserve.

pushyou_heartbeat_taskEscritura

Mantener la reserva de ejecución

Renueva el plazo de la reserva de ejecución actual.

pushyou_complete_taskEscritura

Informar del resultado de la tarea

Registra el resultado real y confirma el evento correspondiente.

pushyou_list_actionsLectura

Listar acciones de conversación

Consulta los formularios de ejecución registrados en la conversación.

pushyou_set_actionEscritura

Publicar acción de conversación

Publica formularios de conversación para que el usuario los envíe.

pushyou_get_task_versionsLectura

Consultar versiones de la solicitud

Consulta las versiones anteriores de la misma solicitud.

pushyou_revise_taskEscritura

Actualizar solicitud

Envía una solicitud actualizada para que la apruebe su propietario.

07Solución de problemas

Los errores REST devuelven un estado distinto de 2xx y {"error": "…"}. El cliente muestra los errores MCP; revisa el error estructurado y los permisos de la conexión.

400Comprueba IDs, campos obligatorios, tipos, cursor y tamaño de la solicitud.
401Vuelve a autenticarte o comprueba si la clave caducó, se renovó o se revocó.
403Comprueba permisos, salas autorizadas y si la conversación está pausada.
404Comprueba el ID y la base del endpoint. /mcp es un endpoint de protocolo, no una página web.
409Revisa el conflicto: ID reutilizado con otro contenido, revisión antigua, reclamación de tarea o archivo ya adjunto. No repitas trabajo externo sin comprobarlo.
410La conversación se está eliminando o el recurso ya no está disponible. Comprueba su estado.
413Reduce el cuerpo JSON o el archivo y comprueba los límites de carga.
415Usa un formato de imagen o vídeo compatible con bytes válidos.
416Comprueba que el rango de bytes solicitado esté dentro del archivo.
429Espacia las solicitudes si alcanzaste el límite. Si falta espacio para medios, elimina archivos sin adjuntar antes de reintentar. Se permiten 60 mensajes nuevos por minuto y sala.
500Reintenta fallos temporales con espera progresiva e IDs estables. Si el trabajo externo pudo ejecutarse, comprueba el resultado antes de repetirlo.

¿Listo para conectar tu conversación?

Elige la sala, aprueba el acceso y comprueba el primer mensaje y su respuesta en la guía.

Configurar tu conexión