@molted/mcp
v0.2.0
Published
MCP server for the Molted Email platform -- expose the Molted API as discoverable tools for any MCP-compatible agent runtime
Maintainers
Readme
@molted/mcp
MCP server for the Molted Email platform. Exposes the Molted API as discoverable tools for any MCP-compatible agent runtime (Claude Desktop, Cursor, VS Code Copilot, Windsurf, and others).
Quick start
npx -y @molted/mcpSet MOLTED_API_KEY to your API key (mm_live_* or mm_test_*). The server starts in stdio mode by default.
Configuration
Environment variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| MOLTED_API_KEY | Yes | - | Your Molted API key |
| MOLTED_API_URL | No | https://api.molted.email | API base URL |
CLI options
--transport <stdio|http> Transport mode (default: stdio)
--port <number> HTTP port (default: 3100, http mode only)
--help Show helpRuntime configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"molted": {
"command": "npx",
"args": ["-y", "@molted/mcp"],
"env": {
"MOLTED_API_KEY": "mm_live_..."
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"molted": {
"command": "npx",
"args": ["-y", "@molted/mcp"],
"env": {
"MOLTED_API_KEY": "mm_live_..."
}
}
}
}VS Code Copilot
Add to .vscode/mcp.json:
{
"servers": {
"molted": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@molted/mcp"],
"env": {
"MOLTED_API_KEY": "mm_live_..."
}
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"molted": {
"command": "npx",
"args": ["-y", "@molted/mcp"],
"env": {
"MOLTED_API_KEY": "mm_live_..."
}
}
}
}HTTP transport (cloud agents)
MOLTED_API_KEY=mm_live_... npx -y @molted/mcp --transport http --port 3100Available tools
Budget
| Tool | Description |
|------|-------------|
| check_budget | Check remaining send capacity (daily/hourly limits, bounce/complaint budget) |
Inbox & Threads
| Tool | Description |
|------|-------------|
| read_inbox | List threads with optional filtering by mailbox, status, and limit |
| get_thread | Get a full thread with all messages and metadata |
| reply | Reply to a thread (shorthand text/html or custom template) |
| archive | Archive a resolved thread |
| update_thread | Update thread status, metadata, or assignment |
| approve | Approve a pending send in the approval queue |
Sending
| Tool | Description |
|------|-------------|
| send_email | Send a policy-checked email (shorthand or template mode) |
| draft_email | Draft an email with AI composition and policy pre-check |
| dry_run | Simulate a send to preview the policy decision |
| batch_send | Send to multiple recipients with per-recipient policy (max 500) |
| schedule_followup | Schedule a delayed follow-up that auto-cancels on reply |
Intelligence
| Tool | Description |
|------|-------------|
| classify_inbound | Classify an inbound email's intent and safety |
| next_best_action | Get a recommendation for what to do next with a contact |
| get_context | Get full contact timeline and relationship history |
| batch_classify | Classify multiple inbound emails in one call |
| batch_next_action | Get next-best-action for multiple contacts at once |
Scoped keys
API keys can be scoped to specific mailboxes. When using a scoped key, tools automatically operate within that mailbox's context. See the authentication docs for details.
Error handling
The MCP server maps API responses to structured MCP results:
- 2xx - Success with parsed data
- 429 - Rate limited (includes retry-after)
- 403 - Insufficient scope (key doesn't have required permissions)
- 401 - Authentication error
- 404 - Resource not found
- 5xx - Server error
Policy blocks (e.g., suppressed contact, rate limit exceeded) are returned as successful results with the block reason so your agent can reason about alternatives.
Docs
Full documentation: docs.molted.email/mcp-server
License
MIT
