By wyattjoh
Run a local MCP server to manage JMAP email accounts, calendars, and contacts. Authenticate using JMAP_ACCOUNT_ID, JMAP_SESSION_URL, and JMAP_BEARER_TOKEN; operates as Deno subprocess with required secrets for secure access.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
jmap_account_idJMAP account ID (optional, auto-detected if not provided)
${user_config.jmap_account_id}jmap_session_urlJMAP server session URL (e.g., https://api.fastmail.com/jmap/session)
${user_config.jmap_session_url}jmap_bearer_tokenBearer token for JMAP authentication
${user_config.jmap_bearer_token}Requires secrets
Needs API keys or credentials to function
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Model Context Protocol (MCP) server that provides tools for interacting with JMAP (JSON Meta Application Protocol) email servers. Built with Deno and using the @htunnicliff/jmap-jam client library.
Install via the plugin marketplace:
/plugin marketplace add wyattjoh/claude-code-marketplace
/plugin install jmap-mcp@wyattjoh-marketplace
Then configure the required environment variables in your MCP server settings.
Add the following to your agent of choice:
{
"mcpServers": {
"jmap": {
"type": "stdio",
"command": "deno",
"args": [
"run",
"--allow-net=api.fastmail.com",
"--allow-env=JMAP_SESSION_URL,JMAP_BEARER_TOKEN,JMAP_ACCOUNT_ID",
"jsr:@wyattjoh/[email protected]"
],
"env": {
"JMAP_SESSION_URL": "https://api.fastmail.com/jmap/session",
"JMAP_BEARER_TOKEN": "YOUR_API_TOKEN"
}
}
}
}
Replace
api.fastmail.comin--allow-netwith your JMAP server's hostname if not using FastMail.
| Variable | Required | Description |
|---|---|---|
JMAP_SESSION_URL | Yes | JMAP server session URL (usually ends with /.well-known/jmap) |
JMAP_BEARER_TOKEN | Yes | Bearer token for authentication |
JMAP_ACCOUNT_ID | No | Account ID (auto-detected if not provided) |
get_mailboxesList mailboxes/folders with their IDs, names, and metadata. Call this first
to get mailbox IDs needed by search_emails (inMailbox) and move_emails
(mailboxId). Common names: Inbox, Drafts, Sent, Trash, Archive, Spam/Junk.
Parameters:
parentId (optional): Filter by parent mailbox IDlimit (optional): Max results (1-200, default: 100)position (optional): Starting position for paginationsearch_emailsSearch emails with filters. All filters are AND'd together. Returns only
email IDs — use get_emails to fetch content. Results include queryState for
incremental sync via get_search_updates.
Parameters:
npx claudepluginhub wyattjoh/claude-code-marketplace --plugin jmap-mcpDeno Language Server integration for Claude Code
Manage stacked branches and pull requests with git config metadata, Deno helper scripts, and the gh CLI.
MCP server that wraps the Dokploy REST API
Snapshot-friendly testing helpers for OpenTUI React apps under bun test, plus an agent skill that teaches Claude how to use them.
Remote 1Password secret access with Telegram approval for AI agents
Natural language interface for Apple Mail — search, compose, triage, organize, and analyze email with 24 MCP tools and an expert email management skill
Email management via IMAP/SMTP — multi-account
Gmail integration with multi-account support - read, search, send, and manage emails
Email via Himalaya CLI (IMAP/SMTP)
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.