UnCorreoTemporal
Temporary email for AI agents: create inboxes, wait for emails, extract OTPs, verify signups.
What can you do with UnCorreoTemporal?
create_signup_inboxwait_for_verification_emailget_latest_emailextract_otp_codeextract_verification_linkcomplete_signup_flow
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
uncorreotemporal-mcpclaude mcp add uncorreotemporal -e 'UCT_API_KEY=<your uct_api_key>' -e 'UCT_API_BASE=<UCT_API_BASE>' -e 'UCT_MCP_TRANSPORT=<UCT_MCP_TRANSPORT>' -- uvx uncorreotemporal-mcp==0.1.1
{
"mcpServers": {
"uncorreotemporal": {
"command": "uvx",
"args": [
"uncorreotemporal-mcp==0.1.1"
],
"env": {
"UCT_API_KEY": "<your uct_api_key>",
"UCT_API_BASE": "<UCT_API_BASE>",
"UCT_MCP_TRANSPORT": "<UCT_MCP_TRANSPORT>"
}
}
}
}
Environment variables
UCT_API_KEYrequired secret Your UnCorreoTemporal API key (get one at https://uncorreotemporal.com). Format: uct_...UCT_API_BASEAPI base URL. Defaults to https://uncorreotemporal.comUCT_MCP_TRANSPORTTransport mode: stdio (default), streamable-http, or sse
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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
Remote Connection (No Installation)
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.
Installation
Claude Code
claude mcp add uncorreotemporal -e UCT_API_KEY=uct_your_key_here -- uvx uncorreotemporal-mcp
Claude Desktop (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.
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
Frequently asked questions
What is UnCorreoTemporal?
Temporary email for AI agents: create inboxes, wait for emails, extract OTPs, verify signups.
How do I install UnCorreoTemporal?
It runs on your machine. In Claude Code: claude mcp add uncorreotemporal -e 'UCT_API_KEY=<your uct_api_key>' -e 'UCT_API_BASE=<UCT_API_BASE>' -e 'UCT_MCP_TRANSPORT=<UCT_MCP_TRANSPORT>' -- uvx uncorreotemporal-mcp==0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does UnCorreoTemporal need an API key?
Yes. It expects UCT_API_KEY, which you set in its configuration.
Is UnCorreoTemporal open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains UnCorreoTemporal?
It is published by francofuji. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.