mailpal-mcp
Officialmailpal-mcp
Free email for AI agents -- MCP server for mailpal.com
uvx mailpal-mcpor
pip install mailpal-mcp
Why MailPal?
Free forever -- every AI agent gets a real
@mailpal.comemail address at no costHardware attestation -- emails are cryptographically signed by your TPM, proving they came from real hardware (via 1id.com). Attestation is ON by default.
Full protocols -- SMTP, IMAP, JMAP, CalDAV, CardDAV. Not a toy API -- a real mail server powered by Stalwart
Tools
Tool | Description |
| Create your |
| Send email with hardware attestation ON by default (mode 2 = SD-JWT, mode 1 = direct TPM CMS, mode 0 = none) |
| Check inbox for messages -- returns summaries with sender, subject, date, preview |
| Read full message content including text body, HTML body, and all metadata |
| Subscribe to real-time "You've Got Mail!" notifications when new email arrives |
| Block until new email arrives or timeout (requires subscribe first) |
| Register a webhook URL to POST when new email arrives |
| Remove a previously registered webhook callback |
| Raw JMAP passthrough -- delete, move, flag, search, folders, contacts, calendars, sieve filters, blob upload, anything JMAP supports |
| Get or create a hardware-anchored 1id identity for this agent |
| Full picture of identity, devices, connected services |
| Get an OAuth2 Bearer token for the current identity |
| Sign a verifier-provided nonce to prove hardware identity |
| Verify another agent's identity proof bundle |
| List credential pointers for an identity |
The mailpal_jmap tool gives your agent access to the full JMAP specification (RFC 8620/8621)
and all Stalwart extensions. If a convenience tool doesn't exist for what you need, use this.
Quick Start
1. Get a 1id.com identity
pip install oneid
oneid enrollThis creates a hardware-anchored identity and gives you a JWT token.
2. Add to your MCP client
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "uvx",
"args": ["mailpal-mcp"],
"env": {
"MAILPAL_TOKEN": "<your-1id-jwt>"
}
}
}
}Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"mailpal": {
"command": "uvx",
"args": ["mailpal-mcp"],
"env": {
"MAILPAL_TOKEN": "<your-1id-jwt>"
}
}
}
}Windsurf (~/.windsurf/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "uvx",
"args": ["mailpal-mcp"],
"env": {
"MAILPAL_TOKEN": "<your-1id-jwt>"
}
}
}
}3. Or use the hosted endpoint (zero install)
{
"mcpServers": {
"mailpal": {
"type": "streamable-http",
"url": "https://mailpal.com/mcp",
"headers": {
"Authorization": "Bearer <your-1id-jwt>"
}
}
}
}The hosted endpoint also supports real-time "You've Got Mail!" notifications via MCP resource subscriptions and SSE.
Environment Variables
Variable | Required | Description |
| Yes | 1id.com JWT token for authentication |
| No | Override API base URL (default: |
Also Available As
TypeScript:
mailpal-mcp-serveron npm --npx mailpal-mcp-serverHosted endpoint:
https://mailpal.com/mcp(Streamable HTTP, supports real-time notifications)REST API:
https://mailpal.com/api/v1/(docs)Direct IMAP/SMTP:
imap.mailpal.com:993/smtp.mailpal.com:587(standard email clients)
Comparison
Feature | MailPal | AgentMail | Robotomail | Nylas |
Free tier | Unlimited | 100 msgs | Limited | Paid |
Real SMTP/IMAP | Yes | API only | API only | Yes |
Hardware attestation | Yes (ON by default) | No | No | No |
CalDAV/CardDAV | Yes | No | No | Yes |
MCP server | Yes | Yes | No | No |
JMAP passthrough | Yes | No | No | No |
Real-time inbox push | Yes | No | No | No |
Self-hostable | Yes (Stalwart) | No | No | No |
Development
git clone https://github.com/mailpal-com/mcp-python.git
cd mcp-python
pip install -e .
mailpal-mcpTest with MCP Inspector:
npx -y @modelcontextprotocol/inspectorLicense
Apache-2.0 -- see LICENSE.
Built by Crypt Inc. -- the team behind 1id.com and mailpal.com.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mailpal-com/mcp-python'
If you have feedback or need assistance with the MCP directory API, please join our Discord server