MinuteMail MCP
An MCP server that allows AI agents to manage ephemeral mailboxes, send and receive emails, handle attachments, manage custom domains and teams, and utilize mock OAuth identities for testing email and authentication flows via the MinuteMail API.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.minutemail.co/mcpWhat its tools do
40 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (16)
Can change data (24)
mailboxes.createmailboxes.deletemailboxes.delete_bulkmails.injectmails.deletemails.delete_bulkattachments.addattachments.deleteattachments.delete_bulkarchived.deletearchived.reactivatedomains.registerdomains.verifydomains.deleteteam.members.addteam.members.deleteteam.invitations.createteam.invitations.deleteidentities.createidentities.updateidentities.deleteoauth.clients.createoauth.clients.deleteoauth.clients.rotate_secret
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Create and manage ephemeral email mailboxes
- List, read, and delete emails and attachments
- Register and manage custom domains
- Simulate inbound emails for testing
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- minutemail-mcp-server 1.1.7
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 40 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Tools
40 advertised
mailboxes.list — List mailboxes
List the tenant's active mailboxes (owner is derived from the API key). Optionally look up a single mailbox by exact address.
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Exact mailbox address to look up (e.g. user@minutemail.cc). Optional."
}
}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}
}
}
}{
"title": "List mailboxes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}mailboxes.create — Create mailbox
Create a new temporary mailbox. The domain defaults to the tenant's default domain; the owner is always the API key's owner.
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "Recovery tag, required when recoverable is true."
},
"domain": {
"type": "string",
"description": "Mailbox domain. Defaults to the tenant default domain (e.g. minutemail.cc)."
},
"expiresIn": {
"type": "integer",
"description": "Lifetime in minutes, 1-60. Omit for the service default TTL."
},
"recoverable": {
"type": "boolean",
"description": "Set true to keep the mailbox recoverable after expiry (requires tag)."
},
"noExpiration": {
"type": "boolean",
"description": "Set true for a permanent mailbox (mutually exclusive with expiresIn)."
}
}
}{
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}{
"title": "Create mailbox",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}mailboxes.get — Get mailbox
Fetch a single mailbox by ID.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}{
"title": "Get mailbox",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}mailboxes.delete — Delete mailbox
Delete a mailbox and its contents by ID.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete mailbox",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}mailboxes.delete_bulk — Bulk delete mailboxes
Delete several mailboxes at once by ID.
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Mailbox IDs to delete"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Bulk delete mailboxes",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}mails.list — List mails
List the emails in a mailbox, newest first.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"sender",
"subject"
],
"properties": {
"id": {
"type": "string",
"description": "Mail ID"
},
"body": {
"type": "string",
"description": "Plain-text body (present on single-mail fetches)"
},
"sender": {
"type": "string",
"description": "Sender email address"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"receivedAt": {
"type": "string",
"description": "Received timestamp (RFC 3339)"
}
}
}
}
}
}{
"title": "List mails",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}mails.inject — Inject test mail
Inject a simulated inbound email into a mailbox (multipart upload). No external mail is sent; use this to simulate inbound mail for flow testing.
{
"type": "object",
"required": [
"mailboxId",
"sender",
"subject",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Plain-text body"
},
"sender": {
"type": "string",
"description": "Sender email address"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"expiresIn": {
"type": "integer",
"description": "Mail lifetime in minutes (>=1). Optional."
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"required": [
"filename",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "File contents, standard base64"
},
"filename": {
"type": "string",
"description": "Attachment file name"
},
"contentType": {
"type": "string",
"description": "MIME type, defaults to application/octet-stream"
}
}
},
"description": "Attachments to include"
}
}
}{
"type": "object",
"required": [
"id",
"sender",
"subject"
],
"properties": {
"id": {
"type": "string",
"description": "Mail ID"
},
"body": {
"type": "string",
"description": "Plain-text body (present on single-mail fetches)"
},
"sender": {
"type": "string",
"description": "Sender email address"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"receivedAt": {
"type": "string",
"description": "Received timestamp (RFC 3339)"
}
}
}{
"title": "Inject test mail",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}mails.get — Get mail
Fetch a single email by ID, including body and attachment metadata.
{
"type": "object",
"required": [
"mailboxId",
"mailId"
],
"properties": {
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"id",
"sender",
"subject"
],
"properties": {
"id": {
"type": "string",
"description": "Mail ID"
},
"body": {
"type": "string",
"description": "Plain-text body (present on single-mail fetches)"
},
"sender": {
"type": "string",
"description": "Sender email address"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"receivedAt": {
"type": "string",
"description": "Received timestamp (RFC 3339)"
}
}
}{
"title": "Get mail",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}mails.delete — Delete mail
Delete a single email.
{
"type": "object",
"required": [
"mailboxId",
"mailId"
],
"properties": {
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete mail",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}mails.delete_bulk — Bulk delete mails
Delete several emails of one mailbox at once.
{
"type": "object",
"required": [
"mailboxId",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Mail IDs to delete"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Bulk delete mails",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}attachments.list — List attachments
List the attachments of an email (metadata only).
{
"type": "object",
"required": [
"mailboxId",
"mailId"
],
"properties": {
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"filename"
],
"properties": {
"id": {
"type": "string",
"description": "Attachment ID"
},
"filename": {
"type": "string",
"description": "Attachment file name"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"sizeBytes": {
"type": "integer",
"description": "Size in bytes"
},
"contentType": {
"type": "string",
"description": "MIME type"
}
}
}
}
}
}{
"title": "List attachments",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}attachments.add — Add attachment
Attach a file to a test-injected email (base64 payload).
{
"type": "object",
"required": [
"mailboxId",
"mailId",
"filename",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "File contents, standard base64"
},
"mailId": {
"type": "string",
"description": "Mail ID"
},
"filename": {
"type": "string",
"description": "Attachment file name"
},
"expiresIn": {
"type": "integer",
"description": "Attachment lifetime in minutes (>=1). Optional."
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
},
"sizeBytes": {
"type": "integer",
"description": "Expected size in bytes. Optional; validated against the decoded data when set."
},
"contentType": {
"type": "string",
"description": "MIME type, defaults to application/octet-stream"
}
}
}{
"type": "object",
"required": [
"id",
"filename"
],
"properties": {
"id": {
"type": "string",
"description": "Attachment ID"
},
"filename": {
"type": "string",
"description": "Attachment file name"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"sizeBytes": {
"type": "integer",
"description": "Size in bytes"
},
"contentType": {
"type": "string",
"description": "MIME type"
}
}
}{
"title": "Add attachment",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}attachments.get — Get attachment
Download an attachment. The file contents are returned base64-encoded in the JSON "data" field.
{
"type": "object",
"required": [
"mailboxId",
"mailId",
"attachmentId"
],
"properties": {
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
},
"attachmentId": {
"type": "string",
"description": "Attachment ID"
}
}
}{
"type": "object",
"required": [
"id",
"filename",
"data"
],
"properties": {
"id": {
"type": "string",
"description": "Attachment ID"
},
"data": {
"type": "string",
"description": "File contents, standard base64"
},
"filename": {
"type": "string",
"description": "Attachment file name"
},
"expiresAt": {
"type": "string",
"description": "Expiry timestamp (RFC 3339)"
},
"sizeBytes": {
"type": "integer",
"description": "Size in bytes"
},
"contentType": {
"type": "string",
"description": "MIME type"
}
}
}{
"title": "Get attachment",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}attachments.delete — Delete attachment
Delete a single attachment.
{
"type": "object",
"required": [
"mailboxId",
"mailId",
"attachmentId"
],
"properties": {
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
},
"attachmentId": {
"type": "string",
"description": "Attachment ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete attachment",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}attachments.delete_bulk — Bulk delete attachments
Delete several attachments of one email at once.
{
"type": "object",
"required": [
"mailboxId",
"mailId",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Attachment IDs to delete"
},
"mailId": {
"type": "string",
"description": "Mail ID"
},
"mailboxId": {
"type": "string",
"description": "Mailbox ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Bulk delete attachments",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}archived.list — List archived mailboxes
List the tenant's archived (expired but recoverable) mailboxes.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}
}
}
}{
"title": "List archived mailboxes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}archived.get — Get archived mailbox
Fetch a single archived mailbox by ID.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"mailboxId": {
"type": "string",
"description": "Archived mailbox ID"
}
}
}{
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}{
"title": "Get archived mailbox",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}archived.delete — Delete archived mailbox
Permanently delete an archived mailbox.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"mailboxId": {
"type": "string",
"description": "Archived mailbox ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete archived mailbox",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}archived.reactivate — Reactivate archived mailbox
Reactivate an archived mailbox back to active state.
{
"type": "object",
"required": [
"mailboxId"
],
"properties": {
"expiresIn": {
"type": "integer",
"description": "New lifetime in minutes, 1-60. Optional."
},
"mailboxId": {
"type": "string",
"description": "Archived mailbox ID"
}
}
}{
"type": "object",
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"description": "Mailbox ID"
},
"alias": {
"type": "string",
"description": "Local part of the address"
},
"owner": {
"type": "string",
"description": "Owner (tenant) ID"
},
"domain": {
"type": "string",
"description": "Mailbox domain"
},
"address": {
"type": "string",
"description": "Full mailbox address"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"expiresAt": {
"type": [
"string",
"null"
],
"description": "Expiry timestamp (RFC 3339); null when permanent"
},
"permanent": {
"type": "boolean",
"description": "Whether the mailbox never expires"
},
"recoverable": {
"type": "boolean",
"description": "Whether the mailbox can be recovered after expiry"
},
"messageCount": {
"type": "integer",
"description": "Number of mails in the mailbox"
}
}
}{
"title": "Reactivate archived mailbox",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}domains.list — List domains
List the tenant's custom domains with their DNS verification status.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Domain ID"
},
"name": {
"type": "string",
"description": "Domain name"
},
"status": {
"enum": [
"pending",
"verified"
],
"type": "string",
"description": "DNS verification status"
},
"mxTarget": {
"type": "string",
"description": "MX target to add to the domain's DNS before verification"
},
"txtToken": {
"type": "string",
"description": "TXT token to add to the domain's DNS before verification"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}
}
}
}{
"title": "List domains",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}domains.register — Register domain
Register a new custom domain. DNS records (TXT token + MX) must then be added before verification can succeed.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Domain name, e.g. mail.example.com"
}
}
}{
"type": "object",
"required": [
"id",
"name",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Domain ID"
},
"name": {
"type": "string",
"description": "Domain name"
},
"status": {
"enum": [
"pending",
"verified"
],
"type": "string",
"description": "DNS verification status"
},
"mxTarget": {
"type": "string",
"description": "MX target to add to the domain's DNS before verification"
},
"txtToken": {
"type": "string",
"description": "TXT token to add to the domain's DNS before verification"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}{
"title": "Register domain",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}domains.verify — Verify domain
Trigger DNS verification (TXT + MX) of a registered domain.
{
"type": "object",
"required": [
"domainId"
],
"properties": {
"domainId": {
"type": "string",
"description": "Domain ID"
}
}
}{
"type": "object",
"required": [
"id",
"name",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Domain ID"
},
"name": {
"type": "string",
"description": "Domain name"
},
"status": {
"enum": [
"pending",
"verified"
],
"type": "string",
"description": "DNS verification status"
},
"mxTarget": {
"type": "string",
"description": "MX target to add to the domain's DNS before verification"
},
"txtToken": {
"type": "string",
"description": "TXT token to add to the domain's DNS before verification"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}{
"title": "Verify domain",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}domains.delete — Delete domain
Delete a registered custom domain.
{
"type": "object",
"required": [
"domainId"
],
"properties": {
"domainId": {
"type": "string",
"description": "Domain ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete domain",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}team.members.list — List team members
List the tenant's team members.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"email",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Member ID"
},
"email": {
"type": "string",
"description": "Member email address"
},
"status": {
"type": "string",
"description": "Member status (e.g. ACTIVE)"
},
"user_id": {
"type": "string",
"description": "Member user ID"
},
"username": {
"type": "string",
"description": "Member username"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}
}
}
}{
"title": "List team members",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}team.members.add — Add team member
Add a team member directly (no invitation flow).
{
"type": "object",
"required": [
"user_id",
"username",
"email",
"status"
],
"properties": {
"email": {
"type": "string",
"description": "Member email address"
},
"status": {
"type": "string",
"description": "Member status, conventionally ACTIVE"
},
"user_id": {
"type": "string",
"description": "Member user ID"
},
"username": {
"type": "string",
"description": "Member username"
}
}
}{
"type": "object",
"required": [
"id",
"email",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Member ID"
},
"email": {
"type": "string",
"description": "Member email address"
},
"status": {
"type": "string",
"description": "Member status (e.g. ACTIVE)"
},
"user_id": {
"type": "string",
"description": "Member user ID"
},
"username": {
"type": "string",
"description": "Member username"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}{
"title": "Add team member",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}team.members.get — Get team member
Fetch a single team member by ID.
{
"type": "object",
"required": [
"memberId"
],
"properties": {
"memberId": {
"type": "string",
"description": "Member ID"
}
}
}{
"type": "object",
"required": [
"id",
"email",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Member ID"
},
"email": {
"type": "string",
"description": "Member email address"
},
"status": {
"type": "string",
"description": "Member status (e.g. ACTIVE)"
},
"user_id": {
"type": "string",
"description": "Member user ID"
},
"username": {
"type": "string",
"description": "Member username"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}{
"title": "Get team member",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}team.members.delete — Delete team member
Remove a team member.
{
"type": "object",
"required": [
"memberId"
],
"properties": {
"memberId": {
"type": "string",
"description": "Member ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete team member",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}team.invitations.create — Create invitation
Create a team invitation for an email address (SMTP invite is sent by the team service).
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "Invitee email address"
}
}
}{
"type": "object",
"required": [
"id",
"email",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Invitation ID"
},
"email": {
"type": "string",
"description": "Invitee email address"
},
"status": {
"type": "string",
"description": "Invitation status (e.g. PENDING)"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}{
"title": "Create invitation",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}team.invitations.list — List invitations
List the tenant's team invitations.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"email",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Invitation ID"
},
"email": {
"type": "string",
"description": "Invitee email address"
},
"status": {
"type": "string",
"description": "Invitation status (e.g. PENDING)"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
}
}
}
}
}
}{
"title": "List invitations",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}team.invitations.delete — Delete invitation
Revoke a team invitation.
{
"type": "object",
"required": [
"invitationId"
],
"properties": {
"invitationId": {
"type": "string",
"description": "Invitation ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete invitation",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}identities.list — List identities
List the tenant's mock identities, optionally filtered by OAuth client or mailbox address.
{
"type": "object",
"properties": {
"clientId": {
"type": "string",
"description": "Filter by OAuth client ID. Optional."
},
"mailboxAddress": {
"type": "string",
"description": "Filter by mailbox address. Optional."
}
}
}{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"clientId",
"mailboxAddress"
],
"properties": {
"id": {
"type": "string",
"description": "Identity ID"
},
"name": {
"type": "string",
"description": "Display name"
},
"clientId": {
"type": "string",
"description": "OAuth client ID the identity belongs to"
},
"username": {
"type": "string",
"description": "Identity username"
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL"
},
"mailboxAddress": {
"type": "string",
"description": "Mailbox address the identity is linked to"
}
}
}
}
}
}{
"title": "List identities",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}identities.create — Create identity
Create a mock identity bound to a mailbox for OAuth flow testing.
{
"type": "object",
"required": [
"clientId",
"mailboxAddress"
],
"properties": {
"name": {
"type": "string",
"description": "Display name. Optional."
},
"claims": {
"type": "object",
"description": "Custom claims (e.g. role, plan) merged into the ID token and userinfo. Custom-provider clients only — rejected for google/github/apple/facebook. Optional.",
"additionalProperties": {
"type": "string"
}
},
"clientId": {
"type": "string",
"description": "OAuth client ID the identity belongs to"
},
"username": {
"type": "string",
"description": "Identity username. Optional."
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL. Optional."
},
"emailVerified": {
"type": "boolean",
"description": "Value of the email_verified claim issued for this identity. Optional."
},
"mailboxAddress": {
"type": "string",
"description": "Mailbox address the identity is linked to (must exist)"
}
}
}{
"type": "object",
"required": [
"id",
"clientId",
"mailboxAddress"
],
"properties": {
"id": {
"type": "string",
"description": "Identity ID"
},
"name": {
"type": "string",
"description": "Display name"
},
"clientId": {
"type": "string",
"description": "OAuth client ID the identity belongs to"
},
"username": {
"type": "string",
"description": "Identity username"
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL"
},
"mailboxAddress": {
"type": "string",
"description": "Mailbox address the identity is linked to"
}
}
}{
"title": "Create identity",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}identities.get — Get identity
Fetch a single mock identity by ID.
{
"type": "object",
"required": [
"identityId"
],
"properties": {
"identityId": {
"type": "string",
"description": "Identity ID"
}
}
}{
"type": "object",
"required": [
"id",
"clientId",
"mailboxAddress"
],
"properties": {
"id": {
"type": "string",
"description": "Identity ID"
},
"name": {
"type": "string",
"description": "Display name"
},
"clientId": {
"type": "string",
"description": "OAuth client ID the identity belongs to"
},
"username": {
"type": "string",
"description": "Identity username"
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL"
},
"mailboxAddress": {
"type": "string",
"description": "Mailbox address the identity is linked to"
}
}
}{
"title": "Get identity",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}identities.update — Update identity
Update a mock identity: profile fields, isActive (activate/deactivate), emailVerified, and custom claims merged into the ID token and userinfo.
{
"type": "object",
"required": [
"identityId"
],
"properties": {
"name": {
"type": "string",
"description": "Display name. Optional."
},
"claims": {
"type": "object",
"description": "Custom claims (e.g. role, plan) merged into the ID token and userinfo. Replaces existing claims. Reserved claim names are rejected. Optional.",
"additionalProperties": {
"type": "string"
}
},
"isActive": {
"type": "boolean",
"description": "Whether the identity can be used in OAuth flows. Optional."
},
"username": {
"type": "string",
"description": "Identity username. Optional."
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL. Optional."
},
"identityId": {
"type": "string",
"description": "Identity ID"
},
"emailVerified": {
"type": "boolean",
"description": "Value of the email_verified claim issued for this identity. Optional."
}
}
}{
"type": "object",
"required": [
"id",
"clientId",
"mailboxAddress"
],
"properties": {
"id": {
"type": "string",
"description": "Identity ID"
},
"name": {
"type": "string",
"description": "Display name"
},
"clientId": {
"type": "string",
"description": "OAuth client ID the identity belongs to"
},
"username": {
"type": "string",
"description": "Identity username"
},
"avatarUrl": {
"type": "string",
"description": "Avatar URL"
},
"mailboxAddress": {
"type": "string",
"description": "Mailbox address the identity is linked to"
}
}
}{
"title": "Update identity",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}identities.delete — Delete identity
Delete a mock identity.
{
"type": "object",
"required": [
"identityId"
],
"properties": {
"identityId": {
"type": "string",
"description": "Identity ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete identity",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}oauth.clients.list — List OAuth clients
List the tenant's OAuth clients for mock identity testing.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"clients": {
"type": "array",
"items": {
"type": "object",
"required": [
"clientId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Client display name"
},
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"clientSecret": {
"type": "string",
"description": "Plaintext secret — returned once at creation or rotation"
},
"providerType": {
"enum": [
"google",
"github",
"apple",
"facebook",
"custom"
],
"type": "string",
"description": "Identity provider type"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirect URIs"
},
"providerLabel": {
"type": "string",
"description": "Custom provider label"
}
}
}
}
}
}{
"title": "List OAuth clients",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}oauth.clients.create — Create OAuth client
Register an OAuth client for mock identity flows. The plaintext clientSecret is returned once at creation.
{
"type": "object",
"required": [
"name",
"redirectUris"
],
"properties": {
"name": {
"type": "string",
"description": "Client display name"
},
"providerType": {
"enum": [
"google",
"github",
"apple",
"facebook",
"custom"
],
"type": "string",
"description": "Identity provider type"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirect URIs (at least one)"
},
"providerLabel": {
"type": "string",
"description": "Custom provider label. Required when providerType is custom."
}
}
}{
"type": "object",
"required": [
"clientId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Client display name"
},
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"clientSecret": {
"type": "string",
"description": "Plaintext secret — returned once at creation or rotation"
},
"providerType": {
"enum": [
"google",
"github",
"apple",
"facebook",
"custom"
],
"type": "string",
"description": "Identity provider type"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirect URIs"
},
"providerLabel": {
"type": "string",
"description": "Custom provider label"
}
}
}{
"title": "Create OAuth client",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}oauth.clients.get — Get OAuth client
Fetch a single OAuth client by its public client ID.
{
"type": "object",
"required": [
"clientId"
],
"properties": {
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
}
}
}{
"type": "object",
"required": [
"clientId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Client display name"
},
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"clientSecret": {
"type": "string",
"description": "Plaintext secret — returned once at creation or rotation"
},
"providerType": {
"enum": [
"google",
"github",
"apple",
"facebook",
"custom"
],
"type": "string",
"description": "Identity provider type"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirect URIs"
},
"providerLabel": {
"type": "string",
"description": "Custom provider label"
}
}
}{
"title": "Get OAuth client",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}oauth.clients.delete — Delete OAuth client
Delete an OAuth client by its public client ID.
{
"type": "object",
"required": [
"clientId"
],
"properties": {
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
}
}
}{
"type": "object",
"required": [
"status",
"http_status"
],
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"http_status": {
"type": "integer",
"description": "HTTP status of the API response"
}
}
}{
"title": "Delete OAuth client",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}oauth.clients.rotate_secret — Rotate client secret
Rotate an OAuth client's secret. The new plaintext secret is returned once.
{
"type": "object",
"required": [
"clientId"
],
"properties": {
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
}
}
}{
"type": "object",
"required": [
"clientId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Client display name"
},
"clientId": {
"type": "string",
"description": "Public OAuth client ID"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp (RFC 3339)"
},
"clientSecret": {
"type": "string",
"description": "Plaintext secret — returned once at creation or rotation"
},
"providerType": {
"enum": [
"google",
"github",
"apple",
"facebook",
"custom"
],
"type": "string",
"description": "Identity provider type"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirect URIs"
},
"providerLabel": {
"type": "string",
"description": "Custom provider label"
}
}
}{
"title": "Rotate client secret",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 627 ms
- 95th percentile latency
- 627 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 627 ms · metadata changed · 40 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http minutemail-mcp https://mcp.minutemail.co/mcpCodex
codex mcp add minutemail-mcp --url https://mcp.minutemail.co/mcpCursor
{
"mcpServers": {
"minutemail-mcp": {
"url": "https://mcp.minutemail.co/mcp"
}
}
}Cline
{
"mcpServers": {
"minutemail-mcp": {
"type": "streamableHttp",
"url": "https://mcp.minutemail.co/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"minutemail-mcp": {
"type": "http",
"url": "https://mcp.minutemail.co/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http minutemail-mcp https://mcp.minutemail.co/mcpClaude Desktop
https://mcp.minutemail.co/mcpWindsurf
{
"mcpServers": {
"minutemail-mcp": {
"serverUrl": "https://mcp.minutemail.co/mcp"
}
}
}Let your agent find its tools
Find servers like MinuteMail MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.