Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Explore

  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Tags index
  • Submit a server
  • Pricing

Learn

  • Guides hub
  • What is MCP?
  • Install guide
  • Troubleshooting
  • Security
  • Blog
  • Blog RSS

Tools

  • All tools
  • Config generator
  • Config validator
  • MCP playground
  • OpenAPI → MCP
  • Badge generator

For agents

  • API docs
  • Trust & traffic
  • llms.txt ↗ (opens in a new tab)
  • Catalog JSON ↗ (opens in a new tab)
  • Remote MCP ↗ (opens in a new tab)

Company

  • About
  • Contact
  • X (@AllMCPs) ↗ (opens in a new tab)
  • GitHub ↗ (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on Buildlist
© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. 💬 Communication
  3. MCP Emails
M
Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 8/10/2026, 11:27:56 PM

MCP Emails

Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time — check back soon.
View RepositoryVisit Website

Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON â–¾

Install Config Generator

Choose your client
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-emails-2": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-emails-2"
      ]
    }
  }
}

💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Install Directory Badge Claim listing Alternatives💬 More in Communication

Documentation Overview

MCPEmails

Give your AI agent an inbox. A hosted Model Context Protocol server that lets Claude, Cursor, or any MCP‑compatible client read, search, send, organize, and schedule email through your existing mailboxes — without ever storing your mail.

Connect a mailbox once, paste one URL into your agent, and it can work your inbox live. Email is fetched on demand and never retained; credentials are encrypted at rest and decrypted only at call time inside an isolated edge function.

🔗 mcpemails.com · 📚 Docs · 💳 Pricing


Contents

  • How it works
  • Quick start (connecting an agent)
  • Capabilities
  • Tools
  • OAuth scopes
  • Supported providers
  • Pricing
  • Architecture
  • Repository layout
  • Local development
  • Environment variables
  • Database & migrations
  • Deployment
  • Self-hosting
  • Internationalization
  • Security model

How it works

  1. Connect a mailbox. Sign in at mcpemails.com and connect Gmail (one‑click OAuth) or any IMAP/SMTP account (app password). Credentials are encrypted with AES‑256‑GCM before they touch the database.
  2. Get access. OAuth‑capable clients (claude.ai, Claude Desktop, Cursor) connect in one click via OAuth 2.0 + PKCE. Everything else uses a scoped API key (mcpe_…).
  3. Point your client at the server. The MCP endpoint is a single URL:
    Code
    https://mcpemails.com/api/mcp
    
  4. Your agent works the inbox. It calls tools like inbox_list, email_read (action: "search"), email_compose (action: "send"), and schedule (action: "create"). Each request fetches live from your provider — nothing is mirrored or cached server‑side.

Permissions are scoped per key, so you can hand an agent read:email only, or grant it send and folder management without ever exposing delete.

Quick start (connecting an agent)

Claude Desktop / Cursor (OAuth): add a remote MCP server pointing at https://mcpemails.com/api/mcp and approve the consent screen. Pick the scopes the agent should have.

API key (any MCP client): create a key in the dashboard, choose its scopes and (optionally) restrict it to specific inboxes, then send it as a bearer token:

jsonc
// Example MCP client config
{
  "mcpServers": {
    "mcpemails": {
      "url": "https://mcpemails.com/api/mcp",
      "headers": { "Authorization": "Bearer mcpe_your_key_here" }
    }
  }
}

The protocol is JSON‑RPC 2.0 over HTTP (MCP 2025-06-18, Streamable transport). Start every session with inbox_list — it returns the inboxes the key can reach, their per‑provider capabilities, and a versioned compatibility profile. The profile marks normalized operations as exact, different, or unavailable, so agents can preserve provider differences rather than silently weakening a request.

Capabilities

  • Live, never stored — email is read straight from your provider on each call; no message bodies are persisted.
  • Multi‑provider — Gmail via OAuth, plus any IMAP/SMTP mailbox (Fastmail, iCloud, Yahoo, Zoho, Yandex, self‑hosted…) via app password.
  • No relay — outbound mail is sent through your provider's SMTP/API, from your real address.
  • Granular scopes — eight permission scopes, grantable independently per API key and per inbox.
  • Batch & search‑and‑act — read, move, delete, or flag up to hundreds of messages in one call, including "search then move/delete" combinators.
  • Drafts & scheduling — compose drafts and queue messages for future send (server‑side dispatch).
  • Provider‑agnostic search — Gmail syntax, IMAP SEARCH, and JMAP are normalized behind one email_read (action: "search") interface.
  • Team‑ready — workspaces, members, roles, SSO, and an audit log on the Scale plan.

Tools

10 tools. Most are resource-oriented and take an action argument that selects the specific operation (and, for actions that need different privileges, the required scope):

ToolActionsScope(s)
inbox_list(single action)read:email
email_readlist, read, read_batch, search, attachment, extract, originalread:email (search also accepts search:email)
email_organizemove, move_batch, copy, copy_batch, flag, archive, search_and_movemanage:folders (move/copy/search_and_move), send:email (flag/archive)
email_deletedelete, delete_batch, search_and_deletedelete:email
email_composesend, reply, forwardsend:email
folderlist, create, rename, deleteread:email (list), manage:folders (create/rename/delete)
draftlist, create, reply, update, send, deletemanage:drafts (list/create/reply/update/delete), read:email (reply also), send:email (send)
schedulecreate, list, cancelschedule:email
signatureget, setread:email (get), send:email (set)
contact_search(single action)manage:contacts

Notes:

  • Tools accept either an explicit inbox_id (UUID) or an inbox email address; single‑inbox keys auto‑resolve the target.
  • Batch actions cap at 50 (email_read's read_batch) to 500 (move/delete/flag) messages per call.
  • For a targeted mutation, first use email_read with action: "search", then pass the returned message_id or message_ids to email_organize or email_delete. Search fields are accepted only by search_and_move and search_and_delete mutation actions.
  • contact_search scans recent mail live — there is no stored address book.
  • email_read's original action returns one complete provider-stored MIME message as a portable .eml file (up to 25 MB). It is read-only and never marks the message as read.
  • draft's send action requires send:email, not manage:drafts — so a key that can only manage drafts can't use them to bypass the send‑mail consent.
  • draft's reply action creates an unsent, provider-native reply in the source conversation. It needs both manage:drafts and read:email, and defaults to replying only to the sender.
  • tools/list only returns the tools your key (or OAuth token) is actually scoped for.

OAuth scopes

ScopeGrants
read:emailList inboxes & folders; list, read, and search messages
search:emailNarrower alternative that grants only email_read's search action
send:emailSend, reply, forward, flag, archive; also required to send a draft
manage:foldersCreate/rename/delete folders; move/copy messages
delete:emailTrash or permanently expunge messages
manage:draftsCreate, edit, and delete drafts (sending one also requires send:email)
manage:contactsLive contact lookup from recent mail
schedule:emailQueue messages for future delivery

Supported providers

ProviderConnect viaRead/SearchSendFoldersPermanent deleteDrafts
Gmail / Google WorkspaceOAuth 2.0✅✅LabelsTrash only✅
FastmailApp password (IMAP/SMTP)✅✅✅✅✅
iCloud, Yahoo, Zoho, YandexApp password (IMAP/SMTP)✅✅✅✅✅
Any IMAP/SMTP mailboxApp password✅✅✅✅✅
Outlook / Microsoft 365OAuth 2.0🚧 built, gated pending verification

Outlook OAuth is implemented end‑to‑end but currently gated behind Microsoft publisher verification; it is hidden from the connect UI until it ships.

Pricing

Every plan includes unlimited inboxes and API keys. Successful billable MCP calls use actions: Free includes 2,500 actions per billing period, Agent 50,000, and Scale 300,000. Paid tiers also add higher burst limits, analytics retention, team features, and support.

FreeAgentScale
Price$0$12/mo · $120/yr$49/mo · $490/yr
Inboxes / tool calls / API keysUnlimitedUnlimitedUnlimited
Members1 (owner only)UnlimitedUnlimited
Fair‑use rate limit60 req/min300 req/min1,000 req/min
Analytics retention7 days90 days1 year
Team roles & workspaces——✅
SSO (SAML/OIDC) + audit log——✅
SupportCommunityEmailPriority

Per‑API‑key limits also apply (100 req/min · 1,000/hr · 10,000/day). Inviting members requires a paid plan. The "Scale" tier carries the internal id pro. See apps/web/src/lib/stripe/plans.ts.

Architecture

mermaid
flowchart LR
    Agent["MCP client<br/>(Claude, Cursor, …)"] -->|"JSON-RPC / OAuth or API key"| Web

    subgraph Vercel["Vercel — Next.js 16"]
      Web["/api/mcp route<br/>+ marketing site + dashboard"]
    end

    subgraph Supabase
      Edge["mcp-server<br/>edge function (Deno)"]
      DB[("Postgres<br/>RLS + encrypted creds")]
      Cron["token-refresh<br/>edge functions"]
    end

    Web -->|proxies| Edge
    Edge -->|decrypt creds, fetch live| Providers["Email providers<br/>Gmail API · IMAP/SMTP"]
    Edge --> DB
    Cron --> DB
    Web --> Stripe[("Stripe<br/>billing")]
  • /api/mcp is a thin Next.js route handler that proxies to the Supabase edge function mcp-server — the real MCP implementation, where credentials are decrypted and provider calls are made.
  • The Postgres database stores workspaces, members, inboxes (encrypted tokens/passwords), hashed API keys, OAuth clients, scheduled sends, and an activity log — all guarded by Row‑Level Security.
  • Cron edge functions refresh Gmail/Outlook OAuth tokens before expiry.

Stack: Next.js 16 (App Router) · React 19 · next‑intl 4 · Supabase (Auth, Postgres, Edge Functions) · Stripe · Resend · TypeScript. Email parsing/sanitization via mailparser, jsdom, and isomorphic-dompurify.

Repository layout

Code
.
├── apps/
│   └── web/                     # Next.js 16 app (marketing, dashboard, /api/mcp proxy)
│       ├── app/                 # App Router routes ([locale], dashboard, api, auth)
│       ├── components/          # marketing/ + dashboard/ React components
│       ├── messages/            # next-intl translations (en, nb, es, fr, zh)
│       ├── src/lib/             # stripe/, supabase/, blog/, crypto helpers
│       └── proxy.ts             # middleware: i18n + Supabase session + CDN cache
├── supabase/
│   ├── functions/
│   │   ├── mcp-server/          # the MCP server (tools, auth, scopes)
│   │   ├── gmail-token-refresh/
│   │   └── outlook-token-refresh/
│   └── migrations/              # SQL migrations (schema + RLS)
└── package.json                 # npm workspaces (apps/*)

Local development

Prerequisites: Node.js 20+, npm, and the Supabase CLI (for migrations and edge functions).

bash
# 1. Install (npm workspaces — run from the repo root)
npm install

# 2. Configure environment
cp .env.example apps/web/.env.local
#   then fill in the values (see below) and generate the two secrets:
openssl rand -hex 32   # ENCRYPTION_KEY
openssl rand -hex 32   # CSRF_SECRET

# 3. Run the web app (http://localhost:3000)
npm run dev

# 4. Production build
npm run build

next.config.js validates required env vars at build/start and rejects weak ENCRYPTION_KEY values, so a misconfigured environment fails fast instead of at runtime.

Environment variables

Copy .env.example and fill in real values. Required in every environment:

VariablePurpose
NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase client (public)
SUPABASE_SERVICE_ROLE_KEYServer‑side admin key (bypasses RLS) — secret
NEXT_PUBLIC_APP_URLCanonical base URL; drives OAuth redirect URIs
GOOGLE_SITE_VERIFICATION (optional)Google Search Console HTML-tag verification token; set only in production
ENCRYPTION_KEY64‑hex AES‑256‑GCM key for credentials at rest — secret
CSRF_SECRET64‑hex HMAC key for CSRF tokens (distinct from above) — secret

Feature‑dependent:

Variable(s)Needed for
GMAIL_CLIENT_ID / GMAIL_CLIENT_SECRETGmail OAuth (gmail.readonly, gmail.send, gmail.modify)
OUTLOOK_CLIENT_ID / OUTLOOK_CLIENT_SECRET / OUTLOOK_TENANT_IDOutlook OAuth (Mail.Read, Mail.Send, Mail.ReadWrite, offline_access)
NEXT_PUBLIC_OAUTH_VERIFICATION_PENDINGShows the unverified‑app warning until Google/Microsoft verification completes
STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET / NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYBilling
STRIPE_PRICE_SOLO_MONTHLY / _YEARLY, STRIPE_PRICE_PRO_MONTHLY / _YEARLYPlan price IDs (pro = Scale)

Fastmail and other IMAP providers connect via app password and need no OAuth credentials.

Database & migrations

Schema and Row‑Level Security policies live in supabase/migrations/. Core tables: workspaces, workspace_members, inboxes (encrypted credentials, soft‑deleted), api_keys (hashed, scoped, inbox‑restricted), oauth_clients, scheduled_sends, workspace_invites, and a month‑partitioned activity_log.

bash
# Apply migrations to the linked project
npx supabase db push

# Generate TypeScript types from the live schema
npx supabase gen types typescript --linked > apps/web/src/types/database.ts

The Supabase CLI is the source of truth for DB changes in this project.

Deployment

Web app → Vercel (project mcp-emails-web):

bash
vercel --prod --yes

Security headers and function timeouts are defined in vercel.json. The marketing routes are served with a CDN‑cacheable Cache-Control (set in proxy.ts) so crawlers and repeat visitors hit the edge cache; the dashboard, auth, and API routes stay no-store.

MCP server → Supabase edge function:

Terminal
npx supabase functions deploy mcp-server --project-ref <your-project-ref> --no-verify-jwt

Self-hosting

Don't want to trust the hosted service with your mail? Run the same MCP server on your own machine. self-host/ ships a containerized stack (Postgres + PostgREST + the Deno server, no Supabase/Stripe/dashboard), so your credentials are encrypted with a key only you hold and decrypted only inside your own container.

server.ts
cd self-host
make setup      # generate secrets (.env)
make up         # build + start the stack
export IMAP_PASSWORD='your-app-password'
make provision EMAIL=you@example.com IMAP_HOST=imap.fastmail.com SMTP_HOST=smtp.fastmail.com SERVICE=fastmail
make key NAME="my agent"   # mint an mcpe_ key, then point your client at http://localhost:8787

It is IMAP/SMTP-first (Fastmail, iCloud, Yahoo, Zoho, Yandex, generic) via app password; Gmail/Outlook OAuth and the web dashboard remain hosted-only. The container runs supabase/functions/mcp-server/ unmodified; see self-host/README.md for the full guide.

Internationalization

Built with next‑intl (localePrefix: 'as-needed', localeDetection: false for stable canonical URLs). English is served at /; other locales carry a prefix (/nb, /es, /fr, /zh). Translations live under apps/web/messages/.

Supported locales: English, Norwegian Bokmål, Spanish, French, Chinese (Simplified).

Security model

  • Credentials encrypted at rest with AES‑256‑GCM; decrypted only inside the edge function at call time.
  • No message storage — email bodies and attachments are fetched live and never persisted. Attachment text extraction runs transiently in the request and returns no raw attachment bytes.
  • API keys are hashed (only a prefix is stored for display) and scoped per permission and per inbox, with optional expiry.
  • OAuth 2.0 + PKCE for client authorization; Dynamic Client Registration (RFC 7591) for MCP clients.
  • Row‑Level Security isolates every workspace's data at the database layer.
  • Strict CSP, HSTS, X-Frame-Options: DENY, and related headers on every response.

License

MCP Emails is open source under the GNU Affero General Public License v3.0 (AGPL‑3.0). The hosted service at mcpemails.com runs the same server you can self-host, so you can read the code, verify it, and run it yourself. See /security for the trust model.


Send and receive email from any agent. © MCPEmails, AGPL‑3.0.

Related MCP Servers

View all in Communication View all alternatives
  • M
    MCP Emails

    Email for AI agents: read, search, send, organize, and schedule across your inboxes.

    💬 Communication0 views
    Compare vs MCP Emails →
  • Mcp logoMcp

    Email for AI agents: inboxes, send/reply/forward, search, threads, webhooks — 21 SentFromAI tools.

    💬 Communication0 views
    Compare vs Mcp →
  • Mcp logoMcp

    Email for AI agents: inboxes, send/reply/forward, search, threads, webhooks — 21 SentVia tools.

    💬 Communication0 views
    Compare vs Mcp →
  • S
    Sebastianall1977 Gmail Mcp

    Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…

    💬 Communication1 views
    Compare vs Sebastianall1977 Gmail Mcp →

Frequently Asked Questions about MCP Emails

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "mcp-emails": { "command": "npx", "args": ["-y", "MCP Emails"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Emails AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-emails-2?style=directory)](https://allmcps.com/mcp/mcp-emails-2)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-emails-2"><img src="https://allmcps.com/api/badge/mcp-emails-2?style=directory" alt="MCP Emails on AllMCPs" /></a>

Technical Specs & Signals

Category💬Communication
More technical detailsExpand â–¾
TransportSTDIO
RuntimeNode.js
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging · 27/100How this signal is calculated ▾
Server availabilityNot measured

Not scored for repo-hosted servers — we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data — not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge — we recheck it stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in 💬 Communication →Best MCP servers for Slack & Communication →Alternatives to MCP Emails →Install in Claude DesktopInstall in CursorInstall in VS Code