{"_id":"@chrptvn/mcp-server-minutemail","name":"@chrptvn/mcp-server-minutemail","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@chrptvn/mcp-server-minutemail","version":"1.0.0","description":"MCP server for MinuteMail — temporary/disposable email platform","type":"module","main":"dist/index.js","bin":{"mcp-server-minutemail":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0"},"_id":"@chrptvn/mcp-server-minutemail@1.0.0","gitHead":"a8638734444b0313ac3b7d69e1859958a68dc1e0","types":"./dist/index.d.ts","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-sBpBDhJiL6xNEW4mbeGIat5WMBaqp4J/dKNpPyU/QvoXn7+OTWqENJDm39vbqzr4+VaUs+5Vf3XkEPWiDFH+eQ==","shasum":"2eabdb736242344e6f5af13c218e7ad142327ed2","tarball":"https://registry.npmjs.org/@chrptvn/mcp-server-minutemail/-/mcp-server-minutemail-1.0.0.tgz","fileCount":24,"unpackedSize":43950,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEMCIBi4oCYn1pLro1TVzBAPgfSPjWVtzGFx3/6ZZDrPUQIoAh8hVvb5pBV1tJ8DBr4dTkt64wjWfKykDMoEL3n0F0lZ"}]},"_npmUser":{"name":"chrptvn","email":"chrptvn@gmail.com"},"directories":{},"maintainers":[{"name":"chrptvn","email":"chrptvn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-minutemail_1.0.0_1772300065273_0.021661544722947124"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-28T17:34:25.159Z","1.0.0":"2026-02-28T17:34:25.423Z","modified":"2026-02-28T17:34:25.661Z"},"maintainers":[{"name":"chrptvn","email":"chrptvn@gmail.com"}],"description":"MCP server for MinuteMail — temporary/disposable email platform","readme":"# MinuteMail MCP Server\n\nAn MCP (Model Context Protocol) server for [MinuteMail](https://minutemail.co) — a temporary/disposable email platform for developers. Programmatically create ephemeral inboxes, read incoming emails, and manage attachments via 18 tools covering the full MinuteMail REST API.\n\n## Prerequisites\n\n- **Node.js** v18 or higher\n- A **MinuteMail API key** — sign up at [minutemail.co](https://minutemail.co) and create a key from your dashboard. Keys are prefixed `mmak_`.\n\n## Setup\n\n### 1. Build\n\n```bash\nnpm install\nnpm run build\n```\n\n### 2. Configure your MCP client\n\nThe API key is passed as an environment variable by your MCP client — no separate setup step required. Pick your client below:\n\n#### GitHub Copilot CLI\n\nEdit `~/.copilot/mcp-config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"minutemail\": {\n      \"type\": \"local\",\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      },\n      \"tools\": [\"*\"]\n    }\n  }\n}\n```\n\n#### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"minutemail\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor\n\nEdit `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"minutemail\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### VS Code\n\nEdit `.vscode/mcp.json` in your workspace:\n\n```json\n{\n  \"servers\": {\n    \"minutemail\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools (18)\n\n### Mailboxes\n\n#### `create_mailbox`\nCreate a new temporary mailbox.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `domain` | string | No | Email domain to use (e.g. `minutemail.cc`) |\n| `expiresIn` | number | No | TTL in minutes, 1–60 (default: 30) |\n| `recoverable` | boolean | No | If `true`, address is archived after expiry for later reuse |\n| `tag` | string | No | Optional label for the mailbox |\n\n<details>\n<summary>Example response</summary>\n\n```json\n{\n  \"id\": \"be172e5d-bf8d-442e-a2f2-84d022bb29a5\",\n  \"alias\": \"ihxyoqimnyla\",\n  \"domain\": \"minutemail.cc\",\n  \"address\": \"ihxyoqimnyla@minutemail.cc\",\n  \"recoverable\": false,\n  \"tag\": null,\n  \"owner\": \"2e8399c0-8791-4143-b7c7-58515441330b\",\n  \"messageCount\": 0,\n  \"expiresAt\": \"2024-01-01T00:30:00Z\",\n  \"createdAt\": \"2024-01-01T00:00:00Z\"\n}\n```\n</details>\n\n---\n\n#### `list_mailboxes`\nList all active mailboxes.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `address` | string | No | Filter by email address |\n\n---\n\n#### `get_mailbox`\nGet details of a specific mailbox.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n\n---\n\n#### `delete_mailbox`\nDelete a single mailbox immediately.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID to delete |\n\n---\n\n#### `bulk_delete_mailboxes`\nDelete multiple mailboxes in a single atomic operation.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `ids` | string[] | Yes | Array of mailbox IDs to delete |\n\n---\n\n### Archived Mailboxes\n\nArchived mailboxes reserve an email address for reuse without retaining messages.\n\n#### `list_archived_mailboxes`\nList all archived mailboxes. No parameters.\n\n---\n\n#### `get_archived_mailbox`\nGet details of a specific archived mailbox.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `id` | string | Yes | The archived mailbox ID |\n\n---\n\n#### `reactivate_archived_mailbox`\nReactivate an archived mailbox, creating a new empty mailbox at the same address.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `id` | string | Yes | The archived mailbox ID to reactivate |\n\n---\n\n#### `delete_archived_mailbox`\nPermanently delete a single archived mailbox.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `id` | string | Yes | The archived mailbox ID to delete |\n\n---\n\n#### `bulk_delete_archived_mailboxes`\nPermanently delete multiple archived mailboxes atomically.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `ids` | string[] | Yes | Array of archived mailbox IDs to delete |\n\n---\n\n### Messages\n\n#### `list_messages`\nList all emails in a mailbox.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n\n---\n\n#### `get_message`\nGet a specific email, including HTML and plain-text body.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID |\n\n<details>\n<summary>Example response</summary>\n\n```json\n{\n  \"id\": \"c3d4e5f6-...\",\n  \"mailboxId\": \"be172e5d-...\",\n  \"from\": \"sender@example.com\",\n  \"to\": \"ihxyoqimnyla@minutemail.cc\",\n  \"subject\": \"Welcome!\",\n  \"bodyText\": \"Hello, world!\",\n  \"bodyHtml\": \"<p>Hello, world!</p>\",\n  \"receivedAt\": \"2024-01-01T00:05:00Z\"\n}\n```\n</details>\n\n---\n\n#### `delete_message`\nDelete a single email.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID to delete |\n\n---\n\n#### `bulk_delete_messages`\nDelete multiple emails from a mailbox atomically.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `ids` | string[] | Yes | Array of message IDs to delete |\n\n---\n\n### Attachments\n\n#### `list_attachments`\nList all attachments in a specific email.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID |\n\n---\n\n#### `get_attachment`\nDownload a specific attachment. File content is returned as a Base64-encoded `data` field.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID |\n| `attachmentId` | string | Yes | The attachment ID |\n\n---\n\n#### `delete_attachment`\nDelete a single attachment.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID |\n| `attachmentId` | string | Yes | The attachment ID to delete |\n\n---\n\n#### `bulk_delete_attachments`\nDelete multiple attachments atomically.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `mailboxId` | string | Yes | The mailbox ID |\n| `mailId` | string | Yes | The message ID |\n| `ids` | string[] | Yes | Array of attachment IDs to delete |\n\n---\n\n## Error Handling\n\nWhen an API call fails, the tool returns `isError: true` with a message in the format:\n\n```\n[<status_code>] <error_code>: <message>\n```\n\n| Status | Code | Meaning |\n|--------|------|---------|\n| 400 | `bad_request` | Malformed request or missing required fields |\n| 401 | `unauthorized` | Invalid or missing API key |\n| 403 | `forbidden` | No access, or domain not allowed for your account |\n| 404 | `not_found` | Resource does not exist |\n| 429 | `rate_limit_exceeded` | Per-minute request limit hit |\n| 429 | `quota_exceeded` | Daily quota exhausted |\n| 500 | `internal_error` | MinuteMail server-side error |\n\n## Rate Limits\n\n| Plan | Requests/min | Calls/day | Active Mailboxes | Price |\n|------|-------------|-----------|-----------------|-------|\n| Free | 60 | 100 | 3 | $0 |\n| Hobbyist | 120 | 1,000 | 10 | $5/mo |\n| Pro | 600 | 10,000 | 50 | $15/mo |\n| Team | 1,200 | 50,000 | 200 | $49/mo |\n\nDaily quota resets at 00:00 UTC. See [MinuteMail docs](https://docs.minutemail.co) for full details.\n\n\n## Setup\n\n### 1. Get an API key\n\nSign up at [minutemail.co](https://minutemail.co) and create an API key from your dashboard. Keys are prefixed `mmak_`.\n\n### 2. Build\n\n```bash\nnpm install\nnpm run build\n```\n\n### 3. Configure your MCP client\n\nThe API key is passed as an environment variable by your MCP client — no separate setup step required. Pick your client below:\n\n#### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"minutemail\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor\n\nEdit `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"minutemail\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### VS Code\n\nEdit `.vscode/mcp.json` in your workspace:\n\n```json\n{\n  \"servers\": {\n    \"minutemail\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-servers/servers/minutemail/dist/index.js\"],\n      \"env\": {\n        \"MINUTEMAIL_API_KEY\": \"mmak_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools (18)\n\n### Mailboxes\n| Tool | Description |\n|------|-------------|\n| `create_mailbox` | Create a new temporary mailbox (TTL 1–60 min) |\n| `list_mailboxes` | List all active mailboxes (optional `address` filter) |\n| `get_mailbox` | Get details of a specific mailbox |\n| `delete_mailbox` | Delete a single mailbox |\n| `bulk_delete_mailboxes` | Delete multiple mailboxes atomically |\n\n### Archived Mailboxes\n| Tool | Description |\n|------|-------------|\n| `list_archived_mailboxes` | List all archived mailboxes |\n| `get_archived_mailbox` | Get details of a specific archived mailbox |\n| `reactivate_archived_mailbox` | Reactivate an archived mailbox at the same address |\n| `delete_archived_mailbox` | Permanently delete a single archived mailbox |\n| `bulk_delete_archived_mailboxes` | Permanently delete multiple archived mailboxes atomically |\n\n### Messages\n| Tool | Description |\n|------|-------------|\n| `list_messages` | List all emails in a mailbox |\n| `get_message` | Get a specific email (includes HTML/text body) |\n| `delete_message` | Delete a single email |\n| `bulk_delete_messages` | Delete multiple emails atomically |\n\n### Attachments\n| Tool | Description |\n|------|-------------|\n| `list_attachments` | List all attachments in an email |\n| `get_attachment` | Download an attachment (content as Base64) |\n| `delete_attachment` | Delete a single attachment |\n| `bulk_delete_attachments` | Delete multiple attachments atomically |\n\n## Rate Limits\n\nMinuteMail enforces per-plan rate limits. Every API response includes an `X-RateLimit-Remaining` header. See the [MinuteMail docs](https://docs.minutemail.co) for plan details.\n","readmeFilename":"README.md","_rev":"1-33d06e6012096f150dc947c3fad63b1d"}