UnCorreoTemporal
About
Native MCP email server for AI agents — create temporary inboxes, wait for emails, extract OTPs, and automate email verification flows.
Details
- Author
- francofuji
- Downloads
- 243
- Categories
- Other, AI, Automation
Jump to
- Create temporary signup inboxes for any service
- Wait for and receive verification emails
- Extract OTP codes from email messages
- Extract verification links from email bodies
- Complete full signup flow with a single tool call
- Support for stdio, streamable-http, and SSE transports
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
UnCorreoTemporalCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Connect via the public remote endpoint (https://uncorreotemporal.com/mcp) with no local installation, or install locally using uvx uncorreotemporal-mcp with a UCT_API_KEY. Configure the server in claude_desktop_config.json or run directly with uvx uncorreotemporal-mcp.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"uncorreotemporal": {
"uncorreotemporal": {
"command": "uvx",
"args": [
"uncorreotemporal-mcp"
],
"env": {
"UCT_API_KEY": "uct_your_key_here"
}
}
}
}
}
McpServers
{
"uncorreotemporal": {
"command": "uvx",
"args": [
"uncorreotemporal-mcp"
],
"env": {
"UCT_API_KEY": "uct_your_key_here"
}
}
}
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_inbox
- wait_for_verification_email
- get_latest_email
- extract_otp_code
- extract_verification_link
- complete_signup_flow
New v1 tool: complete_signup_flow
Runs:
1. create inbox
2. wait verification email
3. 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, 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.
Examples
See /examples:
- simple_workflow.py
- openai_agent_signup.py
- langchain_agent_signup.py
- agent_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_mailbox
- list_mailboxes
- get_messages
- read_message
- delete_mailbox
Migration map:
- create_mailbox -> create_signup_inbox
- get_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
<!-- mcp-name: io.github.francofuji/uncorreotemporal-mcp-server -->
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


