UnCorreoTemporal /Docs/MCP Server

MCP Email Server

Native MCP server exposing 5 tools for AI agents. Compatible with Claude Desktop, Cursor, Continue, and any client implementing the Model Context Protocol .

What is MCP?

The Model Context Protocol (MCP) is an open standard created by Anthropic that lets AI agents access external tools natively. Instead of writing prompts to simulate actions, the agent directly calls typed functions with parameters and structured responses.

Native, not simulated

The agent calls real functions with typed parameters. It does not rely on the LLM interpreting free text.

No shared state

Each call is independent. The MCP server handles authentication once at startup.

Compatible with any LLM

Claude, GPT-4, Gemini — any model with MCP support can use these tools.

Installation

1 Get an API Key

The MCP server requires a Pro or higher plan. Create your account, activate a Pro or Team plan, and generate an API key with the uct_ prefix.

2 Configure Claude Desktop

Add the following entry to claude_desktop_config.json (located at ~/Library/Application Support/Claude/ on macOS):

claude_desktop_config.json
{
  "mcpServers": {
    "uncorreotemporal": {
      "url": "https://uncorreotemporal.com/mcp",
      "headers": {
        "Authorization": "Bearer uct_xxxxx"
      }
    }
  }
}

No local installation. The server runs at https://uncorreotemporal.com/mcp and authenticates each session with your API key. Restart Claude Desktop after saving to see the 5 tools.

create_signup_inboxtool

Creates a temporary inbox labeled with the name of the service where the agent will sign up. Returns the email address ready to use.

Parameters

service_namerequired · string
ttl_minutesoptional · integer ≥ 1

Returns

{
  inbox_id: "uuid",
  email: "slug@uncorreotemporal.com",
  expires_at: "ISO8601",
  service_name: "github"
}
wait_for_verification_emailtool

Waits until an email arrives in the inbox, with internal polling and configurable timeout. Returns immediately when the message is detected — no manual polling needed.

Parameters

inbox_idrequired · string
timeout_secondsoptional · default 90
subject_containsoptional · subject filter
from_containsoptional · sender filter

Returns

{
  status: "received" | "timeout",
  message_id, subject,
  from_address, body_text,
  body_html
}
get_latest_emailtool

Reads the latest email received in the inbox, including the full body. Useful when the email has already arrived and you do not need to wait.

Parameters

inbox_idrequired · string
mark_as_readoptional · boolean, default false

Returns

message_id, subject,
from_address, body_text,
body_html, has_attachments,
marked_as_read
extract_otp_codetool

Extracts the OTP code (4–8 digits) from a message. Can receive the text directly or look up the message by inbox_id + message_id.

Parameters (at least one required)

message_textoptional · string
inbox_idoptional · string
message_idoptional · string
otp_length_min / maxoptional · default 4/8

Returns

{
  otp_code: "847291",
  candidates: ["847291"]
}

Full Flow — Autonomous Sign-up

The following example shows how a Claude agent uses all 5 tools to sign up for a web service without human intervention:

Prompt to Claude agent

"Sign up on example.com with a temporary email, confirm the account, and tell me the generated username."

1.
create_signup_inbox(service_name="example") → gets slug42@uncorreotemporal.com (inbox_id: "uuid-...")
2.
[browser action] → signs up on example.com with that email
3.
wait_for_verification_email(inbox_id="uuid-...", timeout_seconds=90) → status="received" — email from noreply@example.com detected
4.
extract_otp_code(inbox_id="uuid-...", message_id="...") → otp_code="847291"
5.
[browser action] → enters the code → account confirmed

Limits by Plan

PlanMCPReq/day
Free
Builder
Pro✓ Included2,000/day
Team✓ Included10,000/day

When the call limit is exceeded, the tool returns {"error": "quota_exceeded"}. The agent should handle this case and notify the user.