protogrid

Search / ai.radmail/radmail-mcp

radmail-mcp

R0· no sign-in

Email OS for agents - real-inbox search, triage, commitments, and a verifiable BEC hard-stop.

v0.5.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality74needs work
Trust93of 100
Uptime, 30 days100%
Latency p50250 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "radmail-mcp": {
      "type": "http",
      "url": "https://radmail.ai/api/mcp/sandbox"
    }
  }
}
claude mcp add --transport http radmail-mcp https://radmail.ai/api/mcp/sandbox
[mcp_servers.radmail-mcp]
url = "https://radmail.ai/api/mcp/sandbox"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "radmail-mcp": {
      "type": "remote",
      "url": "https://radmail.ai/api/mcp/sandbox",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "radmail-mcp": {
      "type": "http",
      "url": "https://radmail.ai/api/mcp/sandbox"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=radmail-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcmFkbWFpbC5haS9hcGkvbWNwL3NhbmRib3gifQ%3D%3D"
}
{
  "servers": {
    "radmail-mcp": {
      "type": "http",
      "url": "https://radmail.ai/api/mcp/sandbox"
    }
  }
}
{
  "mcpServers": {
    "radmail-mcp": {
      "httpUrl": "https://radmail.ai/api/mcp/sandbox"
    }
  }
}
extensions:
  "radmail-mcp":
    enabled: true
    name: "radmail-mcp"
    type: streamable_http
    uri: "https://radmail.ai/api/mcp/sandbox"
    timeout: 300

Quality 74 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: why_surfaced (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_commitments (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); draft_reply (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 543 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies50 · weight 15
  • warn
    deps.known_vulns1 advisory of lower severity or without a published fix: GHSA-5r4p-p66f-jhc7 in [email protected] (indirect, fixed in 4.13.11)
  • fail
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 3 known advisories (GHSA-22jm-h49p-29qw, GHSA-6prh-2h8m-c8cw, GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.32.0 or later
  • pass
    deps.resolvable[email protected] resolved: 98 packages

6 tools, about 543 tokens to load them all · tool set 1677901541a5 · checked 2026-10-20 20:14 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 93 / 100

provenance85
liveness100
freshness85
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% ~updated-65d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npm97 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-20

advisoryseveritypackagefixed in
GHSA-22jm-h49p-29qwMCP TypeScript SDK: Experimental tasks were not tied to the session that created themhigh@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.32.0
GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP serverhigh@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.31.0
GHSA-6prh-2h8m-c8cwMCP TypeScript client SDK: HTTP client transports and OAuth requests followed cross-origin redirects and re-sent custom headers and request bodiesmoderate@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.32.0
GHSA-5r4p-p66f-jhc7Hono: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static pathsmoderate[email protected]indirectfixed in 4.13.11

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://radmail.ai/api/mcp/sandbox streamable-httpnoneyes100%250 ms2025-06-182026-10-20
packageregistryversionruntimesecrets
radmail-mcpnpm0.5.0–

Tools (6)

draft_replyDraft a reply for a thread. It returns text for a human to review — it does not and cannot send it.
list_commitmentsExtract the open commitments in the correspondence, both owed by you and owed to you, with who and by-when.
list_right_nowReturn only the 'Right Now' lane — the most recent and most important messages that genuinely can't be missed.
searchFind a specific message by sender, subject, or content. Results come back most-relevant + newest first, and every hit says where it matched (from / subject / body) and why. On this hosted sandbox it searches the built-in demo inbox; run the radmail-mcp package with RADMAIL_API_KEY set and the same tool searches your REAL ingested inbox read-only (with from / after / before filters) via the v1 search API.
triage_inboxRank a mailbox on two axes (importance x urgency) and return what needs a human now versus what can wait or is already handled — with each thread's open commitment (the promise you owe or are owed, and whether it's overdue) surfaced inline, so the follow-through is visible on the very first call.
why_surfacedExplain in plain English why a given message was surfaced — the signals (sender, urgency, commitment) behind its rank.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.radmail/radmail-mcp",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
  "remotes": [
    {
      "url": "https://radmail.ai/api/mcp/sandbox",
      "type": "streamable-http"
    }
  ],
  "version": "0.5.0",
  "packages": [
    {
      "version": "0.5.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "radmail-mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org"
    }
  ],
  "repository": {
    "url": "https://github.com/radmail-ai/radmail-mcp",
    "source": "github"
  },
  "websiteUrl": "https://radmail.ai/for-agents",
  "description": "Email OS for agents - real-inbox search, triage, commitments, and a verifiable BEC hard-stop."
}