mailpal-mcp-server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mailpal-mcp-servercheck my inbox for new messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 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
Related MCP server: InboxAPI CLI
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
npx 1id enrollThis creates a hardware-anchored identity. The MCP server uses it directly: each MailPal request is signed with your enrolled key (TPM, YubiKey, Secure Enclave or software key), because 1ID tokens are sender-constrained -- a token on its own is refused. There is no token to copy into a config file.
2. Add to your MCP client
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"]
}
}
}Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"]
}
}
}Windsurf (~/.windsurf/mcp.json):
{
"mcpServers": {
"mailpal": {
"command": "npx",
"args": ["-y", "mailpal-mcp-server"]
}
}
}Environment Variables
Variable | Required | Description |
| No | Override API base URL (default: |
Also Available As
Python:
mailpal-mcpon PyPI --pip install mailpal-mcpREST 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.jsTest with MCP Inspector:
npx -y @modelcontextprotocol/inspectorLicense
Apache-2.0 -- see LICENSE.
Built by Crypt Inc. -- the team behind 1id.com and mailpal.com.
Available Tools
2 toolsmailpalC
Email for AI agents -- send, receive, manage email with hardware attestation (mailpal.com). Call with operation="readme" for full documentation and available operations.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Parameters for the operation | |
| operation | Yes | The operation to perform (call with "readme" for documentation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions hardware attestation and a readme discovery path, but it does not disclose authentication requirements, rate limits, side effects (e.g., sending email), or what 'manage' entails. For a tool that can send and mutate email, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and then the readme instruction. No wasted text, though the marketing-style 'Email for AI agents' phrase could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a multi-operation gateway with a nested arbitrary `params` object, no output schema, and no annotations. The description defers nearly all operational detail to a readme call, leaving an agent unable to select or invoke specific operations without a preliminary discovery step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds the special `operation="readme"` value, but that is also stated in the schema, and it does not enumerate actual operations or clarify the arbitrary `params` object beyond what is already structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the domain (email for AI agents) and broad actions (send, receive, manage) plus a distinguishing security feature (hardware attestation). However, it does not specify the actual operations available or distinguish this tool from the sibling `oneid`; the required `operation` parameter is only explained by pointing to a readme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent to call `operation="readme"` for documentation, which is a minimal usage instruction. It provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oneidC
Hardware-anchored identity for AI agents (1id.com). Manage identity, devices, peer verification, and credentials. Call with operation="readme" for full documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Parameters for the operation | |
| operation | Yes | The operation to perform (call with "readme" for documentation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether operations are read-only or destructive, what permissions are required, whether changes are reversible, or what side effects to expect. 'Hardware-anchored' is architectural context, not behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the product and domain. Every sentence serves a purpose, though the capability list is broad and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-operation tool with nested parameters, no annotations, and no output schema, the description is minimal. It provides a readme escape hatch, but does not enumerate operations or disclose auth/safety context an agent would need before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the two parameters at a basic level. The description adds the concrete operation="readme" example, but does not explain the nested params object or list available operations, leaving parameter meaning mostly to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description establishes the domain (hardware-anchored identity for AI agents) and lists broad capability areas, but it does not name a concrete operation or verb beyond the generic 'Manage'. It is enough to know the tool is about identity, but not enough to distinguish specific operations or clearly separate it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only explicit guidance is procedural: call with operation="readme" for documentation. It does not state when to use this tool versus alternatives, nor does it provide prerequisites or exclusions. Usage is only implied by the identity-management domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v2.0.0- First observed
mailpal - First observed
oneid
TDQS
Scored across 2 tools
The two tools target clearly different domains (email vs. hardware identity), so an agent can pick between them without confusion. However, both use an identical generic 'operation' gateway pattern, so the actual sub-operations are not visible as distinct entities and require a readme call to disambiguate.
Both tools use the same single-word, lowercase product-name convention (mailpal, oneid), which is internally consistent. They do not follow a verb_noun pattern, but they are consistently named gateways rather than mixed styles.
Only two tools are exposed for what appears to be a broad email and identity ecosystem, which is thin for the apparent scope. Each tool is a mega-gateway hiding an unknown number of operations behind an 'operation' parameter, making the surface feel under-specified.
The visible surface only provides two generic dispatcher tools that require a 'readme' call before any real operation can be discovered. There are no explicit create/read/update/delete operations for email or identity, so coverage is opaque and requires exploration rather than being evident from the tool list.
Maintenance
Related MCP Connectors
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Hosted email for AI agents: create inboxes, send, receive, and reply over MCP with scoped API keys
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Related MCP Servers
AlicenseCqualityCmaintenanceFree email for AI agents with hardware attestation, real SMTP/IMAP/JMAP, and real-time notifications.2108 PyPIApache 2.0
InboxAPI CLIofficial
AlicenseNot gradedqualityBmaintenanceProvides an AI agent with its own email address to send, receive, and manage emails via MCP. No email server setup required.45 npm13MIT- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to validate email addresses and send emails via SMTP with zero external dependencies.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that acts as an email gateway for Gmail and Microsoft 365, enabling AI agents to send and read emails via MCP tools, with SMTP/IMAP and REST APIs for email sequencing and automation.1AGPL 3.0