Mermail

Bandejas de entrada de correo electrónico con prioridad en la privacidad para agentes de IA. Lea, busque, redacte, envíe y clasifique correos a través de Streamable HTTP MCP.

Documentación

MCP

Conecta asistentes de IA a Mermail mediante Streamable HTTP MCP con OAuth o una clave de API.

Mermail expone un servidor Model Context Protocol que envuelve la API HTTP vendida. Los asistentes llaman a los mismos endpoints con ámbito de workspace que los clientes autenticados, incluidos uso, workspaces, buzones, correo electrónico, conversaciones de agentes y triaje de tareas.

Endpoint

ElementoValor
URL predeterminada del catálogo completohttps://console.mermail.app/mcp
URL recomendada para bandeja de entrada de agentehttps://console.mermail.app/mcp?profile=agent-inbox
TransporteStreamable HTTP (JSON-RPC sobre POST)
AutenticaciónOAuth 2.1 Bearer (interactivo) o x-api-key: sk-proj-… (automatización)
Alternativa de cabecerax-mermail-tool-profile: agent-inbox
MétodosEl tráfico de herramientas usa POST. GET no autenticado puede devolver el desafío de descubrimiento OAuth; GET y DELETE autenticados devuelven 405.

El servidor es sin estado: no hay suscripción SSE de larga duración. Una respuesta POST negociada puede usar application/json o text/event-stream, por lo que los clientes deben aceptar ambas mientras tratan cada solicitud como sin estado. La URL original /mcp no cambia y continúa exponiendo el catálogo completo.

Autenticación

OAuth (paridad con navegador)

Los clientes MCP que admiten OAuth descubren Mermail mediante metadatos de recurso protegido, abren la página de autorización de la consola y reciben un token de acceso Bearer después de que el usuario inicie sesión con Enoki (igual que en la aplicación web) y elija un workspace. La interfaz de consentimiento muestra un nombre de cliente amigable (por ejemplo, ChatGPT o Cursor), no el id opaco mcp_client_….

ElementoValor
PRMhttps://console.mermail.app/.well-known/oauth-protected-resource
Metadatos AShttps://console.mermail.app/.well-known/oauth-authorization-server
Ámbitosmcp:tools, openid, offline_access

Las llamadas no autenticadas devuelven 401 con un desafío WWW-Authenticate que apunta al documento PRM.

Acceso a Agent Wallet

Las herramientas de PayBox aparecen solo en la sesión OAuth predeterminada de perfil completo. Los catálogos de clave de API y el perfil agent-inbox nunca las incluyen. Un miembro actual del workspace puede usar paybox_* en vivo visible para el modelo a través de la conexión activa del propietario del workspace; la gestión de conexiones y las herramientas de compatibilidad heredadas de Agent Wallet siguen siendo solo para el propietario.

ÁmbitoPropósito
mcp:toolsAcceso principal a las herramientas de Mermail. En el perfil completo, esto puede exponer herramientas de PayBox en vivo a los miembros actuales del workspace a través de la conexión activa del propietario.
wallet:read, wallet:transactEtiquetas de compatibilidad heredadas únicamente. No son necesarias para la visibilidad de la wallet y no reemplazan a mcp:tools.

Conéctate al endpoint predeterminado /mcp con OAuth y selecciona el workspace previsto. Siempre tools/call get_paybox_connection una vez como primera acción de PayBox. No esperes a que aparezca en tools/list; la ausencia de una lista del host no significa "no expuesto". Después de una sonda usable/ACTIVE, continúa incluso si la primera lista omitió paybox_*. Reconecta Mermail MCP solo después de que esa llamada devuelva herramienta desconocida, método no encontrado o un fallo grave. Los propietarios pueden recibir connect_handoff o reauth_handoff y abrir ese console_url de Mermail Agent Wallet; los miembros en su lugar reciben OWNER_ACTION_REQUIRED cuando la conexión compartida necesita reparación, sin traspaso. En ese caso, el propietario debe conectar o reautorizar PayBox dentro de Mermail. No agregues ámbitos de wallet heredados, cambies identidades, construyas una URL ni reconectes la configuración de conectores de Claude, ChatGPT o Codex para autorizar PayBox.

Las herramientas de PayBox no usan el flujo prepare_destructive_action de Mermail. PayBox es la autoridad para delegación, concesiones permanentes, aprobación y firma. Una concesión permanente puede permitir una operación sin un clic nuevo; cuando se necesita interacción, la MCP App de PayBox la gestiona. Pendiente, SUBMISSION_UNKNOWN y paybox_continuation_origin_not_found no son éxito.

Herramientas de PayBox en vivo y UI

Mermail retransmite el catálogo en vivo de herramientas y MCP App de PayBox en lugar de mantener una lista de permitidos revisada de nombres de herramientas o hashes de esquema. Las herramientas visibles para el modelo usan paybox_<upstream-name>; los alias solo de app mantienen el nombre y la visibilidad exactos del upstream. Por lo tanto, nuevas herramientas válidas y cambios de esquema pueden aparecer sin una versión de Mermail.

Los hosts compatibles renderizan la interfaz ui:// anunciada por PayBox en línea para firmar y otros pasos interactivos. Si el host no puede renderizar MCP Apps, Mermail devuelve un traspaso de navegador autenticado. Mermail no muestra su propio mensaje de Aprobar/Rechazar para ninguna de las dos vías. El host aún puede solicitar o bloquear una operación financiera bajo su propia política, y Mermail no puede eludir esa decisión.

Los datos comerciales no secretos de PayBox están disponibles para el modelo y la UI. Los tokens OAuth o bearer, claves privadas y semillas, credenciales de tarjetas, cargas útiles firmadas sin procesar y URL de aprobación secretas están excluidos del contexto del modelo, la persistencia, los registros y los errores. Las llamadas solo de app pueden recibir estado de firma efímero dentro de la interfaz aislada de PayBox sin exponerlo al modelo.

Clave de API (automatización / CLI)

  1. Crea una clave de API de workspace en Configuración → Claves de API. Consulta Autenticación.
  2. Envíala en cada POST de MCP como x-api-key.
  3. Las sesiones de cookie / consola por sí solas son rechazadas para MCP.

Ambos modos de autenticación limitan las herramientas a un workspace y consumen las RPM y créditos de API de ese workspace.

Descubre el servidor

curl -sS https://console.mermail.app/.well-known/mcp/server-card.json | jq .

La tarjeta incluye transporte Streamable HTTP, autenticación OAuth 2.1 y clave de API opcional, serverInfo.description, iconos en https://console.mermail.app/brand/icon-primary.png y la lista completa de herramientas.

Registro MCP oficial

Mermail está publicado como app.mermail/mcp en el Registro MCP oficial. Los clientes y agregadores (PulseMCP, Smithery, Glama y otros) descubren servidores remotos Streamable HTTP desde ese feed.

ElementoValor
Nombre del registroapp.mermail/mcp
Sitio webmermail.app/agents
Prueba de propiedadhttps://mermail.app/.well-known/mcp-registry-auth

Consejo

Prefiere la URL y la lista de herramientas de la tarjeta del servidor en vivo para tu host. No fijes un host si implementas en un dominio personalizado.

Conecta un asistente

Usa la guía interactiva en mermail.app/agents para pasos específicos del host.

HostAutenticación
Cursor y ClaudeOAuth — agrega la URL alojada cuando los conectores personalizados estén disponibles en el workspace. Para verificación centrada en buzón, conéctate a https://console.mermail.app/mcp?profile=agent-inbox; usa /mcp cuando la tarea necesite el catálogo completo
App MCP personalizada de ChatGPTOAuth — habilita los controles de desarrollador y crea Mermail cuando las apps personalizadas estén disponibles en el workspace
CodexOAuthcodex mcp add mermail --url https://console.mermail.app/mcp, luego codex mcp login mermail
OpenClawOAuthopenclaw mcp add mermail --url https://console.mermail.app/mcp --transport streamable-http --auth oauth, luego openclaw mcp login mermail
Directorio de plugins de ChatGPT / Codex (cuando se publique)Apps OAuth conectadas + Skills (estilo Linear)
Hermes AgentOAuth — agrega url + auth: oauth bajo mcp_servers en ~/.hermes/config.yaml, luego hermes mcp login mermail desde una terminal nueva. En un host remoto/sin cabeza, abre la URL impresa localmente y pega la URL de redirección final de nuevo en el mensaje de inicio de sesión
CLI, trabajos sin cabeza y alternativas de paquetes/pluginsClave de API — Streamable HTTP + x-api-key; PayBox no está disponible

Ejemplo con clave de API:

{
  "mcpServers": {
    "mermail": {
      "url": "https://console.mermail.app/mcp",
      "headers": {
        "x-api-key": "sk-proj-YOUR_KEY"
      }
    }
  }
}

Las claves de configuración exactas varían según el host. Las partes importantes son la URL /mcp seleccionada y el transporte Streamable HTTP, no SSE.

Para flujos de trabajo empaquetados, instala Mermail Skills (npx --yes skills add Nudgen-Marketing/mermail-skills) o conéctate mediante el id de registro app.mermail/mcp cuando tu host admita la instalación desde el Registro oficial.

Perfil de bandeja de entrada de agente con privilegios mínimos

Los clientes alojados comúnmente aceptan una URL de servidor pero no cabeceras personalizadas fijas. Para esos clientes, selecciona el perfil aditivo en la URL:

{
  "mcpServers": {
    "mermail-agent-inbox": {
      "url": "https://console.mermail.app/mcp?profile=agent-inbox",
      "headers": {
        "x-api-key": "sk-proj-YOUR_KEY"
      }
    }
  }
}

Si el cliente admite cabeceras fijas, la alternativa compatible hacia atrás es la URL original /mcp más x-mermail-tool-profile: agent-inbox en cada POST sin estado. Ambos selectores exponen solo:

get_api_credit_usage
list_workspaces
get_workspace
list_email_domains
list_workspace_mailboxes
list_mailboxes
create_mailbox
get_mailbox
list_emails
search_emails
get_email
get_email_context

Expone una escritura de aprovisionamiento con ámbito, create_mailbox, más lecturas seguras de buzón y correo electrónico. No expone envío, cuentas conectadas, chat de agente, mutación administrativa, herramientas destructivas ni de wallet. El perfil completo de herramientas sigue siendo el predeterminado cuando ni la URL ni la cabecera seleccionan un perfil, preservando los clientes /mcp existentes. Un perfil no vacío desconocido, o valores conflictivos de URL y cabecera, devuelve 400 con invalid_mcp_tool_profile. Use este perfil enfocado para descubrimiento de buzones, aprovisionamiento opcional, monitoreo de verificación, lectura de mensajes y contexto de hilo sanitizado y acotado. No use create_mailbox como prueba de conexión. El perfil no expone send_email, reply_to_email, forward_email, borradores ni envíos programados. Conecte un flujo de envío explícitamente autorizado al catálogo /mcp predeterminado en lugar de cambiar silenciosamente la URL del perfil.

El perfil reduce el catálogo MCP de Mermail; no elimina el navegador, shell, pago u otras herramientas proporcionadas por separado por el host.

Cómo se asignan las herramientas a la API

Cada envoltorio de la API de Sold se asigna a una operación de la API de Sold. Las herramientas de PayBox se asignan a la operación correspondiente en el catálogo en vivo de PayBox:

ArgumentoUso
Parámetros de rutaCadenas de nivel superior (mailboxId, workspaceId, …) que coinciden con la ruta de OpenAPI. mailboxId acepta public_id (UUID), alias de ID alojado o correo electrónico actual — prefiera public_id de list_mailboxes.
queryObjeto opcional de valores de cadena de consulta
bodyCuerpo JSON opcional para POST / PUT / PATCH
idempotencyKeyOpcional; se envía como Idempotency-Key
confirmationTokenRequerido en herramientas destructivas de buzón, espacio de trabajo y administrativas de Mermail (ver más abajo); nunca usado por herramientas paybox_*

Nombres de herramientas y espacios de nombres del host

Mermail anuncia nombres de protocolo MCP simples como list_emails, search_emails y get_email. Un host puede calificar esos nombres en su interfaz o contexto de agente. Por ejemplo, Claude puede mostrar Mermail:list_emails, mientras que otro cliente puede usar un formato de espacio de nombres diferente.

El espacio de nombres pertenece al host, no al contrato MCP de Mermail. Un cliente MCP personalizado debe usar el nombre exacto devuelto por tools/list — por ejemplo, tools/call.params.name: "list_emails". No reescriba el nombre de la herramienta del servidor a Mermail:list_emails ni agregue alias específicos del host. En un asistente alojado, use la referencia calificada exacta mostrada por ese host y deje que su puente MCP la asigne de vuelta al nombre de protocolo simple.

Mermail está dirigido a clientes MCP HTTP Streamable compatibles con estándares. La carga de herramientas, los espacios de nombres, los controles de caché y el soporte de Agent Skills siguen siendo capacidades del cliente, por lo que el comportamiento puede variar según el host y la versión.

Argumentos nativos list_emails

Pase query como un objeto JSON nativo. No pase una cadena JSON escapada. Use los campos canónicos sortColumn y sortDirection en lugar de un valor combinado sort:

{
  "mailboxId": "MAILBOX_PUBLIC_ID_OR_EMAIL",
  "query": {
    "folder": "inbox",
    "limit": 10,
    "sortColumn": "date",
    "sortDirection": "DESC",
    "metadata_only": true
  }
}

Para el perfil agent-inbox, Mermail además aplica metadata_only=true, require_scan_status=clean y agent_safe_content=true en operaciones de listado. Los llamadores deben enviar igualmente un objeto con esquema correcto para que la misma solicitud siga siendo portátil entre clientes MCP y perfiles.

Anide los campos de la API de Sold bajo el argumento MCP body. Si los agentes pasan campos de Sold planos en el nivel superior (to, subject, text, …), Mermail los pliega en body.

create_mailbox requiere body.email y body.name. body.workspaceId es opcional cuando la concesión OAuth o la clave de API ya vinculan MCP a un espacio de trabajo. Si lo proporciona, debe coincidir con ese alcance de credencial. Una creación exitosa consume 10 créditos de aprovisionamiento; esos son créditos de API del espacio de trabajo, no un pago $10. Pase idempotencyKey para un intento de creación repetido con intención idéntica. No es prueba de ejecución empresarial exactamente una vez. Después de un conflicto o respuesta incierta, liste los buzones y resuelva la dirección normalizada exacta antes de decidir si reintentar. Las solicitudes autenticadas que llevan una clave de idempotencia tienen un límite de cuerpo de huella de solicitud de 50 MiB; un cuerpo sobredimensionado falla antes de que la operación se ejecute con 413 idempotency_payload_too_large.

Para un buzón solo de verificación, incluya:

{
  "settings": {
    "agentInbox": {
      "mode": "verification",
      "automationsEnabled": false
    }
  }
}

El modo de verificación requiere implícitamente un escaneo limpio antes de que la clasificación entrante respaldada por modelos o la automatización puedan ejecutarse. Un buzón estándar puede optar por esa puerta con agentInbox.requireCleanScanForAutomation: true. Cuando el escaneo se omite o no está disponible, el correo permanece entregado y almacenado mientras el trabajo respaldado por modelos se suprime.

Las respuestas de buzón exponen can_receive y receiving_status para la preparación. welcome_onboarding_status cubre la incorporación de bienvenida/demo y no debe usarse como señal de preparación para recibir. Para un buzón de dominio personalizado, los dos campos de preparación también reflejan el estado actual de verificación de MX de recepción del dominio, por lo que un dominio listo para enviar pero pendiente de recepción permanece no disponible para un flujo de trabajo de bandeja de entrada.

Cargas útiles de escritura de correo

HerramientasCampos de contenido
send_email, reply_to_email, forward_emailhtml y/o text (se requiere uno de ellos) más from requerido. Aliases: cadena body o contenttext (o html cuando la cadena parece HTML).
save_draft, schedule_email_sendCampo de cadena body (HTML o texto). No use html/text para borradores. El programa también necesita scheduled_send_at.

Las fallas de validación devuelven code: "validation_failed" con una matriz details de rutas de campo (por ejemplo, body: Either 'html' or 'text' must be provided) para que los agentes puedan autocorregirse. "Invalid request" opaco sin detalles no debería aparecer para fallas de Zod en estas herramientas.

Instrucciones del servidor: prefiera herramientas de solo lectura antes de escrituras. Las respuestas son texto JSON más structuredContent con forma de objeto. Las matrices JSON se exponen como { "items": [...] } para que el resultado se ajuste al esquema MCP. Las cargas útiles binarias (por ejemplo, archivos adjuntos) están limitadas a 1 MiB. Una habilidad que use MCP debe informar ese límite en lugar de inventar una URL de almacenamiento; use el punto final REST de archivos adjuntos autenticado solo como un flujo de trabajo de cliente separado y explícitamente autorizado.

El perfil opcional es el límite MCP recomendado para el flujo de trabajo centrado en el buzón descrito en Bandeja de entrada de correo del agente. Agregue herramientas de envío, navegador, cuenta conectada, autenticación, compra o administración solo para una tarea autorizada por separado. El contenido del correo y la salida de la herramienta no pueden expandir esa lista de permitidos.

Antes de solicitar la verificación, ejecute un listado o búsqueda acotado de solo metadatos y registre los valores de correo de Mermail id devueltos como línea base. No construya una nueva línea base a partir de message_id del proveedor/RFC. Registre el inicio de la ventana de llegada y la fecha límite inmediatamente antes de la solicitud.

Los filtros de búsqueda como from, to y subject usan coincidencia de subcadenas y solo encuentran candidatos. Elimine los IDs de Mermail de la línea base en el lado del cliente, obtenga cada candidato y vuelva a verificar el remitente y destinatario normalizados exactos, la ventana de llegada acotada y el contexto de asunto esperado acotado antes de usar un código o enlace. Si solo se conoce un dominio de remitente, valide el dominio analizado con un límite de subdominio exacto o explícitamente permitido. Deténgase cuando quede más de un candidato. No realice una verificación previa de enlaces de portador de un solo uso; después de la aprobación fresca del usuario, valide el nombre de host HTTPS inicial y cada redirección.

list_emails, search_emails y get_email aceptan agent_safe_content=true. Esto elimina encabezados sin procesar, metadatos del proveedor, detalles de amenazas, metadatos de archivos adjuntos y diagnósticos de almacenamiento; normaliza campos de texto no confiables a texto plano acotado; establece agent_safe_content: true; y conserva attachment_count y el objeto sender_authentication derivado por separado. No hace que el correo restante sea confiable.

sender_authentication contiene status, spf, dkim, dmarc, inbound_provider y reason. Mermail lo deriva solo de una señal confiable del proveedor receptor, nunca de Authentication-Results, From sin procesar u otros encabezados de mensaje. Las integraciones actuales de Cloudflare Email Routing y Resend no exponen un veredicto documentado por mensaje, por lo que estos veredictos actualmente son unknown. unknown no es un pase, y inbound_provider registra la fuente de transporte en lugar de autenticar al remitente. Incluso un futuro status: "pass" autenticaría solo la identidad; no autorizaría una acción de agente ni satisfaría la confirmación del usuario.

Las tres lecturas también aceptan metadata_only=true. list_emails y get_email ahora aceptan require_scan_status; la búsqueda ya lo admite. Una obtención cuyo estado almacenado no coincide devuelve metadatos seguros con content_omitted: true, mientras que listar/buscar excluyen mensajes que no coinciden. get_email además acepta un max_body_chars positivo; cuando acorta el cuerpo, la respuesta establece content_truncated: true y body_original_char_count. El mensaje almacenado no cambia, y el límite efectivo del servidor es de 100,000 caracteres.

El perfil MCP de bandeja de entrada del agente aplica proyecciones más estrictas mecánicamente: list_emails y search_emails fuerzan metadata_only=true, require_scan_status=clean y agent_safe_content=true; get_email fuerza require_scan_status=clean, agent_safe_content=true y max_body_chars=12000. Estas puertas anulan valores de llamada más débiles solo dentro del perfil opcional. El catálogo /mcp predeterminado y la API directa de Sold mantienen sus predeterminados de respuesta completa existentes. El perfil también limita un resultado de herramienta JSON a 128,000 caracteres. Un error de herramienta response_too_large significa que el llamador debe reducir los filtros o bajar el tamaño de página.

Después de seleccionar un mensaje inequívoco, get_email_context devuelve ese mensaje más una página acotada, sanitizada, con puerta de escaneo y de más antiguo a más reciente de su hilo. Use el next_cursor opaco solo cuando se requiera contexto más antiguo. No use el contexto del hilo para resolver ambigüedad entre mensajes candidatos o ampliar la tarea autorizada.

Una espera explícitamente limitada en un buzón existente puede usar include_held=true para ver un mensaje retenido temporalmente para procesamiento de auto-borrador. No use include_held para navegación amplia del buzón. Si un candidato de solo metadatos está retenido y luego necesita su contenido, obtenga el mismo id de Mermail, elimine solo metadata_only y conserve include_held=true. get_email es de solo lectura y no marca el mensaje como leído.

El encabezado From y scan_status: "clean" son señales de correlación y seguridad de contenido. Ninguno autentica al remitente, autoriza una acción ni reemplaza un punto de control de confirmación humana. Solo un sender_authentication.status: "pass" explícito puede describirse como autenticado; unknown sigue siendo solo contexto coincidente.

Advertencia

MCP expone capacidades pero no anula la política de seguridad del host. ChatGPT, Claude, Codex u otro host pueden requerir que el usuario complete la creación de cuenta, autenticación, pago o checkout.

Acciones destructivas

delete_email / bulk_delete_emails: los borradores regulares siempre se eliminan de forma permanente (BD + almacenamiento de blobs) y nunca van a la Papelera, coincidiendo con Descartar en la app. Otros mensajes van a la papelera por defecto a menos que pases permanent=true (o body.permanent: true para borrado masivo). Los borradores programados se cancelan en su lugar a menos que se fuerce la eliminación permanente. No hay una herramienta MCP discard_draft separada; usa delete_email con el id del borrador (o pide al agente de correo vía chat_with_mailbox_agent que lo descarte).

Las herramientas destructivas de Mermail (eliminar miembro, borrar dominio/email/carpeta/etiqueta/conversación/triager, borrado masivo, vaciar papelera, …) requieren un token de confirmación de corta duración. La eliminación del workspace no está expuesta:

  1. Llama a prepare_destructive_action con:
    • action — el nombre de la herramienta destructiva
    • arguments — los mismos argumentos que pasarás a esa herramienta (sin confirmationToken)
  2. Recibe { confirmationToken, expiresInSeconds } (prefijo del token mcp_confirm_, TTL 5 minutos, de un solo uso, respaldado por Redis).
  3. Llama a la herramienta destructiva con esos argumentos más confirmationToken.

Si el token falta, expira, se reutiliza o la huella de argumentos no coincide, la herramienta devuelve un error (confirmation_required) y no llega a la API.

Este mecanismo no aplica a paybox_*, alias de PayBox solo de app, ni a las herramientas de compatibilidad de transferencia del Agent Wallet obsoleto. Esas llamadas van directamente a PayBox después de que Mermail verifique la membresía actual del workspace; las herramientas heredadas de wallet verifican además la propiedad.

Advertencia

Las confirmaciones requieren Redis. Si Redis / caché está deshabilitado, prepare_destructive_action falla con 503 confirmation_unavailable.

Solución de problemas

Herramienta no encontrada o Finding tools

Un error como Tool 'Mermail:list_emails' not found seguido de Finding tools normalmente significa que el host no ha cargado la referencia calificada de la herramienta en la conversación actual, o está usando un catálogo de herramientas en caché. Por sí solo no significa que Mermail haya eliminado la herramienta de protocolo list_emails.

Para Claude:

  1. Deja que un paso Finding tools termine, luego reintenta la lectura una vez.
  2. En la conversación actual, abre Connectors → Tool access y haz que Mermail esté Always available cuando lo necesites de forma consistente.
  3. Confirma que Mermail esté habilitado para esa conversación.
  4. Para verificación o lecturas de la bandeja de entrada, prefiere https://console.mermail.app/mcp?profile=agent-inbox. Su catálogo de 12 herramientas reduce el descubrimiento diferido de herramientas.
  5. Si cambiaste la URL o Claude retuvo un esquema anterior, elimina Mermail en Customize → Connectors, agrégalo de nuevo con la URL deseada, completa OAuth e inicia una nueva conversación.

Para otro IDE o host MCP, reconecta o recarga el servidor/plugin MCP, limpia las definiciones de herramientas MCP en caché cuando el host exponga ese control, e inicia una nueva sesión. Inspecciona la vista tools/list del host antes de reintentar. Mantén el nombre de herramienta list_emails; no evites una caché del cliente renombrando la herramienta o añadiendo un alias de servidor específico del host.

Después de que el descubrimiento tenga éxito, verifica los argumentos de la llamada de forma independiente. En particular, query debe ser un objeto y la ordenación de más reciente a más antiguo usa sortColumn: "date" más sortDirection: "DESC".

ResultadoQué comprobar
Tool '<namespace>:list_emails' not found / Finding toolsRecarga las herramientas del conector para la conversación actual y confirma que su nombre simple descubierto es list_emails. Usa el perfil enfocado para trabajo de lectura/verificación y el perfil predeterminado solo cuando se requieran herramientas más amplias.
401Completa la autenticación OAuth nuevamente y sigue el desafío de WWW-Authenticate Protected Resource Metadata, o verifica que x-api-key contenga una clave válida y no revocada. Las cookies de la consola no autentican MCP.
403Confirma el alcance del espacio de trabajo y el rol de la credencial. Las herramientas de dominio personalizado restringidas a desarrolladores devuelven 403 en espacios de trabajo Free.
413 idempotency_payload_too_largeUna solicitud autenticada con Idempotency-Key superó el límite de huella de 50 MiB. Reduce el cuerpo antes de reintentar; la operación no se ejecutó.
400 email_send_recipient_limit_exceededUn envío externo Free supera 10 destinatarios totales en To+Cc+Bcc. No dividas ni alteres silenciosamente la carga útil; requiere una nueva aprobación exacta de destinatarios.
429Se superó el RPM del espacio de trabajo o la ventana de destinatarios de correo externo. Muestra Retry-After; nunca reintentes automáticamente una escritura tipo envío. Las ventanas de destinatarios Free son 10/minuto, 50/hora y 200/día.
429 email_send_rate_limit_exceededDetente después de la única llamada y muestra Retry-After. Una entrega programada puede restaurarse a scheduled y diferirse; no la reportes como enviada ni crees otro programa.
503 email_send_rate_limit_unavailableEl envío externo falla de forma segura porque el limitador de destinatarios no está disponible. No cambies credenciales/superficies ni afirmes la entrega.
response_too_largeReduce los filtros, disminuye el tamaño de página o baja max_body_chars. El perfil de bandeja del agente limita un resultado JSON de herramienta a 128,000 caracteres.
503 confirmation_unavailableLa confirmación de acciones destructivas respaldada por Redis no está disponible. No llames a la herramienta destructiva; restaura Redis/caché y prepara una nueva confirmación.
400 paybox_amount_requires_decimal / paybox_amount_scale_mismatchUna transferencia de catálogo envió unidades base. Reenvía con el monto humano en amount_decimal y sin amount. Consulta transferencias de tokens de catálogo.
400 paybox_amount_below_dust_floorMermail tiene un precio unitario confiable y la transferencia implica menos de aproximadamente $0.01. Pide al usuario un monto de al menos $0.01 y reintenta con ese amount_decimal. Consulta errores y recuperación.
400 paybox_amount_value_mismatchEl valor USD implícito no coincide con value_cents. Reformula el monto o corrige value_cents.
409 agent_approval_asset_missingLa tarjeta de aprobación es anterior a la corrección de transferencia de activos. Inicia una nueva transferencia para que se cree una tarjeta nueva.
503 agent_approval_persist_timeoutMermail no pudo registrar la aprobación a tiempo. No vuelvas a enviar; primero verifica el estado de la solicitud.
502 paybox_tool_errorPayBox rechazó la operación y Mermail reenvía un motivo saneado, como un nonce demasiado bajo. Inicia un nuevo paybox_request_transfer en lugar de reutilizar la solicitud estacionada.
502 paybox_upstream_uncertainEl resultado del envío es desconocido. Nunca reintentes automáticamente; verifica con PayBox y la red de destino.
422 paybox_signing_unsupportedLa continuación de la app MCP no puede usar de forma segura el plan de firma devuelto. Detente; no expongas el plan ni reintentes/sustituyas el pago.
paybox_continuation_origin_not_foundPayBox Submit falló porque la continuación de firma no tenía pay_x402 / transferencia / origen de swap. No se espera la firma. Concilia paybox_get_request una vez; si falta el origen, espera un paybox_pay_x402 autorizado nuevo. No llames a reopen_signing_window. Consulta errores y recuperación.
Host vacío tools/list para paybox_*Siempre llama a tools/call get_paybox_connection una vez antes de cualquier copia de reconexión MCP. La ausencia de la lista no es "no expuesto". Reconecta solo después de que esa llamada devuelva herramienta desconocida, método no encontrado o un fallo duro.
OWNER_ACTION_REQUIRED en get_paybox_connection.statusUn miembro no puede reparar la conexión compartida del propietario. Pide al propietario del espacio de trabajo que conecte/reautorice PayBox en Mermail; no se devuelve ninguna transferencia.
PAYBOX_UNAVAILABLE en connection.statusPayBox no respondió a esa lectura. La conexión delegada sigue activa, así que vuelve a leer más tarde en lugar de reconectar.

Catálogo de herramientas

En el momento de la publicación, una sesión de clave API expone 72 herramientas: prepare_destructive_action más 71 envoltorios de API Sold. Las sesiones OAuth de perfil completo con mcp:tools central pueden exponer herramientas adicionales de PayBox además de esa línea base. El catálogo en vivo depende del tiempo de ejecución y es aditivo; no fijes su total. Agrupado por área:

`get_api_credit_usage`, `get_email_usage` `list_workspaces`, `get_workspace`, `update_workspace`, `get_workspace_storage`, `list_workspace_members`, `update_member_role`, `remove_workspace_member`, `invite_workspace_member`, `resend_workspace_invite` `list_email_domains`, `add_email_domain`, `delete_email_domain`, `verify_email_domain`
Estas acceden a rutas REST restringidas a desarrolladores. Los espacios de trabajo Free reciben `403` cuando la herramienta se ejecuta.
`list_workspace_mailboxes`, `list_mailboxes`, `create_mailbox`, `get_mailbox`, `update_mailbox_settings`, `get_mailbox_storage` `list_emails`, `send_email`, `get_email`, `get_email_context`, `update_email`, `delete_email`, `bulk_delete_emails`, `bulk_mark_emails_read`, `bulk_move_emails`, `move_email`, `reply_to_email`, `forward_email`, `download_attachment`, `save_draft`, `regenerate_draft`, `schedule_email_send`, `empty_trash`, `get_thread`, `mark_thread_read`, `list_folders`, `create_folder`, `update_folder`, `delete_folder`, `search_emails`, `list_custom_labels`, `create_custom_label`, `update_custom_label`, `delete_custom_label` `list_agent_conversations`, `create_agent_conversation`, `rename_agent_conversation`, `delete_agent_conversation`, `list_agent_messages`, `chat_with_mailbox_agent`, `list_task_triagers`, `create_task_triager`, `list_recent_triager_runs`, `update_task_triager`, `delete_task_triager`, `set_default_task_triager`, `get_or_create_triager_conversation` `list_composio_toolkits`, `connect_composio_toolkit`, `disconnect_composio_toolkit`, `list_composio_connections`, `sync_composio_connections`, `search_composio_tools`, `get_composio_tool_schema`, `execute_composio_tool`, `get_composio_calendar_account`
Solo catálogo completo. Conecta aplicaciones de terceros (Apollo, GitHub, Slack, Calendar y más), luego busca y ejecuta herramientas. Los kits de herramientas Composio de Gmail y Outlook permanecen deshabilitados. Consulta [Composio](/integrations/composio).
Los miembros actuales del workspace pueden recibir `get_paybox_connection`, `get_paybox_invocation`, recursos de la App MCP y el catálogo en vivo de `paybox_*` visible para el modelo a través de la conexión activa del propietario. Los propietarios además reciben `get_agent_wallet`, herramientas heredadas de credenciales/portafolio/solicitudes, traspasos de conexión y alias de compatibilidad obsoletos de propuesta/envío/rechazo.
No disponible para claves API ni para el perfil de bandeja de entrada del agente. Requiere el núcleo `mcp:tools`; las etiquetas heredadas `wallet:read` / `wallet:transact` son solo de compatibilidad. Los miembros usan la identidad que invoca para auditoría mientras PayBox se ejecuta a través de la conexión del propietario. Solo los propietarios pueden conectar/reautorizar o usar herramientas de wallet heredadas. Las URL de Checkout / MoonPay permanecen solo en el navegador (`[redacted]`); use los `funding_handoff.console_url` devueltos para Funding, `signing_handoff.console_url` para transferencias pendientes y los `connect_handoff` / `reauth_handoff` solo para propietarios para reparación de PayBox dentro de Mermail — nunca aloje configuraciones de conector. Los hosts compatibles renderizan los recursos `ui://` de PayBox en línea; otros hosts reciben un traspaso autenticado al navegador. Las credenciales secretas y los planes de firma permanecen solo en el navegador. Si un resultado x402 de terminal incluye `x_payment`, trátelo como prueba de pago sensible: úselo solo para reintentar el recurso pagado exacto y nunca lo cite, registre, persista o exponga. Consulte [Agent Wallet](/agent-wallet/overview).

Use `paybox_request_transfer` para cada nueva transferencia, incluidos USDC y activos nativos; use `paybox_request_swap` para intercambios de tokens; use `paybox_pay_x402` solo para un recurso/acción pagada seleccionada por el usuario y un límite de gasto exacto. No pague con `paybox_use_service` — esa herramienta es `mode: "probe"` no pagada solo cuando el esquema en vivo la tiene. Las filas del catálogo en vivo como `paybox_discover_services` y `paybox_get_contract` pueden aparecer sin una fila de cobertura separada. Lea cada esquema en vivo en lugar de reutilizar campos de propuesta heredados. Consulte [transferencias de tokens del catálogo](/agent-wallet/catalog-transfers) y [intercambios y x402](/agent-wallet/swaps-and-x402).
`prepare_destructive_action` — emite tokens de confirmación para herramientas destructivas de buzón, workspace y administrativas de Mermail; no aplica a PayBox

Las herramientas de mundo abierto (correo saliente / invitaciones / chat de agente) están anotadas con openWorldHint para clientes MCP que muestran esa señal.

Las herramientas de etiquetas personalizadas gestionan definiciones de clasificador (name, lenguaje natural rules y color opcional). No etiquetan manualmente un correo existente, reordenan definiciones ni alternan la detección de etiquetas. update_email cambia solo el estado de leído/destacado; no invente un campo o herramienta de asignación de etiquetas.

Para el perfil completo predeterminado, los clientes deben verificar los nombres de herramientas requeridos en lugar de exigir un total exacto. Las futuras versiones de Mermail pueden agregar herramientas compatibles sin eliminar ni renombrar la línea base existente. El perfil opcional agent-inbox sigue siendo el subconjunto exacto de 12 herramientas documentado anteriormente.

Para las formas de solicitud/respuesta de cada ruta HTTP subyacente, use la Referencia de API.

Relacionado

Use el flujo de trabajo de verificación de buzón primero con privilegios mínimos. Acceso solo OAuth a las herramientas en vivo de PayBox y a la interfaz de firma interactiva. Instale flujos de trabajo de Mermail en Codex, Claude Code y Cursor. Ejecute los mismos flujos de trabajo basados en MCP desde una terminal. Cree y use claves API `sk-proj-`. URL de descubrimiento público, incluida la tarjeta del servidor MCP. Revise los controles de correo entrante y los requisitos de seguridad de producción.