pylos-mcp
pylos-mcp is an email MCP server that allows AI agents to search, read, and draft emails across Gmail, Outlook, Microsoft 365, iCloud, and any IMAP mailbox. It is designed to be hardened against prompt injection by treating every message as input from a stranger and marking hidden or suspicious content. By default, the assistant can read and draft, while destructive actions like moving, sending, and deleting are disabled unless explicitly enabled with additional safety constraints.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
Checks and signals
Each line is separate evidence, not a trust score.
- Popularity 4 GitHub stars
What you can do with it
- Search and read emails from Gmail, Outlook, or IMAP mailboxes
- Draft emails with safety checks against prompt injection
- Neutralize image markup and hidden text in incoming messages
- Send emails only to allowlisted recipients with user confirmation
Source and maintenance
- Last repository push
- Latest release
- v1.3.0
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
pylos-mcp 1.3.0
{
"version": "1.3.0",
"transport": "stdio",
"identifier": "pylos-mcp",
"registryType": "npm",
"environmentVariables": [
{
"name": "EMAIL_USER",
"format": "string",
"isRequired": true,
"description": "Account login."
},
{
"name": "EMAIL_PASSWORD",
"format": "string",
"description": "App password. Either this or EMAIL_PASSWORD_CMD is required, except with PROVIDER=outlook, which signs in through the browser."
},
{
"name": "PROVIDER",
"format": "string",
"description": "One of gmail, outlook, icloud, yahoo, gmx, fastmail, mailbox.org, posteo. Fills in IMAP, SMTP and Sieve hosts and ports."
},
{
"name": "IMAP_HOST",
"format": "string",
"description": "IMAP hostname for self-hosted or unlisted providers. Overrides the preset."
},
{
"name": "CAPABILITIES",
"format": "string",
"description": "Comma-separated list of tiers beyond read, which is always included. Defaults to drafts."
},
{
"name": "MS_CLIENT_ID",
"format": "string",
"description": "With PROVIDER=outlook only. Application ID of an app registered in your organization's tenant."
},
{
"name": "MS_TENANT",
"format": "string",
"description": "With PROVIDER=outlook only. Tenant ID or domain, for a single-tenant MS_CLIENT_ID."
},
{
"name": "ACCOUNTS",
"format": "string",
"description": "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 unsuffixed account settings out."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"pylos-mcp": {
"command": "npx",
"args": [
"-y",
"pylos-mcp@1.3.0"
],
"env": {
"EMAIL_USER": "<YOUR_EMAIL_USER>",
"EMAIL_PASSWORD": "<YOUR_EMAIL_PASSWORD>",
"PROVIDER": "<YOUR_PROVIDER>",
"IMAP_HOST": "<YOUR_IMAP_HOST>",
"CAPABILITIES": "<YOUR_CAPABILITIES>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_TENANT": "<YOUR_MS_TENANT>",
"ACCOUNTS": "<YOUR_ACCOUNTS>"
}
}
}
}Cline
{
"mcpServers": {
"pylos-mcp": {
"command": "npx",
"args": [
"-y",
"pylos-mcp@1.3.0"
],
"env": {
"EMAIL_USER": "<YOUR_EMAIL_USER>",
"EMAIL_PASSWORD": "<YOUR_EMAIL_PASSWORD>",
"PROVIDER": "<YOUR_PROVIDER>",
"IMAP_HOST": "<YOUR_IMAP_HOST>",
"CAPABILITIES": "<YOUR_CAPABILITIES>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_TENANT": "<YOUR_MS_TENANT>",
"ACCOUNTS": "<YOUR_ACCOUNTS>"
}
}
}
}VS Code
{
"servers": {
"pylos-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pylos-mcp@1.3.0"
],
"env": {
"EMAIL_USER": "<YOUR_EMAIL_USER>",
"EMAIL_PASSWORD": "<YOUR_EMAIL_PASSWORD>",
"PROVIDER": "<YOUR_PROVIDER>",
"IMAP_HOST": "<YOUR_IMAP_HOST>",
"CAPABILITIES": "<YOUR_CAPABILITIES>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_TENANT": "<YOUR_MS_TENANT>",
"ACCOUNTS": "<YOUR_ACCOUNTS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"pylos-mcp": {
"command": "npx",
"args": [
"-y",
"pylos-mcp@1.3.0"
],
"env": {
"EMAIL_USER": "<YOUR_EMAIL_USER>",
"EMAIL_PASSWORD": "<YOUR_EMAIL_PASSWORD>",
"PROVIDER": "<YOUR_PROVIDER>",
"IMAP_HOST": "<YOUR_IMAP_HOST>",
"CAPABILITIES": "<YOUR_CAPABILITIES>",
"MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
"MS_TENANT": "<YOUR_MS_TENANT>",
"ACCOUNTS": "<YOUR_ACCOUNTS>"
}
}
}
}Let your agent find its tools
Find servers like pylos-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.