Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

mailsocket

by mailsocketversion 0.4.2i★ 1 (Stars for the whole repo)iComputer or cloud
Registry nameapp.mailsocket/mailsocket-mcp

How to install

What it does

Test inboxes for AI agents testing your app: block until the OTP or magic link arrives.

  • Connects Computer or cloud
  • Account or key Cloud: Needs Authorization · Local: Needs MAILSOCKET_API_KEY
  • Category Developer tools

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (mcp.mailsocket.app) · ✓ Commands checked Nov 14, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 5 min

You need a mailsocket key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Sign up and create a mailsocket key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the mailsocket site ↗

  2. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  3. Click “Add” → “Custom” → “Web” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · Namemailsocket
    Remote MCP server URL · Addresshttps://mcp.mailsocket.app/mcp

    Under Request headers, add this name and value

    Header nameAuthorization
    ValueBearer <paste your key here>

    Paste the key only into the app’s field, never into a chat or to anyone

    Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add

  4. Turn it on in a chat

    +Connectorsmailsocket

  5. Try it

    Use mailsocket and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using mailsocket or shows a mailsocket tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect mailsocket yet

mailsocket needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify

What you can do instead

A · Use an app that can connect mailsocket

  • You need a mailsocket key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
  • You need a mailsocket key (create it on the maker’s site)
  • You need a mailsocket key (create it on the maker’s site)
  • You need a mailsocket key (create it on the maker’s site)

B · Others in Developer tools that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code · about 5 min

You need a mailsocket key (create it on the maker’s site)

  1. Sign up and create a mailsocket key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the mailsocket site ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --transport http --scope user mailsocket https://mcp.mailsocket.app/mcp --header 'Authorization: Bearer your-value'

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Type /mcp in Claude Code

    You should see mailsocket listed as connected

  5. Try it

    Use mailsocket and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using mailsocket or shows a mailsocket tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 5 min

You need a mailsocket key (create it on the maker’s site)

  1. Sign up and create a mailsocket key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the mailsocket site ↗

  2. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  3. Fill in your key

    In the mailsocket settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in Cursor in Agent mode

  5. Try it

    Use mailsocket and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using mailsocket or shows a mailsocket tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 5 min

You need a mailsocket key (create it on the maker’s site)

  1. Sign up and create a mailsocket key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the mailsocket site ↗

  2. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  3. Fill in your key

    In the mailsocket settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in VS Code in Agent mode

  5. Try it

    Use mailsocket and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using mailsocket or shows a mailsocket tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://mcp.mailsocket.app/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use mailsocket💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user mailsocket https://mcp.mailsocket.app/mcp --header 'Authorization: Bearer your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "mailsocket": {
      "url": "https://mcp.mailsocket.app/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "mailsocket": {
      "type": "http",
      "url": "https://mcp.mailsocket.app/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

Installed on your computer

Claude Code

claude mcp add --scope user mailsocket --env MAILSOCKET_API_KEY=your-value -- uvx mailsocket-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "mailsocket": {
      "command": "uvx",
      "args": [
        "mailsocket-mcp"
      ],
      "env": {
        "MAILSOCKET_API_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "mailsocket": {
      "command": "uvx",
      "args": [
        "mailsocket-mcp"
      ],
      "env": {
        "MAILSOCKET_API_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "mailsocket": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mailsocket-mcp"
      ],
      "env": {
        "MAILSOCKET_API_KEY": "your-value"
      }
    }
  }
}

Values you fill in

  • MAILSOCKET_API_KEY secret required env
    mailsocket API key (ms_live_...). Create one in the dashboard or via POST /api/v1/agents/register.
  • MAILSOCKET_BASE_URL env
    Override the API base URL. Defaults to https://dash.mailsocket.app/api/v1.
  • Authorization secret required HTTP header
    Bearer ms_live_... (create a key in the dashboard or via POST /api/v1/agents/register)

Descriptions are as written by the maker.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

GitHub starsi
1 (Stars for the whole repo)
This repo holds several MCP listings; its stars count once in rankings
Downloads per weeki
60/wk
Verified domain
✓ mailsocket.app
Connection
Computer or cloud
Transport
stdio, streamable-http
Latest versioni
0.4.2
Published to registryi
Nov 1, 2026
Code last changedi
Nov 1, 2026
Maker
mailsocket
Packages
pypi: mailsocket-mcp
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain mailsocket.app (the registry checks domain ownership)

  • ✓ Pass

    Still maintained

    Code last changed 13 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • ✓ Pass

    Endpoint responds

    Responded in 140 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Developer toolsi

  • More stars than 0% of the other 5867 servers in this category
  • Published to the registry more recently than 66% of the other 5867 servers in this category
  • Basic checks equal to or better than 100% of the other 5867 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is mailsocket safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization, MAILSOCKET_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed 13 days ago, and the latest version (0.4.2) reached the registry 13 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).

What can I use instead?

In the same category: REA, GitHub, Serena MCP: the IDE for your agent

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

by morlutoWidely used↓ 388.7K/wk★ 455.4KUpdated 2 days ago

Runs on your computer

GitHub

GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.

by githubWidely used★ 34.4KUpdated 11 days ago

Computer or cloud

Serena MCP: the IDE for your agent

A powerful toolkit for coding, providing semantic retrieval and editing capabilities.

by oraiosWidely used↓ 35.2K/wk★ 31.3KUpdated 6 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

mailsocket — MCP server

An MCP server that exposes mailsocket to AI coding agents as native tools, so an agent can create a per-test inbox and block on the OTP or magic link without writing any polling code. For testing apps you own or are authorized to test. Not for creating accounts on services you don't control.

It wraps the Python SDK — no second HTTP client, no re-implemented polling.

What it does

ToolWhat the agent gets
create_inbox(label?)a fresh inbox id + address
wait_for_otp(inbox_id, timeout?=60, min_confidence?=0, since?)the headline — blocks (bounded: requested deadline clamped to 120s locally, 55s on the remote server) and returns the OTP string + confidence + subject/from/id/received_at. Default since omitted: only messages arriving after this call are matched.
wait_for_link(inbox_id, timeout?=60, since?)the extracted magic link (returned, *not* followed) + subject/from/id/received_at. Default since omitted: only messages arriving after this call are matched.
list_inboxes(limit?, cursor?)one page of inboxes owned by the key (server default page size 25) + next_cursor/has_more
list_messages(inbox_id, has_otp?, subject_contains?, sender?, limit?, cursor?)one page of messages, optionally filtered (server default page size 25) + next_cursor/has_more
get_latest(inbox_id)the newest message, without blocking
send_test_code(inbox_id)puts one sample OTP email straight into the inbox (no mail server) and returns its message_id + sent_at, so you can check the wait loop without real email. 5 per inbox / 20 per account per hour.
delete_inbox(inbox_id)remove an inbox when done

Errors from the SDK (AuthError / NotFound / RateLimited / WaitTimeout) are turned into clean MCP tool errors — no stack traces, and the API key is never echoed back.

Reusing an inbox

create_inbox needs no since — a fresh inbox only ever has new messages. By default, wait_for_otp/wait_for_link omit since entirely, so the server matches only messages arriving AFTER the call (the request start time). But if you reuse an existing inbox (e.g. to request a second OTP/link), pass since explicitly: otherwise a call with no since will correctly ignore anything already sitting in the inbox, which is right for most reuse, but if you actually WANT to catch a code that already arrived before you called the tool, pass either the time right before you triggered the new email (ISO8601 or unix seconds), or the id of the last message you saw (msg_..., meaning "only messages after that one") — both tools return id/received_at on the matched message so you can chain since= into the next call on that same inbox.

Trying the loop without real email

send_test_code does not go through the mail server, so the code is already in the inbox when the tool returns. Take a cutoff first: the id from get_latest (or since=0 if the inbox is empty), or the current time. Then call send_test_code(inbox_id), then wait_for_otp(inbox_id, since= ). Without since the wait only sees mail that arrives during the wait, so it would miss the test code.

Requirements

  • Python 3.10+
  • A mailsocket API key — from the dashboard or POST /api/v1/agents/register.

Install

No install needed with uv:

uvx mailsocket-mcp

Or install with pip:

pip install mailsocket-mcp

mailsocket-mcp

Either way, it reads MAILSOCKET_API_KEY (and optional MAILSOCKET_BASE_URL) from the environment. If the key is missing it exits with a clear message and status 2; the key is never logged.

Register with an MCP client

Claude Desktop / Cursor

Add this to your client's MCP config file — claude_desktop_config.json for Claude Desktop, ~/.cursor/mcp.json for Cursor:

{

"mcpServers": { "mailsocket": { "command": "uvx", "args": ["mailsocket-mcp"], "env": { "MAILSOCKET_API_KEY": "ms_live_..." } } } }

Claude Code CLI
claude mcp add mailsocket -e MAILSOCKET_API_KEY=ms_live_... -- uvx mailsocket-mcp

Any other MCP-compatible client works the same way: point it at the mailsocket-mcp executable (or uvx mailsocket-mcp) over stdio and pass the key through the environment.

Remote server (no install)

The same tools are hosted at `https://mcp.mailsocket.app/mcp` over Streamable HTTP. Send your key on every request as a header: Authorization: Bearer ms_live_.... Never put the key in the URL; a ?api_key= request is rejected.

Claude Code CLI
claude mcp add --transport http mailsocket https://mcp.mailsocket.app/mcp \

--header "Authorization: Bearer ms_live_..."

Cursor (~/.cursor/mcp.json)
{

"mcpServers": { "mailsocket": { "url": "https://mcp.mailsocket.app/mcp", "headers": { "Authorization": "Bearer ms_live_..." } } } }

VS Code (.vscode/mcp.json)
{

"servers": { "mailsocket": { "type": "http", "url": "https://mcp.mailsocket.app/mcp", "headers": { "Authorization": "Bearer ms_live_..." } } } }

Any client that can set a custom HTTP header works the same way (OpenAI Agents SDK, the n8n MCP Client node, your own code).

Things to know:

  • Claude.ai, Claude Desktop connectors and Smithery need OAuth, which is planned but not available yet. Until then, use the local stdio server above in those clients (Claude Desktop), or use a header-capable client.
  • On the remote server, wait_for_otp / wait_for_link wait at most 55s per call, which keeps each response under proxy timeouts. On a timeout, call the tool again.
  • The server is stateless: no session to keep, and every request is authenticated on its own. It has no key of its own and only acts with yours, under your normal API rate limits.
  • Self-hosting: mailsocket-mcp-http runs the same server (see mailsocket_mcp/remote.py for its env vars).

Env vars

VariableRequiredDescription
MAILSOCKET_API_KEYyes (secret)Your mailsocket API key (ms_live_...).
MAILSOCKET_BASE_URLnoOverride the API base URL. Defaults to https://dash.mailsocket.app/api/v1.

Develop

pip install -e ".[dev]"

pytest

Tests make no external or live-API requests. The SDK client is faked, and the remote-transport tests talk to a local fake upstream on 127.0.0.1.

Changelog

  • 0.4.2 — wording only: server and tool descriptions and README say "test inbox for apps you own or are authorized to test". Tool names and behaviour unchanged.
  • 0.4.1 — requires mailsocket>=0.3.1: wait_for_otp / wait_for_link called without since no longer miss a message that lands between the SDK's internal long-poll calls (each follow-up call sends the cutoff the server reported in Mailsocket-Wait-Since). No tool signature changes.
  • 0.4.0 — new send_test_code(inbox_id) tool (stdio and the hosted remote server, under the same per-key caps as the other non-wait tools): puts one sample OTP email into your own inbox without going through the mail server. Requires mailsocket>=0.3.0 (Client.send_test_code).
  • 0.3.0 — BEHAVIOUR CHANGE (via mailsocket>=0.2.0): wait_for_otp / wait_for_link now omit since by default instead of forwarding 0 ("any message already in the inbox"). The old default could return a STALE OTP/link already sitting in a reused inbox; the new default matches only messages arriving after the call. Pass since=0 explicitly to keep the old behaviour. Hosted server (mcp.mailsocket.app, deployed from the repo, no new PyPI release): per-key concurrent waits raised 3 → 10 (= the Pro plan cap; the API still enforces each plan's own cap) and the shared wait pool 16 → 32, following the backend's raised wait capacity (global 64).
  • 0.2.3 — wait_for_otp / wait_for_link accept an optional since (ISO8601, unix seconds or a message id) so a reused inbox returns the NEW code; results include the message id and received_at.
  • 0.2.2 — depends on mailsocket>=0.1.3 (stricter _seg id validation in the underlying Python SDK).