Skip to main content
Glama
mailpal-com

mailpal-mcp-server

Official
by mailpal-com

mailpal-mcp-server

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

npx mailpal-mcp-server

npm 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: InboxAPI CLI

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. 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

MAILPAL_API_URL

No

Override API base URL (default: https://mailpal.com/api/v1)

Also Available As

  • Python: mailpal-mcp on PyPI -- pip install mailpal-mcp

  • 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.

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.

NameRequiredDescriptionDefault
paramsNoParameters for the operation
operationYesThe operation to perform (call with "readme" for documentation)

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
paramsNoParameters for the operation
operationYesThe operation to perform (call with "readme" for documentation)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines3/5

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.

  1. 2 tool updatesv2.0.0
    • First observedmailpal
    • First observedoneid

TDQS

C2.8/5.0

Scored across 2 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Free email for AI agents with hardware attestation, real SMTP/IMAP/JMAP, and real-time notifications.
    2
    108 PyPI
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides an AI agent with its own email address to send, receive, and manage emails via MCP. No email server setup required.
    45 npm
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to validate email addresses and send emails via SMTP with zero external dependencies.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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.
    1
    AGPL 3.0