privateemail-mcp
Enables reading, searching, and sending emails through a Namecheap PrivateEmail mailbox.
README
PrivateEmail connector for Claude
This is a small server that lets Claude read, search, and send email through your Namecheap PrivateEmail mailbox. Once it's deployed, you add it to Claude as a "custom connector" and Claude can use it in conversations.
It exposes 4 tools to Claude:
- search_emails — find emails by sender/subject, or just list recent ones
- read_email — get the full content of one email
- reply_email — reply to a specific email; automatically sends to the right person, keeps the subject threaded ("Re: ..."), and links it to the original message so it shows up in the same conversation in Gmail/Outlook/webmail
- send_email — send a brand-new (non-reply) email
Typical flow: you ask Claude about an email → Claude reads it and drafts a
reply right there in the chat for you to review → once you approve, Claude
calls reply_email to actually send it. The drafting itself doesn't need a
tool — that's just Claude writing text in the conversation, same as always.
Every send/reply also saves a copy into your mailbox's Sent folder, since sending over raw SMTP doesn't do that automatically the way a normal email app does.
Part 1 — Put the code on GitHub
- Go to github.com and sign in (create a free account if you don't have one).
- Click the "+" in the top right → "New repository". Name it
privateemail-mcp, keep it Private, and click "Create repository". - On the new repo page, click "uploading an existing file" and drag in every
file from this folder except
.env.exampleisn't required but is fine to include — just don't upload a real.envfile with your actual password in it. - Commit the files.
Part 2 — Deploy it on Render (free)
- Go to render.com and sign up (you can sign up with your GitHub account — this also makes Part 3 automatic).
- Click "New +" → "Web Service".
- Connect your
privateemail-mcpGitHub repo. - Fill in:
- Name: privateemail-mcp (or anything you like)
- Runtime: Node
- Build Command:
npm install - Start Command:
npm start - Instance Type: Free
- Under "Environment Variables", add three:
EMAIL_USER= your full PrivateEmail address (e.g.you@yourdomain.com)EMAIL_PASS= your mailbox passwordMCP_SECRET= a long random string you make up yourself (e.g. mash your keyboard for 30 characters). This acts like a password for the connector's web address, so keep it private — don't share it outside this setup.
- Click "Create Web Service". Render will build and start it — this takes a few minutes the first time.
- Once it's live, Render shows you a URL like
https://privateemail-mcp-xxxx.onrender.com. Visiting that URL in a browser should show "privateemail-mcp is running".
Note on the free tier: Render's free web services go to sleep after 15 minutes of no traffic, and take 30–60 seconds to wake up on the next request. That means the first email search/send after a quiet period might feel slow — that's normal, not an error.
Part 3 — Add it to Claude
- Your connector's full address is your Render URL plus
/mcp/plus theMCP_SECRETyou set. For example:https://privateemail-mcp-xxxx.onrender.com/mcp/your-long-random-string - In Claude, go to Settings → Connectors → Add custom connector.
- Paste that full URL (including the secret) into the server URL field.
- Leave OAuth Client ID/Secret blank — this connector doesn't use OAuth, the secret is already baked into the URL.
- Save. Then enable it for a conversation via the "+" button in the chat box.
Security notes
- Your mailbox password is stored only as an environment variable on Render — it's never in the code itself, and I (Claude) never see it.
- Anyone who has your full connector URL (with the secret) could read and send email as you, so treat that URL like a password.
- If you ever want to revoke access, just change
MCP_SECRETon Render and update the connector URL in Claude — the old URL stops working immediately.
If something breaks
The IMAP/SMTP logic is written against Namecheap's documented settings
(mail.privateemail.com, IMAP port 993, SMTP port 465), but I couldn't test
it live from here since I don't have network access to your mailbox. If you
hit errors after deploying, paste Render's log output back to me (in your
Render dashboard, click the service → "Logs") and I'll help debug it.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.