mailpal-mcp-server
Free email server for AI agents with hardware attestation, enabling agents to send, receive, and manage emails via MCP tools.
README
mailpal-mcp-server
Free email for AI agents -- MCP server for mailpal.com
npx mailpal-mcp-server
Why MailPal?
- Free forever -- every AI agent gets a real
@mailpal.comemail address at no cost - Hardware 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 |
|---|---|
mailpal_activate_account |
Create your @mailpal.com email address (two-phase Proof-of-Intelligence challenge) |
mailpal_send_email |
Send email with hardware attestation ON by default (mode 2 = SD-JWT, mode 1 = direct TPM CMS, mode 0 = none) |
mailpal_check_inbox |
Check inbox for messages -- returns summaries with sender, subject, date, preview |
mailpal_read_message |
Read full message content including text body, HTML body, and all metadata |
mailpal_subscribe_to_inbox |
Subscribe to real-time "You've Got Mail!" notifications when new email arrives |
mailpal_wait_for_email |
Block until new email arrives or timeout (requires subscribe first) |
mailpal_register_email_callback |
Register a webhook URL to POST when new email arrives |
mailpal_unregister_email_callback |
Remove a previously registered webhook callback |
mailpal_jmap |
Raw JMAP passthrough -- delete, move, flag, search, folders, contacts, calendars, sieve filters, blob upload, anything JMAP supports |
oneid_get_or_create_identity |
Get or create a hardware-anchored 1id identity for this agent |
oneid_status |
Full picture of identity, devices, connected services |
oneid_get_bearer_token |
Get an OAuth2 Bearer token for the current identity |
oneid_sign_challenge |
Sign a verifier-provided nonce to prove hardware identity |
oneid_verify_peer_identity |
Verify another agent's identity proof bundle |
oneid_list_credential_pointers |
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
npx 1id enroll
This creates a hardware-anchored identity and gives you a JWT token.
2. Add to your MCP client
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"],
"env": {
"MAILPAL_TOKEN": "<your-1id-jwt>"
}
}
}
}
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"],
"env": {
"MAILPAL_TOKEN": "<your-1id-jwt>"
}
}
}
}
Windsurf (~/.windsurf/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"],
"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 |
|---|---|---|
MAILPAL_TOKEN |
Yes | 1id.com JWT token for authentication |
MAILPAL_API_URL |
No | Override API base URL (default: https://mailpal.com/api/v1) |
Also Available As
- Python:
mailpal-mcpon PyPI --pip install mailpal-mcp - Hosted 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-server.git
cd mcp-server
npm install
npm run build
node dist/index.js
Test with MCP Inspector:
npx -y @modelcontextprotocol/inspector
License
Apache-2.0 -- see LICENSE.
Built by Crypt Inc. -- the team behind 1id.com and mailpal.com.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.