by MadLlama25
A Model Context Protocol (MCP) server that provides access to the Fastmail API, enabling AI assistants to interact with email, contacts, and calendar data. Includes a DXT (desktop extension) for Claude Desktop.
# Add to your Claude Code skills
git clone https://github.com/MadLlama25/fastmail-mcpLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono has CSS Declaration Injection via Style Object Values in JSX SSR",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:26:07.842Z",
"npmAuditRan": true,
"pipAuditRan": true
}fastmail-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by MadLlama25. A Model Context Protocol (MCP) server that provides access to the Fastmail API, enabling AI assistants to interact with email, contacts, and calendar data. Includes a DXT (desktop extension) for Claude Desktop. It has 122 GitHub stars.
fastmail-mcp returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/MadLlama25/fastmail-mcp" and add it to your Claude Code skills directory (see the Installation section above).
fastmail-mcp is primarily written in TypeScript. It is open-source under MadLlama25 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh fastmail-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
A Model Context Protocol (MCP) server that provides access to the Fastmail API, enabling AI assistants to interact with email, contacts, and calendar data.
Clone or download this repository
Install dependencies:
npm install
Build the project:
npm run build
Get your Fastmail API token:
Set environment variables:
export FASTMAIL_API_TOKEN="your_api_token_here"
# Optional: customize base URL (defaults to https://api.fastmail.com)
# Only api.fastmail.com and www.fastmailusercontent.com are accepted by default.
# For self-hosted JMAP servers, also set FASTMAIL_ALLOW_UNSAFE_BASE_URL=true.
export FASTMAIL_BASE_URL="https://api.fastmail.com"
# Optional: customize attachment download directory (defaults to ~/Downloads/fastmail-mcp/).
# download_attachment savePaths are confined to this directory; set it to the root
# you want attachments saved under to write there directly in one step.
export FASTMAIL_DOWNLOAD_DIR="/path/to/your/downloads"
Start the MCP server:
npm start
For development with auto-reload:
npm run dev
Default to main branch:
FASTMAIL_API_TOKEN="your_token" FASTMAIL_BASE_URL="https://api.fastmail.com" \
npx --yes github:MadLlama25/fastmail-mcp fastmail-mcp
Windows PowerShell:
$env:FASTMAIL_API_TOKEN="your_token"
$env:FASTMAIL_BASE_URL="https://api.fastmail.com"
npx --yes github:MadLlama25/fastmail-mcp fastmail-mcp
Pin to a tagged release:
FASTMAIL_API_TOKEN="your_token" \
npx --yes github:MadLlama25/fastmail-mcp@v1.11.1 fastmail-mcp
You can install this server as a Desktop Extension for Claude Desktop using the packaged .dxt file.
Build and pack:
npm run build
npx @anthropic-ai/dxt pack
This produces fastmail-mcp.dxt in the project root.
Install into Claude Desktop:
.dxt file, or drag it into Claude Desktophttps://api.fastmail.com (default)Use any of the tools (e.g. get_recent_emails).
🎯 Most Popular Tools:
mailboxId (optional), limit (default: 20), ascending (optional, oldest first)emailId (required)inReplyTo and references headers)
to (required array), cc (optional array), bcc (optional array), from (optional), mailboxId (optional), subject (required), textBody (optional), htmlBody (optional), inReplyTo (optional array), references (optional array), replyTo (optional array)send=false to save as draft instead of sending.
originalEmailId (required), to (optional array, defaults to original sender), cc (optional array), bcc (optional array), from (optional), textBody (optional), htmlBody (optional), send (optional boolean, default: true), replyTo (optional array)to (required array), cc (optional array), bcc (optional array), from (optional), subject (required), textBody (optional), htmlBody (optional), inReplyTo (optional array), references (optional array)to (optional array), cc (optional array), bcc (optional array), from (optional), mailboxId (optional), subject (optional), textBody (optional), htmlBody (optional), replyTo (optional array)query (required), limit (default: 20), ascending (optional, oldest first), excludeDrafts (optional, omit draft messages)excludeDrafts: true to filter them out server-side.limit (default: 10, max: 50), mailboxName (optional), ascending (optional, oldest first)mailboxName is omitted, all mailboxes are searched except Trash and Spam. Pass a mailbox name (e.g. 'inbox', 'sent') to scope to one folder.emailId (required), read (default: true)emailId (required)emailId (required), targetMailboxId (required)emailId (required), mailboxIds (required array)emailId (required), mailboxIds (required array)emailId (required)emailId (required), attachmentId (required), savePath (optional)savePath may be absolute or relative. Relative paths (including a bare filename) resolve against the download directory, so an attachment lands there in one step. Absolute paths must fall within that directory; traversal or symlink escape outside it is rejected. To save directly into your own location, set FASTMAIL_DOWNLOAD_DIR to that root — confinement stays on, scoped to the directory you choose.query (optional), from (optional), to (optional), subject (optional), hasAttachment (optional), isUnread (optional), mailboxId (optional), after (optional), before (optional), limit (default: 50), ascending (optional, oldest first)threadId (required), includeDrafts (optional, include in-progress drafts)includeDrafts: true to include them. Drafts are identified by the $draft keyword, so the asymmetry with search_emails (which includes drafts by default) is deliberate: a search should still find everything you've written.mailboxId (optional, defaults to all mailboxes)emailIds (required array), read (default: true)emailIds (required array), targetMailboxId (required)emailIds (required array)