MCP server: One MCP server.

Proton Mail

@alexendrosMCP server · External

Proton Mail MCP via Bridge (IMAP/SMTP) · 13 tools · dual transport stdio + HTTP.

Email inboxv0.1.2AGPL-3.0TypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@alexendros/proton-mail-mcpv0.1.2

Run

npx -y @alexendros/proton-mail-mcp

MCP client config

{
  "mcpServers": {
    "proton-mail": {
      "command": "npx",
      "args": [
        "-y",
        "@alexendros/proton-mail-mcp"
      ]
    }
  }
}
README5 min read

Proton Suite Agent

Propósito de este documento

  • Objetivos: Orientar el pulso del repo, el quickstart y el enrutado a los documentos canónicos.
  • Estructura: Ficha → pulso → mapa de lectura → instalación, tools, agente, calidad.
  • Contenido a integrar según contexto: Stack TypeScript/MCP, frontera Bridge, dry-run por defecto, Makefile fachada.

Abrir cuando: Orientación, pulso y enrutado. Aprobado: 15 de agosto de 2026 Audiencia: Agente, Dirección, Usuarios Autoridad: Lectura Clase: Obligatorio Días para revisión: 14 En repo: Sí Estado: Vigente Orden: 1 Propósito: Punto de entrada: pulso, quickstart y qué leer después. Reforma: Operativa Responsable: Alexendros Revisión: 29 de agosto de 2026 Rol: Entrada Ruta: ./README.md

CI CodeQL OpenSSF Scorecard Coverage License: AGPL-3.0 Node npm

📌

Propósito

Punto de entrada de lectura. Te dice el pulso, cómo arrancar y qué documento abrir después. Lo no negociable vive en CONSTITUTION.md.


Estado en una mirada

Pulso: 24 de septiembre de 2026 · v1.4.0

Fase activa: Fase 1 (Pass / agente / DX) checklist cerrada · siguiente: Fase 2 (Calendar, bloqueada). Ver ROADMAP.md.

Métricas: 47 tools por defecto (50 con Calendar experimental) · 965 tests · cobertura ~98% (gate 95%).

CapaEstado
Mail (Bridge IMAP/SMTP)Operativo
Pass (pass / gopass)Operativo
Drive (proton-drive CLI)Operativo (ADR-006)
CalendarStub hasta CalDAV en Bridge (ADR-005)
Documentación canónicaSubfase 0 completada

MCP server multi-producto para Proton Suite: Mail, Pass, Drive y Calendar (stub). Un agente opera el buzón, gestiona contraseñas y sincroniza archivos — local, sin exfiltrar contenido E2E.

ModoDescripción
stdio (default)Sin exponer red. Ideal para agentes IA locales.
streamable HTTPBearer auth + origin allowlist. Docker / reverse proxy.

Qué leer a continuación

Si necesitasAbreAún no
Lo no negociableCONSTITUTION.mdROADMAP entero
Orden de trabajo y fasesROADMAP.mdCódigo
Implementar como agenteAGENTS.mdARCHITECTURE completo
Capas y flujosARCHITECTURE.mdCódigo
Threat modelSECURITY.md—
Contribuir / PRCONTRIBUTING.md—
Contrato de tools MCPdocs/api/mcp-tools.md—
Decisiones (por qué)docs/adr/—
Índice de guíasdocs/README.md—
Playbooks + promptsplaybooks/README.md—

Primera sesión: este README → AGENTS.md §§ TL;DR + ficha → fase activa en ROADMAP.md → ADR/ancla citada.


Quickstart

Prerrequisitos: Node ≥ 22, pnpm, Proton Mail Bridge en local, pass o gopass + gpg para contraseñas.

1. Instalar y compilar

bash
git clone https://github.com/Soluciones-Alexendros/protonsuite-tools.git
cd protonsuite-tools
pnpm install && pnpm build && pnpm run smoke

2. Configurar variables de entorno

bash
export PROTON_BRIDGE_USER=you@proton.me
export PROTON_BRIDGE_PASS=your-bridge-password
export PROTON_MAIL_FROM=you@proton.me

3. Conectar tu cliente MCP

jsonc
{
  "mcpServers": {
    "protonsuite": {
      "command": "npx",
      "args": ["-y", "@alexendros/protonsuite-agent", "protonsuite-mcp"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "PROTON_BRIDGE_USER": "you@proton.me",
        "PROTON_BRIDGE_PASS": "your-bridge-password",
        "PROTON_MAIL_FROM": "you@proton.me",
        "PROTON_BRIDGE_TLS_INSECURE": "true",
        "PROTON_PASS_ENABLED": "true",
      },
    },
  },
}

Seguridad: usa PROTON_PASS_BRIDGE_PATH=proton/bridge/password o el wrapper JIT en connectors/stdio-wrapper.sh.example para no dejar el bridge password en disco.

4. Organizar el buzón (dry-run)

bash
AGENT_DRY_RUN=true pnpm exec protonsuite-agent organize
# o: npx -y @alexendros/protonsuite-agent organize

El agente analiza el inbox y presenta un plan sin aplicar cambios. Desactiva AGENT_DRY_RUN solo tras revisión.


Tools MCP

47 tools por defecto (50 con Calendar experimental). Lectura: response_format: "markdown" | "json".

ProductoToolsResumen
Mail14List, search, read, send, reply, forward, flag, move, delete, attachments
Pass4+List, get (sin valores), generate, health; audit vía agente
Drive8+Status, list, download, upload, share, audit, organize
Calendarstub{available: false} hasta CalDAV vía Bridge (ADR-005)
Suite / Bridge / Ecosystem / AgentrestoEstado unificado, Bridge, binarios, plan de agente

Contrato generado: docs/api/mcp-tools.md. Guía: docs/agent-quickstart.md.


Agente

GoalPipeline
setupVerifica Bridge (IMAP + SMTP)
organizeClasifica inbox, carpetas/etiquetas, amenazas
monitor / alertSolo lectura — alertas
pass-auditFortaleza, duplicados, plan de rotación (dry-run)
suite-statusReporte cross-producto
discover / check-imapConectividad
Drive goalsdrive-audit, drive-organize, …

Drive CLI

bash
sudo wget -q 'https://proton.me/download/drive/cli/linux/proton-drive' \
  -O /usr/local/bin/proton-drive && sudo chmod +x /usr/local/bin/proton-drive
proton-drive auth login

Requiere DRIVE_ENABLED=true (default). Ver docs/drive-audit.md.


Despliegue

bash
docker compose up -d

Ver docs/deployment-http-docker.md. Instalador: scripts/install.sh.

Interfaz local

SPA estática en apps/web (ADR-0007): landing y panel de estado. No forma parte del proceso MCP. pnpm run build la genera en apps/web/dist. Se abre sin Bridge; el panel usa el adaptador local «datos de ejemplo» y no pide credenciales. Calendar sigue en stub.


Documentación

DocumentoPara quiénQué cubre
CONSTITUTION.mdTodosNo negociables
ROADMAP.mdDirección / agenteFases y criterios de salida
AGENTS.mdAgentes IAContrato operativo
docs/human-quickstart.mdUsuariosInstalación paso a paso
docs/agent-quickstart.mdAgentes IATools y ejemplos
docs/bridge-core.mdOperadoresBridge headless
docs/deployment-http-docker.mdDevOpsDocker, auth, Pass en compose
docs/local-stdio-secrets.mdOperadoresWrapper JIT
docs/alerting.mdOperadoresWebhook, ntfy, logs
docs/drive-audit.mdOperadoresDrive CLI
ARCHITECTURE.mdDesarrolladoresCapas y flujos
SECURITY.mdAuditoresThreat model
CONTRIBUTING.mdContribuidoresPRs, pnpm, tests
SUPPORT.mdUsuariosCanales de ayuda
CODE_OF_CONDUCT.mdComunidadConducta
docs/Todosarchitecture / guides / runbooks
playbooks/OperadoresWorkflows + prompts

Calidad

Fachada canónica (Makefile): make lint, make test, make smoke, make validate.

bash
make validate        # lint + typecheck + test + build + smoke
pnpm run typecheck   # TypeScript strict
pnpm test            # Vitest (953+)
pnpm run coverage    # Coverage v8 — gate 95%, objetivo ≥98%
pnpm run build       # tsc → dist/ y SPA apps/web (tokens, contraste, vite)
pnpm run smoke       # stdio initialize + tools/list
pnpm run knip        # Unused deps/exports
pnpm docs:check      # mcp-tools.md en sync

Seguridad (resumen)

  • Bearer timing-safe, origin allowlist, rate-limit 120/min/token.
  • HTTP per-session; idle eviction 30 min.
  • Pass nunca expone valores — solo {found: true}.
  • Dry-run por defecto en el agente (CONSTITUTION.md §4).

Progreso de cobertura

FechaStatementsBranchesTestsNotas
Ago 2026~98%~95%953Subfase 0 + Fase 1
Jul 202698.07%93.63%864Branch hunt
Jun 202661.7%—258Base

Conteo canónico: pnpm test 2>&1 | grep -E 'Test Files|Tests'.

Licencia

AGPL-3.0 — Copyright 2026 Alejandro Domingo Agustí (Alexendros). Sin afiliación a Proton AG.

Ver NOTICE.md para dependencias.

Similar modules

Browse Email inbox