UnCorreoTemporal
Disposable email MCP server for autonomous AI agents. Create labeled temporary inboxes, wait for verification emails, extract OTP codes and confirmation links — zero human intervention required.
README
uncorreotemporal-mcp
MCP server for UnCorreoTemporal, focused on autonomous signup and email verification workflows.
Architecture Demo
AI Agent
|
| MCP
v
Temporary Email MCP Server
|
v
UnCorreoTemporal API
Quickstart (30 seconds)
uvx uncorreotemporal-mcp
Or run local project version:
UCT_API_KEY=uct_your_key_here \
uv run uncorreotemporal-mcp
Minimal Workflow Example
inbox = await create_signup_inbox("github")
email = await wait_for_verification_email(inbox["inbox_id"])
link = await extract_verification_link(
inbox_id=inbox["inbox_id"],
message_id=email["message_id"],
)
Public Tools
create_signup_inboxwait_for_verification_emailget_latest_emailextract_otp_codeextract_verification_linkcomplete_signup_flow
New v1 tool: complete_signup_flow
Runs:
- create inbox
- wait verification email
- extract verification link + OTP
Input:
{
"service_name": "github",
"timeout_seconds": 90,
"poll_interval_seconds": 3,
"subject_contains": "verify",
"from_contains": "noreply",
"preferred_domains": ["github.com"],
"ttl_minutes": 30
}
Output:
{
"status": "success",
"inbox_id": "agent42@uncorreotemporal.com",
"email": "agent42@uncorreotemporal.com",
"verification_message": {
"message_id": "msg-1",
"subject": "Verify your email",
"from_address": "noreply@example.com",
"received_at": "2026-03-08T11:30:00Z"
},
"verification_link": "https://example.com/confirm?t=abc",
"otp_code": "483920",
"link_candidates": ["https://example.com/confirm?t=abc"],
"otp_candidates": ["483920"]
}
status can be success, partial_success, or timeout.
Tool I/O summary
create_signup_inbox(service_name, ttl_minutes?)
Returns:
{
"inbox_id": "agent42@uncorreotemporal.com",
"email": "agent42@uncorreotemporal.com",
"expires_at": "2026-03-08T12:00:00Z",
"service_name": "github"
}
wait_for_verification_email(inbox_id, timeout_seconds?, poll_interval_seconds?, subject_contains?, from_contains?)
Returns:
{
"status": "received",
"message_id": "msg-1",
"received_at": "2026-03-08T11:30:00Z",
"subject": "Verify your account",
"from_address": "noreply@example.com",
"timeout_seconds": 90
}
get_latest_email(inbox_id, mark_as_read?)
Returns full message body and metadata.
extract_otp_code(message_text? | inbox_id+message_id, otp_length_min?, otp_length_max?)
Returns:
{
"otp_code": "483920",
"candidates": ["483920"]
}
extract_verification_link(message_text? | inbox_id+message_id, preferred_domains?)
Returns:
{
"verification_link": "https://example.com/confirm?t=abc",
"candidates": ["https://example.com/confirm?t=abc"]
}
Configuration
Environment variables:
UCT_API_KEY(required)UCT_API_BASE(optional, default:https://uncorreotemporal.com)UCT_HTTP_TIMEOUT_SECONDS(optional, default:20)UCT_MCP_TRANSPORT(optional,stdioby default; also supportsstreamable-httpandsse)UCT_MCP_HOST(optional, default:0.0.0.0)UCT_MCP_PORT(optional, default:8000)UCT_MCP_PATH(optional, default:/mcp)
Important: inbox_id == email address.
Examples
See /examples:
simple_workflow.pyopenai_agent_signup.pylangchain_agent_signup.pyagent_creates_account.py
Run dry-run:
uv run python examples/simple_workflow.py --dry-run
Docker
Build:
docker build -t uncorreotemporal-mcp .
Run stdio mode:
docker run --rm -i \
-e UCT_API_KEY=uct_your_key_here \
uncorreotemporal-mcp
Run streamable-http mode:
docker run --rm -p 8000:8000 \
-e UCT_API_KEY=uct_your_key_here \
-e UCT_MCP_TRANSPORT=streamable-http \
-e UCT_MCP_PATH=/mcp \
uncorreotemporal-mcp
Breaking Changes
Removed legacy low-level tools:
create_mailboxlist_mailboxesget_messagesread_messagedelete_mailbox
Migration map:
create_mailbox->create_signup_inboxget_messages+read_message->wait_for_verification_email+get_latest_email- multi-step signup orchestration ->
complete_signup_flow
Directory listing assets
Prepared listing payloads are in /directory-listings for:
- modelcontextprotocol/servers
- mcp.so
- awesome-mcp
Public endpoint deployment
Deployment templates for https://uncorreotemporal.com/mcp are in /deploy.
Development
uv run pytest
uv run uncorreotemporal-mcp
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.