HyperFrames by HeyGen
Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.
Email MCP server for Gmail, Outlook and any IMAP mailbox, hardened against prompt injection
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a pylos-mcp key (create it on the maker’s site) · 1 setting(s) to fill in (EMAIL_USER) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
EMAIL_USER Account login.Descriptions are as written by the maker.
SettingsDeveloperEdit Config
{
"mcpServers": {
"pylos": {
"command": "npx",
"args": [
"-y",
"pylos-mcp"
],
"env": {
"EMAIL_USER": "your-value",
"EMAIL_PASSWORD": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use pylos-mcp and tell me what you can do for me, then show me one thing✓ If Claude says it is using pylos-mcp or shows a pylos-mcp tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
PROVIDER One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports.IMAP_HOST IMAP hostname for self-hosted or unlisted providers. Overrides the preset.CAPABILITIES Comma-separated list of tiers beyond read, which is always included. Defaults to drafts.MS_CLIENT_ID With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant.MS_TENANT With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID.ACCOUNTS Names of several accounts, separated by commas, each 1 to 16 lowercase letters or digits. Each account's settings then end in __ and its name in capitals, such as EMAIL_USER__WORK. Leave the unsuffix…Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect pylos-mcp yet
pylos-mcp runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect pylos-mcp
B · Others in Chat & email that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
You need a pylos-mcp key (create it on the maker’s site) · 1 setting(s) to fill in (EMAIL_USER) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
EMAIL_USER Account login.Descriptions are as written by the maker.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user pylos --env EMAIL_USER=your-value --env EMAIL_PASSWORD=your-value -- npx -y pylos-mcpReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see pylos-mcp listed as connected
Use pylos-mcp and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using pylos-mcp or shows a pylos-mcp tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
PROVIDER One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports.IMAP_HOST IMAP hostname for self-hosted or unlisted providers. Overrides the preset.CAPABILITIES Comma-separated list of tiers beyond read, which is always included. Defaults to drafts.MS_CLIENT_ID With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant.MS_TENANT With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID.ACCOUNTS Names of several accounts, separated by commas, each 1 to 16 lowercase letters or digits. Each account's settings then end in __ and its name in capitals, such as EMAIL_USER__WORK. Leave the unsuffix…Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a pylos-mcp key (create it on the maker’s site) · 1 setting(s) to fill in (EMAIL_USER) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
EMAIL_USER Account login.Descriptions are as written by the maker.
In the pylos-mcp settings, EMAIL_PASSWORD, EMAIL_USER is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use pylos-mcp and tell me what you can do for me, then show me one thing✓ If Cursor says it is using pylos-mcp or shows a pylos-mcp tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
PROVIDER One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports.IMAP_HOST IMAP hostname for self-hosted or unlisted providers. Overrides the preset.CAPABILITIES Comma-separated list of tiers beyond read, which is always included. Defaults to drafts.MS_CLIENT_ID With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant.MS_TENANT With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID.ACCOUNTS Names of several accounts, separated by commas, each 1 to 16 lowercase letters or digits. Each account's settings then end in __ and its name in capitals, such as EMAIL_USER__WORK. Leave the unsuffix…Descriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a pylos-mcp key (create it on the maker’s site) · 1 setting(s) to fill in (EMAIL_USER) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
EMAIL_USER Account login.Descriptions are as written by the maker.
In the pylos-mcp settings, EMAIL_PASSWORD, EMAIL_USER is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use pylos-mcp and tell me what you can do for me, then show me one thing✓ If VS Code says it is using pylos-mcp or shows a pylos-mcp tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
PROVIDER One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports.IMAP_HOST IMAP hostname for self-hosted or unlisted providers. Overrides the preset.CAPABILITIES Comma-separated list of tiers beyond read, which is always included. Defaults to drafts.MS_CLIENT_ID With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant.MS_TENANT With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID.ACCOUNTS Names of several accounts, separated by commas, each 1 to 16 lowercase letters or digits. Each account's settings then end in __ and its name in capitals, such as EMAIL_USER__WORK. Leave the unsuffix…Descriptions are as written by the maker.
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user pylos --env EMAIL_USER=your-value --env EMAIL_PASSWORD=your-value -- npx -y pylos-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"pylos": {
"command": "npx",
"args": [
"-y",
"pylos-mcp"
],
"env": {
"EMAIL_USER": "your-value",
"EMAIL_PASSWORD": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"pylos": {
"command": "npx",
"args": [
"-y",
"pylos-mcp"
],
"env": {
"EMAIL_USER": "your-value",
"EMAIL_PASSWORD": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"pylos": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pylos-mcp"
],
"env": {
"EMAIL_USER": "your-value",
"EMAIL_PASSWORD": "your-value"
}
}
}
}EMAIL_USER required envEMAIL_PASSWORD secret required envPROVIDER envIMAP_HOST envCAPABILITIES envMS_CLIENT_ID envMS_TENANT envACCOUNTS envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: pylos-mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified with the GitHub account adamVass, which owns the repo
Code last changed 11 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: EMAIL_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 11 days ago, and the latest version (1.4.0) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: HyperFrames by HeyGen, Inbox Zero, draw.io
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
pylos-mcp
Your mail client shows you the message. pylos-mcp shows your assistant what it hides.
Warnings: sender_mismatch, hidden_text, instruction_patterns, mixed_script, encoded_blob
Reads and drafts by default. Sending starts off. No bcc anywhere.
Ask your assistant what needs you today, to sum up a long thread, or to draft the reply you keep putting off. pylos-mcp gives Claude, or any MCP client, your Gmail, Outlook and Microsoft 365, iCloud or IMAP mailbox to do it with.
Anyone can put text in your inbox, and once an AI assistant reads that inbox, they can put text in front of the assistant too. So every message reaches the assistant fenced as input from a stranger, with a Warnings line for what looks off, such as hidden text, phrases aimed at an AI, lookalike letters, a Reply-To on another domain or a failed DMARC check. The message in the image trips five detectors at once.
It runs on your machine. Moving, sending and deleting stay off until you turn them on, and sending then reaches only the recipients you allow.
--demo serves a sample inbox instead of yours. It holds a colleague's note with a deadline, a receipt, a newsletter, a parcel notice your mail server could not verify, and the account warning from the image above. The demo reads none of your settings and connects to no mail server, so there is nothing to sign in to.
claude mcp add pylos-demo -- npx -y pylos-mcp --demo
In other clients, add --demo to the args of the entry under Quick start and leave out env. Then ask the assistant whether anything in the inbox is urgent.
The newsletter shows a limit worth knowing. Its preview line is hidden from mail clients by design, so it gets a hidden_text warning too. A warning says what a message contains, not whether it is malicious.
pylos-mcp works with any client that runs local MCP servers. It runs locally through npx and needs Node.js 22 or later. Every route below starts from example values, so replace the address and password with your own. Use an app password, not your account's regular password, and for Outlook no password at all. Provider setup says where to get one.
pylos-mcp connects to your mail provider, and with Outlook to Microsoft's sign in service. What the assistant reads goes to your AI client and, through it, to the model provider you use, as anything else you show your assistant does. Attachments you ask for are saved to your Downloads folder.
Claude Desktop. Download pylos-mcp.mcpb, open it, and fill in the form Desktop shows.
Claude Code. --scope user makes it available in every project. EMAIL_PASSWORD_CMD keeps the password out of your shell history and Claude's config: it runs a command that prints the password, here a macOS keychain lookup. Store the password there first with security add-generic-password -s pylos-mcp -a you@example.com -w, which asks for it.
claude mcp add pylos-mcp --scope user -e PROVIDER=gmail -e EMAIL_USER=you@example.com \
-e EMAIL_PASSWORD_CMD="security find-generic-password -s pylos-mcp -w" -- npx -y pylos-mcp
Cursor and VS Code. Use the buttons above, then put your own values in the config they create.
Config files for Cursor, VS Code, Windsurf, Cline and other clients
Most clients, Cursor's .cursor/mcp.json and Claude Desktop's claude_desktop_config.json among them, take this entry:
{
"mcpServers": { "pylos-mcp": { "command": "npx", "args": ["-y", "pylos-mcp"], "env": { "PROVIDER": "gmail", "EMAIL_USER": "you@example.com", "EMAIL_PASSWORD": "your-app-password" } } } }
VS Code's .vscode/mcp.json names the key servers:
{
"servers": { "pylos-mcp": { "command": "npx", "args": ["-y", "pylos-mcp"], "env": { "PROVIDER": "gmail", "EMAIL_USER": "you@example.com", "EMAIL_PASSWORD": "your-app-password" } } } }
Outlook and Microsoft 365 take PROVIDER=outlook and no password at all, so remove EMAIL_PASSWORD from the entry, or the server refuses to start. The first time the assistant reads mail, your browser opens Microsoft's sign in page.
Restart your client fully after any change, since tools register only at startup and toggling the server off and on is not always enough. Then ask the assistant to list your mail folders. A list means it works.
If the Claude Desktop extension shows "Server disconnected", the reason is in Desktop's main.log in ~/Library/Logs/Claude on macOS or %APPDATA%\Claude\logs on Windows, on a line starting with pylos-mcp:.
Simon Willison calls it the lethal trifecta: an AI agent with access to private data, exposure to untrusted content and the ability to communicate externally. An assistant reading your email has the first two by design, because your inbox is private and anyone can write to it. Stealing what it read takes the third, a way to send it somewhere else.
Sending is off by default. Drafts wait in your Drafts folder until you send them yourself, and enabling sending still requires a recipient allowlist. With SEND_CONFIRM=true, every message is also shown to you in a dialog and goes out only if you accept. No tool attaches a file from your disk or adds a forwarding rule.
The third leg can still come from elsewhere in the same client, such as a tool that fetches web pages or runs shell commands. Image markup inside a message is neutralized, but the model can still write an image link of its own, which a client that loads images would fetch. When the assistant reads your mail, keep tools that reach the internet out of that conversation.
Fencing reduces prompt injection risk, and nothing eliminates it. The model still reads text written by strangers, so check what the assistant tells you about your mail before acting on it.
Each capability is a separate switch, and turning one on leaves the others as they are. Reading is always on, drafting starts on, and everything else stays off until you list it in CAPABILITIES. A tier that is off has its tools left out of the tool list entirely, so a model never learns they exist.
| Tier | Default | Tools |
|---|---|---|
read | always on | search_emails, get_email, get_thread, get_attachment, list_folders |
drafts | on | create_draft |
manage | off | move_email, set_flags |
send | off | send_email |
delete | off | delete_email |
sieve-read | off | list_sieve_scripts, get_sieve_script |
Enable more with a list, for example CAPABILITIES=drafts,manage,delete. Moving a message into Trash is a delete by another route, so move_email refuses Trash unless delete is on too.
get_thread lists the conversation a message belongs to, meaning the messages it replies to and the replies that name it or an earlier message, from its own folder, INBOX and Sent. Each message is then read with get_email, which adds its warnings. Both create_draft and send_email take in_reply_to to thread a reply under the original in mail clients. Sending the reply marks the original as answered. With quote_original, the server adds the original below the reply as mail clients do, but only when every recipient was already on the original. Text the original's HTML hid is left out. A message body can be at most 64 kB, quote included.
search_emails pages through results filtered by free text, from, to, subject, since and before dates, or unread and flagged status. get_email shows sent and arrival times, Cc, and Reply-To when it differs from From. With manage on, set_flags marks messages read, unread, flagged or unflagged.
get_attachment saves a file to DOWNLOAD_DIR without reading its contents into the conversation. Saved files are readable only by you, never replace an existing file, and on macOS carry the quarantine flag, so an app among them goes through Gatekeeper before it runs.
These limits are enforced by the server.