Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

pylos-mcp

by adamVassversion 1.4.0i★ 4iRuns on your computer
Registry nameio.github.adamVass/pylos-mcp

How to install

What it does

Email MCP server for Gmail, Outlook and any IMAP mailbox, hardened against prompt injection

  • Connects Runs on your computer
  • Account or key Needs EMAIL_PASSWORD · 1 setting to fill in (EMAIL_USER)
  • Category Chat & email

Install

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

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a pylos-mcp key

    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.

    Open the pylos-mcp site ↗

  3. Fill in 1 setting(s)

    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.

  4. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  5. Paste these settings and save the file

    {
      "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

  6. Quit Claude and open it again

  7. Try it

    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

6 optional setting(s) (works without them)

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

What you can do instead

A · Use an app that can connect pylos-mcp

  • 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
  • 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)
  • 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)
  • 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)

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)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a pylos-mcp key

    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.

    Open the pylos-mcp site ↗

  3. Fill in 1 setting(s)

    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.

  4. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  5. Paste this command and press Enter

    claude mcp add --scope user pylos --env EMAIL_USER=your-value --env EMAIL_PASSWORD=your-value -- npx -y pylos-mcp

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  6. Type /mcp in Claude Code

    You should see pylos-mcp listed as connected

  7. Try it

    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

6 optional setting(s) (works without them)

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)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a pylos-mcp key

    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.

    Open the pylos-mcp site ↗

  3. Fill in 1 setting(s)

    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.

  4. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  5. Fill in your key

    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

  6. Open the AI chat in Cursor in Agent mode

  7. Try it

    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

6 optional setting(s) (works without them)

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)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a pylos-mcp key

    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.

    Open the pylos-mcp site ↗

  3. Fill in 1 setting(s)

    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.

  4. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  5. Fill in your key

    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

  6. Open the AI chat in VS Code in Agent mode

  7. Try it

    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

6 optional setting(s) (works without them)

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.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use pylos-mcp💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

claude mcp add --scope user pylos --env EMAIL_USER=your-value --env EMAIL_PASSWORD=your-value -- npx -y pylos-mcp

Claude 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"
      }
    }
  }
}

Values you fill in

  • EMAIL_USER required env
    Account login.
  • EMAIL_PASSWORD secret required env
    App password. Either this or EMAIL_PASSWORD_CMD is required, except with PROVIDER=outlook, which signs in through the browser.
  • PROVIDER env
    One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports.
  • IMAP_HOST env
    IMAP hostname for self-hosted or unlisted providers. Overrides the preset.
  • CAPABILITIES env
    Comma-separated list of tiers beyond read, which is always included. Defaults to drafts.
  • MS_CLIENT_ID env
    With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant.
  • MS_TENANT env
    With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID.
  • ACCOUNTS env
    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.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
387/wk
Connection
Runs on your computer
Latest versioni
1.4.0
Published to registryi
Nov 3, 2026
Code last changedi
Nov 3, 2026
Maker
adamVass
Packages
npm: pylos-mcp
Website
github.com
Registry status
Active

Which apps can use it

Based 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

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

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

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account adamVass, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 11 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

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.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Chat & emaili

  • More stars than 93% of the other 2042 servers in this category
  • Published to the registry more recently than 70% of the other 2042 servers in this category
  • Basic checks equal to or better than 100% of the other 2042 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is pylos-mcp safe?

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.

What keys or codes does it need?

You need to fill in: EMAIL_PASSWORD

Does it run on my computer or in the cloud?

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).

Is it still maintained?

The GitHub repo last changed 11 days ago, and the latest version (1.4.0) reached the registry 11 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: HyperFrames by HeyGen, Inbox Zero, draw.io

Others in the same category

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

HyperFrames by HeyGen

Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.

by heygen-comWidely used★ 83.9KUpdated today

Runs in the cloud

Inbox Zero

Search Gmail and Outlook, save drafts, manage email rules, and view email stats.

by elie222Widely used★ 13KUpdated 44 days ago

Runs in the cloud

draw.io

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

by jgraphWidely used★ 5.8KUpdated 4 days ago

Runs in the cloud✓ service owner · draw.io

README from the maker

Open the README

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.

Try it without a mailbox

--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.

Quick start

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:.

Why the defaults are what they are

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.

Capabilities

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.

TierDefaultTools
readalways onsearch_emails, get_email, get_thread, get_attachment, list_folders
draftsoncreate_draft
manageoffmove_email, set_flags
sendoffsend_email
deleteoffdelete_email
sieve-readofflist_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.

What this can never do

These limits are enforced by the server.

  • No raw HTML reaches the model. Bodies come from the plain text part when one exists, or are converted to text otherwise. Invisible characters that hide instructions from a reader while staying readable to a model are stripped.
  • Bodies, subjects, sender names and Sieve scripts are fenced with markers that are neutralized inside the content, so a message cannot forge its way out. The server writes the lines outside the fence. Any short mailbox value repeated there

Only the beginning is shown; read the rest in the repo