mailpal-mcp
OfficialClick on "Install 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-mcpSend an email to my colleague with hardware attestation"
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
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
Related MCP server: MultiMail
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.
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 |
|---|---|---|---|
| operation | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavioral traits. It mentions hardware attestation but does not explain side effects, auth requirements, rate limits, or how to invoke different operations. The description is too brief to provide adequate 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 very concise (two sentences) and front-loaded with the main purpose. However, it sacrifices necessary detail for conciseness, especially for a gateway tool with multiple operations. It is appropriately sized but lacks structure for parameter guidance.
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?
Given the tool's complexity (gateway with sub-operations), 0% schema coverage, and no annotations, the description is incomplete. It does not explain how to perform the claimed email actions or what the output schema contains, forcing reliance on a meta-operation (readme).
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 coverage is 0%, and the description only hints at using operation='readme'. It does not explain the purpose of the 'operation' parameter (list of values) or the 'params' parameter, leaving the agent with no semantic understanding of the parameters.
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 clearly states the tool is for email operations (send, receive, manage) with hardware attestation, distinguishing it from the unrelated sibling 'oneid'. However, it doesn't specify which sub-operations correspond to these actions, relying on a readme operation for detail.
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?
No guidance on when to use this tool vs alternatives, and no explicit when-to-use or when-not-to-use advice. The only hint is to call with operation='readme' for documentation, which is a usage instruction but not a guideline for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oneidD
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 |
|---|---|---|---|
| operation | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It fails to mention any side effects (e.g., mutations), authentication requirements, rate limits, or what happens with different operations. The phrase 'Hardware-anchored identity' is not elaborated, leaving the agent uninformed about critical behavioral aspects.
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 (30 words) but is not concise because it mixes a vague purpose with a meta-instruction. The front-loaded information about hardware-anchored identity is unclear. The structure is reasonable but could be improved by separating the gateway instruction from the stated purpose.
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?
Given the tool's complexity as a gateway with dynamic operations, the description is severely incomplete. It provides no details about the response (output schema exists but is not referenced), no enumeration of possible operations, and no explanation of how 'params' are used. The agent cannot effectively select or invoke this tool based on the description alone.
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 0%, so the description must compensate. It only mentions one specific operation value ('readme') and does not describe the 'params' object at all. The agent gains little semantic understanding beyond the basic structure. The URL (1id.com) provides some context but does not clarify parameter usage.
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 states a high-level purpose ('Manage identity, devices, peer verification, and credentials') but lacks a specific verb+resource combination. It also introduces a meta-instruction about calling with operation='readme', creating confusion about what the tool actually does. The purpose is vague and not clearly distinguished from the sibling tool 'mailpal'.
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?
No explicit guidance on when to use this tool vs alternatives. The instruction to call with operation='readme' suggests the tool itself is used to retrieve documentation, but this contradicts the stated purpose of managing identity. No exclusions or context are provided, leaving the agent without clear usage criteria.
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. Dates show when Glama detected each change.
2 tool updates
v1.1.1- First observed
mailpal - First observed
oneid
TDQS
The two tools are clearly distinct: one handles email, the other handles identity. There is no overlap or ambiguity between them.
Both tool names are single-word product names, lacking any verb_noun pattern. They are not descriptive of actions, and there is no consistent naming convention for operations since all actions are hidden behind a generic 'operation' parameter.
Only two tools for two domains (email and identity) is extremely thin. Each tool is a catch-all that requires further parameterization, making the count misleadingly low for the apparent scope.
The tools do not expose direct operations; they only serve as entry points to a readme. The actual functionality is not represented in the tool surface, leading to significant gaps for agents that cannot dynamically introspect.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.
Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
- PO6 MailboxOAuthcom.po6
Give AI agents secure access to your email via private aliases with dedicated mailbox storage.
Related MCP Servers
- -licenseCqualityCmaintenanceGives on-the-fly inboxes to AI agents. Agents / LLM's can send, receive, and take action in isolated inboxes. Built for AI unlike Gmail. Check us out at agentmail.to1098-
- AlicenseAqualityDmaintenanceEmail for AI agents. Send and receive as markdown with human oversight.71582MIT

AgenticMailofficial
AlicenseAqualityAmaintenanceReal email and SMS for AI agents. Run a local mail server with disposable inboxes — agents send and receive real email, fetch verification codes, and drive a real inbox without going through any third-party email API.100212MIT
mailpal-mcp-serverofficial
AlicenseNot gradedqualityDmaintenanceFree email server for AI agents with hardware attestation, enabling agents to send, receive, and manage emails via MCP tools.30Apache 2.0
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