loading…
Search for a command to run...
loading…
Disposable email MCP server for autonomous AI agents. Create labeled temporary inboxes, wait for verification emails, extract OTP codes and confirmation links —
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.

MCP server for UnCorreoTemporal, focused on autonomous signup and email verification workflows.
AI Agent
|
| MCP
v
Temporary Email MCP Server
|
v
UnCorreoTemporal API
Connect directly to the public endpoint — no local install needed:
{
"mcpServers": {
"uncorreotemporal-mcp": {
"url": "https://uncorreotemporal.com/mcp"
}
}
}
The public endpoint is free to use for testing. For production workloads, set your own UCT_API_KEY via local install.
claude mcp add uncorreotemporal -e UCT_API_KEY=uct_your_key_here -- uvx uncorreotemporal-mcp
claude_desktop_config.json){
"mcpServers": {
"uncorreotemporal": {
"command": "uvx",
"args": ["uncorreotemporal-mcp"],
"env": {
"UCT_API_KEY": "uct_your_key_here"
}
}
}
}
Get your API key at uncorreotemporal.com.
uvx uncorreotemporal-mcp
Or run local project version:
UCT_API_KEY=uct_your_key_here \
uv run uncorreotemporal-mcp
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"],
)
create_signup_inboxwait_for_verification_emailget_latest_emailextract_otp_codeextract_verification_linkcomplete_signup_flowcomplete_signup_flowRuns:
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": "[email protected]",
"email": "[email protected]",
"verification_message": {
"message_id": "msg-1",
"subject": "Verify your email",
"from_address": "[email protected]",
"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.
create_signup_inbox(service_name, ttl_minutes?)Returns:
{
"inbox_id": "[email protected]",
"email": "[email protected]",
"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": "[email protected]",
"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"]
}
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, stdio by default; also supports streamable-http and sse)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.
See /examples:
simple_workflow.pyopenai_agent_signup.pylangchain_agent_signup.pyagent_creates_account.pyRun dry-run:
uv run python examples/simple_workflow.py --dry-run
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
Removed legacy low-level tools:
create_mailboxlist_mailboxesget_messagesread_messagedelete_mailboxMigration map:
create_mailbox -> create_signup_inboxget_messages + read_message -> wait_for_verification_email + get_latest_emailcomplete_signup_flowPrepared listing payloads are in /directory-listings for:
Deployment templates for https://uncorreotemporal.com/mcp are in /deploy.
uv run pytest
uv run uncorreotemporal-mcp
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"uncorreotemporal": {
"command": "npx",
"args": []
}
}
}