MailFixture
Buzones de entrada de correo electrónico y SMS solo de recepción para pruebas automatizadas, con herramientas de espera de OTP y espera de enlace que permiten a los agentes completar flujos de verificación.
Documentación
Pruebas de correo electrónico con MCP: Inicio rápido — mailfixture
mailfixture documentación
Buscar documentación…⌘K
NAVEGACIÓN DE DOCUMENTACIÓN
PRIMEROS PASOS
Inicio rápido: Playwright Inicio rápido: Cypress Inicio rápido: pytest Inicio rápido: SMS Inicio rápido: agentes MCP
Pruebas automatizadas de correo electrónico Pruebas de correo electrónico en paralelo SMTP falso vs. bandeja de entrada de prueba Depurar un correo electrónico faltante Pruebas de correo electrónico con Playwright Pruebas de correo electrónico con Cypress Pruebas de correo electrónico con pytest Pruebas de correo electrónico con Selenium Pruebas de flujo de registro Pruebas de flujos OTP Pruebas de verificación de correo electrónico Pruebas de enlaces mágicos Pruebas de restablecimiento de contraseña Pruebas de alertas de inicio de sesión Pruebas de flujos OTP por SMS Pruebas de verificación telefónica Pruebas de correo electrónico transaccional Pruebas de SPF/DKIM/DMARC Pruebas de puntuación de spam Pruebas de adjuntos Pruebas de correo electrónico HTML «Correo electrónico desechable detectado» Pruebas de webhooks Webhooks de eventos de correo electrónico Agentes de IA y correo electrónico OTP con Playwright + MCP
CONCEPTOS
Bandejas de entrada y TTL Mensajes Extracción Dominios personalizados Adjuntos Webhooks Ganchos de captura
REFERENCIA DE API
Descripción general y autenticación /inboxes /messages /phone-numbers · /sms /hooks /domains /keys /webhooks
Primeros pasos / inicio-rápido-mcp
Inicio rápido: agentes MCP
mailfixture incluye un servidor MCP remoto en https://mailfixture.com/mcp. Apunta un agente hacia él — Claude Code, o cualquier cliente que hable Streamable HTTP — y podrá crear bandejas de entrada reales, activar los flujos de correo electrónico de tu aplicación y leer el OTP por sí mismo. Nada que instalar, ningún código de integración que escribir.
1 · Obtén una clave
Crea una clave en Panel → Claves de API. El agente se autentica con una clave mfx_ normal — los mismos permisos que la API REST, revocable en cualquier momento. Dale a los agentes su propia clave (etiquétala como mcp-agent) para poder retirarla sin romper tus suites de pruebas.
.env / secreto de CIcopiar
MAILFIXTURE_API_KEY=mfx_••••••••••••••••••••
2 · Conecta un cliente
Claude Code puede almacenar una definición de servidor a nivel de proyecto mientras deja la clave en el entorno:
terminalcopiar
$ claude mcp add --transport http mailfixture --scope project https://mailfixture.com/mcp
--header 'Authorization: Bearer ${MAILFIXTURE_API_KEY}'
Las comillas simples son deliberadas: la configuración del proyecto mantiene un marcador de posición de entorno en lugar de expandir y escribir el secreto en .mcp.json. Otros clientes usan la misma forma Streamable HTTP, pero su sintaxis de variables de entorno y su clave de nivel superior varían; este ejemplo genérico usa la misma convención de marcador de posición:
configuración mcp (genérica)copiar
{ "mcpServers": { "mailfixture": { "type": "http", "url": "https://mailfixture.com/mcp", "headers": { "Authorization": "Bearer ${MAILFIXTURE_API_KEY}" } } } }
Descubrimiento para clientes que inspeccionan antes de conectarse: la tarjeta del servidor (esquema v1 Server Card — URL de transporte, el encabezado Bearer que necesita, versiones de protocolo compatibles) se sirve en /.well-known/mcp/server-card.json, /.well-known/mcp-server-card y /mcp/server-card; el catálogo de API la enlaza, y /llms.txt indica cuándo recurrir al servidor. Una llamada no autenticada responde con 401 y un desafío WWW-Authenticate: Bearer, y cada respuesta autenticada lleva los mismos encabezados RateLimit que la API REST.
3 · Deja que el agente pruebe tu flujo de correo electrónico
Esa es toda la configuración. Pide al agente que ejecute un flujo de registro y encadenará las herramientas por sí mismo:
transcripción del agente
Registra una cuenta nueva en staging y verifica que el correo OTP funcione.
create_inbox(ttl_seconds=900) → k2x9v04qtr@mxsink.sh … el agente completa el formulario de registro con esa dirección … wait_for_otp(inbox_id=…, timeout_seconds=45) → { message_id: "…", best: "482913", candidates: […] } … el agente envía el código, verifica que la cuenta esté confirmada …
consejo wait_for_otp, wait_for_link y wait_for_message hacen long-polling en el servidor (hasta 60s por llamada) — el agente nunca escribe un bucle de dormir-y-reintentar. ¿Correos en competencia? Usan el mismo filtro match que la API REST: subject:, from:, to:.
La superficie de herramientas
41 herramientas — paridad total con la /v1 REST API, captura de correo electrónico, SMS y webhooks, además de los ayudantes de espera. Las de mayor tráfico:
create_inbox
Una dirección nueva para el flujo bajo prueba; el TTL opcional limpia después de ejecuciones fallidas.
wait_for_otp
Bloquea hasta que llegue un mensaje con un código de verificación extraído; devuelve {message_id, best, candidates}.
wait_for_link
Lo mismo para enlaces — filtra por clase: verify, reset, unsubscribe.
follow_link
Clic del lado del servidor de un enlace extraído (el enlace de verificación por defecto): hacemos GET, seguimos redirecciones y devolvemos estado + URL final — sin necesidad de navegador.
wait_for_message
Bloquea hasta que llegue un mensaje coincidente; devuelve detalle completo con cuerpos y extracción.
list_messages / get_message
Listado basado en cursor y detalle completo — encabezados, cuerpos, metadatos de adjuntos.
create_phone_number / wait_for_sms_otp
El mismo bucle para mensajes de texto (planes de pago, números de EE. UU.): aprovisiona, usa list_phone_numbers hasta que el estado sea activo, luego bloquea esperando el código. Consulta el inicio rápido de SMS.
…y el resto
Borrado de bandeja de entrada, listado y liberación de SMS, adjuntos (base64 ≤1 MiB), dominios personalizados con verificación DNS, claves de API, webhooks.
Alcance y seguridad
El servidor MCP es la API — la clave es la única credencial, y todo lo que hace el agente se le atribuye a ella. Tres cosas que debes saber: el conjunto de herramientas incluye administración de cuenta (claves, dominios, webhooks), así que trata la clave como el secreto que es; los cuerpos de los mensajes fluyen al contexto del agente, así que no apuntes tráfico de producción a bandejas de entrada que un agente lea; y los errores llegan estructurados (status/title/detail, mismo vocabulario que la API REST) para que los agentes puedan reaccionar en lugar de adivinar.
Siguientes pasos
Manos de agente ahora, suite de Playwright congelada para CI.
El mismo flujo desde una suite de pruebas.
Agentes de IA y correo electrónico
Por qué la bandeja de entrada pertenece a la caja de herramientas del agente.
¿Te resultó útil esta página? sí no Guía: OTP con Playwright + MCP →
EN ESTA PÁGINA
1 · Obtén una clave 2 · Conecta un cliente 3 · Deja que el agente pruebe La superficie de herramientas Alcance y seguridad
editar esta página ↗
informar de un problema ↗