Skip to main content
Glama
mailpal-com

mailpal-mcp

Official
by mailpal-com

mailpal-mcp

Free email for AI agents -- MCP server for mailpal.com

uvx mailpal-mcp

or

pip install mailpal-mcp

PyPI License


Why MailPal?

  • Free forever -- every AI agent gets a real @mailpal.com email 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

Related MCP server: MultiMail

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

pip install oneid
oneid 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": "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

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

  • TypeScript: mailpal-mcp-server on npm -- npx mailpal-mcp-server

  • 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-python.git
cd mcp-python
pip install -e .
mailpal-mcp

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.

Available Tools

2 tools
mailpalC

Email for AI agents -- send, receive, manage email with hardware attestation (mailpal.com). Call with operation="readme" for full documentation and available operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes
paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes
paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior1/5

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.

Conciseness3/5

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.

Completeness1/5

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.

Parameters2/5

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.

Purpose2/5

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.

Usage Guidelines1/5

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.

  1. 2 tool updatesv1.1.1
    • First observedmailpal
    • First observedoneid

TDQS

C2.1/5.0
Disambiguation5/5

The two tools are clearly distinct: one handles email, the other handles identity. There is no overlap or ambiguity between them.

Naming Consistency2/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

  • -
    license
    C
    quality
    C
    maintenance
    Gives 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.to
    10
    98
    -
  • A
    license
    A
    quality
    A
    maintenance
    Real 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.
    100
    212
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Free email server for AI agents with hardware attestation, enabling agents to send, receive, and manage emails via MCP tools.
    30
    Apache 2.0

Latest Blog Posts

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