npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@chrptvn/mcp-server-minutemail

v1.0.0

Published

MCP server for MinuteMail — temporary/disposable email platform

Readme

MinuteMail MCP Server

An MCP (Model Context Protocol) server for MinuteMail — 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.

Prerequisites

  • Node.js v18 or higher
  • A MinuteMail API key — sign up at minutemail.co and create a key from your dashboard. Keys are prefixed mmak_.

Setup

1. Build

npm install
npm run build

2. Configure your MCP client

The API key is passed as an environment variable by your MCP client — no separate setup step required. Pick your client below:

GitHub Copilot CLI

Edit ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "minutemail": {
      "type": "local",
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      },
      "tools": ["*"]
    }
  }
}

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "minutemail": {
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "minutemail": {
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

VS Code

Edit .vscode/mcp.json in your workspace:

{
  "servers": {
    "minutemail": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

Available Tools (18)

Mailboxes

create_mailbox

Create a new temporary mailbox.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | domain | string | No | Email domain to use (e.g. minutemail.cc) | | expiresIn | number | No | TTL in minutes, 1–60 (default: 30) | | recoverable | boolean | No | If true, address is archived after expiry for later reuse | | tag | string | No | Optional label for the mailbox |

{
  "id": "be172e5d-bf8d-442e-a2f2-84d022bb29a5",
  "alias": "ihxyoqimnyla",
  "domain": "minutemail.cc",
  "address": "[email protected]",
  "recoverable": false,
  "tag": null,
  "owner": "2e8399c0-8791-4143-b7c7-58515441330b",
  "messageCount": 0,
  "expiresAt": "2024-01-01T00:30:00Z",
  "createdAt": "2024-01-01T00:00:00Z"
}

list_mailboxes

List all active mailboxes.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | address | string | No | Filter by email address |


get_mailbox

Get details of a specific mailbox.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID |


delete_mailbox

Delete a single mailbox immediately.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID to delete |


bulk_delete_mailboxes

Delete multiple mailboxes in a single atomic operation.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | ids | string[] | Yes | Array of mailbox IDs to delete |


Archived Mailboxes

Archived mailboxes reserve an email address for reuse without retaining messages.

list_archived_mailboxes

List all archived mailboxes. No parameters.


get_archived_mailbox

Get details of a specific archived mailbox.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | id | string | Yes | The archived mailbox ID |


reactivate_archived_mailbox

Reactivate an archived mailbox, creating a new empty mailbox at the same address.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | id | string | Yes | The archived mailbox ID to reactivate |


delete_archived_mailbox

Permanently delete a single archived mailbox.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | id | string | Yes | The archived mailbox ID to delete |


bulk_delete_archived_mailboxes

Permanently delete multiple archived mailboxes atomically.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | ids | string[] | Yes | Array of archived mailbox IDs to delete |


Messages

list_messages

List all emails in a mailbox.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID |


get_message

Get a specific email, including HTML and plain-text body.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID |

{
  "id": "c3d4e5f6-...",
  "mailboxId": "be172e5d-...",
  "from": "[email protected]",
  "to": "[email protected]",
  "subject": "Welcome!",
  "bodyText": "Hello, world!",
  "bodyHtml": "<p>Hello, world!</p>",
  "receivedAt": "2024-01-01T00:05:00Z"
}

delete_message

Delete a single email.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID to delete |


bulk_delete_messages

Delete multiple emails from a mailbox atomically.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | ids | string[] | Yes | Array of message IDs to delete |


Attachments

list_attachments

List all attachments in a specific email.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID |


get_attachment

Download a specific attachment. File content is returned as a Base64-encoded data field.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID | | attachmentId | string | Yes | The attachment ID |


delete_attachment

Delete a single attachment.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID | | attachmentId | string | Yes | The attachment ID to delete |


bulk_delete_attachments

Delete multiple attachments atomically.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | mailboxId | string | Yes | The mailbox ID | | mailId | string | Yes | The message ID | | ids | string[] | Yes | Array of attachment IDs to delete |


Error Handling

When an API call fails, the tool returns isError: true with a message in the format:

[<status_code>] <error_code>: <message>

| Status | Code | Meaning | |--------|------|---------| | 400 | bad_request | Malformed request or missing required fields | | 401 | unauthorized | Invalid or missing API key | | 403 | forbidden | No access, or domain not allowed for your account | | 404 | not_found | Resource does not exist | | 429 | rate_limit_exceeded | Per-minute request limit hit | | 429 | quota_exceeded | Daily quota exhausted | | 500 | internal_error | MinuteMail server-side error |

Rate Limits

| Plan | Requests/min | Calls/day | Active Mailboxes | Price | |------|-------------|-----------|-----------------|-------| | Free | 60 | 100 | 3 | $0 | | Hobbyist | 120 | 1,000 | 10 | $5/mo | | Pro | 600 | 10,000 | 50 | $15/mo | | Team | 1,200 | 50,000 | 200 | $49/mo |

Daily quota resets at 00:00 UTC. See MinuteMail docs for full details.

Setup

1. Get an API key

Sign up at minutemail.co and create an API key from your dashboard. Keys are prefixed mmak_.

2. Build

npm install
npm run build

3. Configure your MCP client

The API key is passed as an environment variable by your MCP client — no separate setup step required. Pick your client below:

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "minutemail": {
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "minutemail": {
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

VS Code

Edit .vscode/mcp.json in your workspace:

{
  "servers": {
    "minutemail": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/mcp-servers/servers/minutemail/dist/index.js"],
      "env": {
        "MINUTEMAIL_API_KEY": "mmak_your_key_here"
      }
    }
  }
}

Available Tools (18)

Mailboxes

| Tool | Description | |------|-------------| | create_mailbox | Create a new temporary mailbox (TTL 1–60 min) | | list_mailboxes | List all active mailboxes (optional address filter) | | get_mailbox | Get details of a specific mailbox | | delete_mailbox | Delete a single mailbox | | bulk_delete_mailboxes | Delete multiple mailboxes atomically |

Archived Mailboxes

| Tool | Description | |------|-------------| | list_archived_mailboxes | List all archived mailboxes | | get_archived_mailbox | Get details of a specific archived mailbox | | reactivate_archived_mailbox | Reactivate an archived mailbox at the same address | | delete_archived_mailbox | Permanently delete a single archived mailbox | | bulk_delete_archived_mailboxes | Permanently delete multiple archived mailboxes atomically |

Messages

| Tool | Description | |------|-------------| | list_messages | List all emails in a mailbox | | get_message | Get a specific email (includes HTML/text body) | | delete_message | Delete a single email | | bulk_delete_messages | Delete multiple emails atomically |

Attachments

| Tool | Description | |------|-------------| | list_attachments | List all attachments in an email | | get_attachment | Download an attachment (content as Base64) | | delete_attachment | Delete a single attachment | | bulk_delete_attachments | Delete multiple attachments atomically |

Rate Limits

MinuteMail enforces per-plan rate limits. Every API response includes an X-RateLimit-Remaining header. See the MinuteMail docs for plan details.