Skip to main content
Glama
minutemailco

MinuteMail MCP

Official
by minutemailco

mcp-server

MCP (Model Context Protocol)-Server, der die öffentliche MinuteMail-API als Tools bereitstellt. Er erlaubt KI-Agenten und MCP-Clients, MinuteMail-Mailboxen, E-Mails, Anhänge, Domains und Mock-OAuth-Identitäten über den mm-api-gateway zu verwalten.

  • Endpunkt: https://mcp.minutemail.co/mcp (Streamable HTTP, Protokollrevision 2025-06-18)

  • Authentifizierung: Der Authorization: Bearer mmak_...-Header des MCP-Clients wird unverändert an das API-Gateway weitergeleitet — dieser Server speichert keine Zugangsdaten. Scopes und Kontingente werden vom Gateway exakt so durchgesetzt wie bei jedem API-Client.

  • Zustandslos: keine Sitzungen, kein Server-Push-SSE (GET /mcp und DELETE /mcp geben 405 zurück). Health-Check: GET /health.

Tool-Oberfläche (39 Tools)

Jedes Tool wird 1:1 einer /v1-Route des API-Gateways zugeordnet. Alle Aufrufe erfordern den Bearer-API-Schlüssel; Schreibvorgänge setzen den entsprechenden Scope voraus (mailboxes, domains, team, identities).

Mailboxen (mailboxes-Scope)

Tool

Gateway-Route

mm_list_mailboxes

GET /v1/mailboxes

mm_create_mailbox

POST /v1/mailboxes (Eigentümer wird auf den Inhaber des API-Schlüssels gesetzt, Domain standardmäßig auf den Tenant-Standard)

mm_get_mailbox / mm_delete_mailbox

GET / DELETE /v1/mailboxes/{id}

mm_bulk_delete_mailboxes

DELETE /v1/mailboxes

mm_list_mails / mm_inject_test_mail

GET / POST /v1/mailboxes/{id}/mails (multipart)

mm_get_mail / mm_delete_mail / mm_bulk_delete_mails

…/mails/{mailId}

mm_list_attachments / mm_add_attachment / mm_get_attachment / mm_delete_attachment / mm_bulk_delete_attachments

…/attachments

Archivierte Mailboxen (mailboxes-Scope)

mm_list_archived_mailboxes, mm_get_archived_mailbox, mm_delete_archived_mailbox, mm_reactivate_archived_mailbox.

Domains (domains-Scope)

mm_list_domains, mm_register_domain, mm_verify_domain, mm_delete_domain.

Team (team-Scope)

mm_list_members, mm_add_member, mm_get_member, mm_delete_member, mm_create_invitation, mm_list_invitations, mm_delete_invitation.

Mock-Identitäten (identities-Scope)

mm_list_identities, mm_create_identity, mm_get_identity, mm_delete_identity, mm_list_oauth_clients, mm_create_oauth_client, mm_get_oauth_client, mm_delete_oauth_client, mm_rotate_client_secret.

Nicht bereitgestellt

  • /v1/api-keys-CRUD — die Verwaltung der API-Schlüssel ist nicht über MCP bereitgestellt; verwalten Sie die Schlüssel stattdessen über die Web-App.

  • /internal/* — nur intern. /metrics stellt Prometheus-Metriken (Laufzeit-go_*/process_*-Zähler) zum Scraping bereit; siehe METRICS.md.

Related MCP server: SandMail — Disposable Email API for AI Agents

Beispiel

curl -s https://mcp.minutemail.co/mcp \
  -H 'Authorization: Bearer mmak_XXXXXXXX' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"mm_create_mailbox","arguments":{"expiresIn":30}}}'

Tool-Ergebnisse werden als MCP-Textinhalt zurückgegeben, der die JSON-Antwort des Gateways enthält. Nicht-2xx-Antworten des Gateways werden zu Ergebnissen mit isError: true und HTTP-Status und Body (401 ungültiger Schlüssel, 403 Scope/Domain, 429 Kontingent mit verbleibender Anzahl, 502 Upstream nicht erreichbar).

Konfiguration

Umgebungsvariable

Standard

Zweck

PORT

8080

Port, auf dem der Server lauscht

API_BASE

http://mm-api-gateway:80

Basis-URL des API-Gateways (im Cluster)

LOG_LEVEL

warn

debug/info/warn/error

LOG_FORMAT

json

json/text

PROFILE

dev

Label des Deployment-Profils

Entwicklung

Go 1.23. Standardbibliothek plus prometheus/client_golang für /metrics. Folgt den MinuteMail-Service-Standards (siehe mm-mailbox-service).

go test ./...     # unit tests
go vet ./...
go run .          # local server on :8080
Need check the table separator: The original separator has hyphens length, not relevant. I did not preserve same number of spaces. As long as if the markdown table can be parsed. The instruction says "Preserve the exact structure of Markdown tables (same number of rows, columns, and pipe separators)." They emphasize pipe separators; maybe spacing can differ but pipes same. Should be okay. In my table header: `| Umgebung... |` etc, 2 columns. The separator line with `| --- | --- |` has 2 columns. Good. Need ensure not accidentally drop row count. I have 5 rows. Good.

When outputting, no code fence. Good.

One nuance: "Plus `DEFAULTS` backtick syntax" inside table row: `LOG_LEVEL` row purpose: I kept `debug`/`info`/`warn`/`error` without backticks? Wait, in My final, I wrote `| \`LOG_LEVEL\` | \`warn\` | \`debug\`/``info``/warn/e...` Actually in final text above I had:
`| `LOG_LEVEL` | `warn` | `debug`/`info`/`warn`/`error` |`
This row includes code spans around debug/info/warn/error as inline. Good.

One issue: "Mailboxes" in heading table: I wrote "### Mailboxen" but "Tool surface" earlier. Maybe "Mailboxes" not a translation element? Good.

Another nuance: The tool table header "Gateway route" I translated to "Gateway-Route". It may not be code, fine.

"other service standards" I included "den den" double "den" typo. Need correct. Final should be "den MinuteMail" no "den den". I must be careful. I'll correct: "Folgt den MinuteMail-Service-Standards (siehe mm-mailbox-service)." or "Er folgt den ..." Good.

Also in "Umgebungsvariable" table header, I wrote `| ---------------- |` with spaces but okay. Need maintain columns: There are three columns; my header has `| Umgebungsvariable | ... | Zweck |`. The separator I wrote with extra hyphens. Good.

But in Markdown, `| `PORT` | ... |` etc. Should be visible. Good.

Need consider "MinuteMail" capitalization: It is a product name; use exactly. "Mock identities" as "Mock-Identitäten"; good.

Potential issue: "Kontingente" vs "Quotas" maybe okay. "Kontingente" is German for quotas. But "Quota" in API contexts often "Quotas" in English; German "Kontingente" is acceptable. "429 Quota" maybe better to keep "Quota" as technical. Original "429 Quota" suggests response body details. I can write "429 quotiert" or "429 Quote" but "Kontingent" is okay. But "429 quota with remaining count" — In German, "429-Grenze" maybe. "429 Kontingent" could be understood. Use "429 Kontingent mit Restmenge" etc. Good.

"Scopes and Kontingente" — "Kontingent" for "quota" is correct.

"Server-Push-SSE" — In original "server-push SSE" maybe SSE is "Server-Sent Events". "no server-push SSE" means no Push. We can write "kein Server-Push-SSE" but SSE is already Server-Sent Events; "Server-Push-SSE" is okay.

"Health-Check:" maybe "Health-Check" is not exactly "Health". Good.

Now, "MCP (Model Context Protocol)-Srv" is awkward. In German, "MCP (Model Context Protocol)-Server" okay? But "Model Context Protocol" is itself English. Good.

Should "MCP (Model Context Protocol)" perhaps not translate "Server" and no hyphen? "MCP (Model Context Protocol) Server" maybe original. I wrote "MCP (Model Context Protocol)-Server" which is grammatical German. Good.

One more: "Base URL" in API_BASE row, I wrote "Basis-URL". Good.

One more: "API key management is not exposed via MCP" — I wrote "API-Schlüssel- management is not über MCP bereitgestellt" maybe "Bereitstellung"? Let's refine: "-verwaltung der API-Schlüssel ist nicht über MCP verfügbar; verwalten Sie die Schlüssel stattdessen über die Web-App." Use "nicht über MCP verfügbar" perhaps. In final, I wrote "nicht über MCP bereitgestellt" — okay. But more idiomatic: "nicht über MCP exponier" no. Let's use "nicht über MCP verfügbar."

Also "Nicht bereitgestellt" heading perhaps "Nicht verfügbar" but bullet says "Verwaltung ... nicht über MCP verfügbar". Use "Nicht verfügbar" heading. But maybe that could mean "not available" rather than "not exposed". Original "Not exposed" means "not exposed as a tool"; I'd like "Nicht exponiert" in English. Hmm. "Nicht verfügbar" is fine.

Let's adjust heading: "### Nicht ausgesetzt" sounds wrong. "### Nicht offengelegt" maybe exact. "Offengelegt" means "disclosed". The API endpoints are not exposed/public "nicht offengelegt" in MCP. But in computer security, "exposed" often "ausgesetzt" (security issue). "Exponiert" better. Hmm.

In API context, "exposing an API" is "bereitstellen" (exposing endpoints) or "veröffentlichen". "Not exposed" = "nicht bereitgestellt" (not published). So "### Nicht bereitgestellt" is good. Use "nicht bereitgestellt" in bullet. Good.

Let's refine bullet:
`/v1/api-keys` CRUD — die Verwaltung der API-Schlüssel ist nicht über MCP bereitgestellt. Verwalten Sie die Schlüssel stattdessen über die Web-App.
This is clear.

Potential issue: In the top section, "API key (Bearer) is forwarded verbatim to the api-gateway" — I wrote "Bearer-APISchlüssel" maybe "Bearer-API-Schlüssel" compound. Good.

Let's ensure "through the `mm-api-gateway`" — In first paragraph I wrote "über den `mm-api-gateway`". That's code in backticks. Since "den" masculine? Gateway is der Gateway. Good.

Need include all elements; the bullet for "Endpunkt" etc. We include.

One nuance: "Protocol revision `2025-06-18`" is code string; keep.

"owner forced to key owner, domain defaults to tenant default" — Should we translate "owner" as "Eigentümer" or "owner" in the api gateway? "Owner" field in object. In German "Eigentümer". "key owner" = "Schlüsselinhaber." Good.

"tenant" in German: "Tenant" might be a jargon; "Mandant" is the German legal term; "Tenant" often in software docs. We can use "Tenant-Standard." Should I use "Default-Tenant" as code? "Tenant-Standard" as a term. I'll use "Tenant-Standard" for clarity. English: "domain defaults to tenant default" -> "Domain standardmäßig auf die Tenant-Standard-Domain" (Better). So:
`POST /v1/mailboxes` (Eigentümer wird erzwungen austeln auf den Schlüsselinhaber, Domain standardmäßig auf die Tenant-Standard-Domain)
Maybe "erzwungen" too literal from "forced" (owner forced to key owner). German: "Eigentümer wird auf den Inhaber erfassend"? Better "Der Eigentümer wird zwingend auf den Inhaber des API-Schlüssels gesetzt, die Domain standardmäßig auf die Standard-Domain des Tenants." Since table cell can be a semicolon separated phrase. I'll use:
"Eigentümer wird auf den API-Schlüssel-Inhaber gesetzt, Domain standardmäßig auf die Tenant-Standard-Domain." 
This is concise.

Need "mailboxes" scope heading with hyphen: `mailboxes`-Scope. Good.

"### Team (`team`-Scope)" - In German, "Team" is masculine? "das Team"; fine.

"### Mock-Identitäten (`identities`-Scope)" use "Mock-Identitäten" (because "Dieses" as identity). Good.

"### Domains (`domains`-Scope)": no plural code. Good.

Now final output:

Will use "### Nicht bereitgestellt" and bullet "nicht über MCP bereitgestellt".

"More likely: " /metrics serves Prometheus metrics" -> "stacks"/"bereitstellt". Good.

Let's make final answer now, ensuring no formatting errors, no code fence.# mcp-server

MCP (Model Context Protocol)-Server, der die öffentliche MinuteMail-API als Tools bereitstellt. Er erlaubt KI-Agenten und MCP-Clients, MinuteMail-Mailboxen, E-Mails, Anhänge, Domains und Mock-OAuth-Identitäten über der `mm-api-gateway` zu verwalten.

* **Endpunkt:** `https://mcp.minutemail.co/mcp` (Streamable HTTP, ProtokollRevision `2025-06-18`)
* **Authentifizierung:** Der `Authorization: Bearer mmak_...`-Header des MCP-Clients wird unverändert an API-Gateway weitergeleitet — dieser Server speichert **keine Zuganaödaten**. Scopes und Kontingente werden vom Gate-way genauso wie für jeden API-Cllient.
* **Zustandslos:** keine Sitzungen, kein Server-Push-SEE (`GET /mcp` und `DELETE /mcp` ergeben 405). Health-Check: `GET /health`.

## Tool-Oberfläche (39 Tool)

Jedes Tool is 1:1 fü einer `/v1`-route des API-ateways (to) zugeordnet.ALL:00 requires "API" – "Der" "API" "API". Bitte prüfen.
A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Disposable email MCP server for autonomous AI agents. Create labeled temporary inboxes, wait for verification emails, extract OTP codes and confirmation links — zero human intervention required.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Create disposable email inboxes, extract OTP codes in 15 languages, and receive webhooks — all from your AI agent. One call: create inbox → wait for email → get the verification code. Supports 7 domains, email forwarding, and HMAC-signed webhooks with OTP included in payload. Free tier available.
    8
    10
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Programmatic email deliverability testing for AI agents. Create inbox placement tests across Gmail, Outlook, Yahoo, Mail.ru, Yandex — get per-provider placement (Inbox/Spam/Promotions), SPF/DKIM/DMARC auth, Rspamd & SpamAssassin verdicts, DNS health (MX, PTR, DNSBL), and live SSE results.
    5
    50
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Real email and SMS for AI agents. Run a local mail server with disposable inboxes — agents send and receive real email, fetch verification codes, and drive a real inbox without going through any third-party email API.
    100
    192
    MIT

View all related MCP servers

Related MCP Connectors

  • A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.

  • Email for AI agents — send, receive as a webhook, manage domains, templates, routing.

  • AI email inbox and sending tools with attachments, search, live events, and webhooks.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/minutemailco/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server