npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@alexendros/protonsuite-agent

v1.6.0

Published

Agente Proton Suite con MCP server embebido: Mail (Bridge IMAP/SMTP), Pass (pass-cli), Drive — 47 tools por defecto (50 con Calendar experimental), auto-configuración, organización inteligente y alertas de seguridad.

Downloads

600

Readme

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

| Capa | Estado | | --- | --- | | Mail (Bridge IMAP/SMTP) | Operativo | | Pass (pass / gopass) | Operativo | | Drive (proton-drive CLI) | Operativo (ADR-006) | | Calendar | Stub hasta CalDAV en Bridge (ADR-005) | | Documentación canónica | Subfase 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.

| Modo | Descripción | | --- | --- | | stdio (default) | Sin exponer red. Ideal para agentes IA locales. | | streamable HTTP | Bearer auth + origin allowlist. Docker / reverse proxy. |


Qué leer a continuación

| Si necesitas | Abre | Aún no | | --- | --- | --- | | Lo no negociable | CONSTITUTION.md | ROADMAP entero | | Orden de trabajo y fases | ROADMAP.md | Código | | Implementar como agente | AGENTS.md | ARCHITECTURE completo | | Capas y flujos | ARCHITECTURE.md | Código | | Threat model | SECURITY.md | — | | Contribuir / PR | CONTRIBUTING.md | — | | Contrato de tools MCP | docs/api/mcp-tools.md | — | | Decisiones (por qué) | docs/adr/ | — | | Índice de guías | docs/README.md | — | | Playbooks + prompts | playbooks/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

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

export [email protected]
export PROTON_BRIDGE_PASS=your-bridge-password
export [email protected]

3. Conectar tu cliente MCP

{
  "mcpServers": {
    "protonsuite": {
      "command": "npx",
      "args": ["-y", "@alexendros/protonsuite-agent", "protonsuite-mcp"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "PROTON_BRIDGE_USER": "[email protected]",
        "PROTON_BRIDGE_PASS": "your-bridge-password",
        "PROTON_MAIL_FROM": "[email protected]",
        "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)

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

| Producto | Tools | Resumen | | --- | --- | --- | | Mail | 14 | List, search, read, send, reply, forward, flag, move, delete, attachments | | Pass | 4+ | List, get (sin valores), generate, health; audit vía agente | | Drive | 8+ | Status, list, download, upload, share, audit, organize | | Calendar | stub | {available: false} hasta CalDAV vía Bridge (ADR-005) | | Suite / Bridge / Ecosystem / Agent | resto | Estado unificado, Bridge, binarios, plan de agente |

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


Agente

| Goal | Pipeline | | --- | --- | | setup | Verifica Bridge (IMAP + SMTP) | | organize | Clasifica inbox, carpetas/etiquetas, amenazas | | monitor / alert | Solo lectura — alertas | | pass-audit | Fortaleza, duplicados, plan de rotación (dry-run) | | suite-status | Reporte cross-producto | | discover / check-imap | Conectividad | | Drive goals | drive-audit, drive-organize, … |

Drive CLI

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

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

| Documento | Para quién | Qué cubre | | --- | --- | --- | | CONSTITUTION.md | Todos | No negociables | | ROADMAP.md | Dirección / agente | Fases y criterios de salida | | AGENTS.md | Agentes IA | Contrato operativo | | docs/human-quickstart.md | Usuarios | Instalación paso a paso | | docs/agent-quickstart.md | Agentes IA | Tools y ejemplos | | docs/bridge-core.md | Operadores | Bridge headless | | docs/deployment-http-docker.md | DevOps | Docker, auth, Pass en compose | | docs/local-stdio-secrets.md | Operadores | Wrapper JIT | | docs/alerting.md | Operadores | Webhook, ntfy, logs | | docs/drive-audit.md | Operadores | Drive CLI | | ARCHITECTURE.md | Desarrolladores | Capas y flujos | | SECURITY.md | Auditores | Threat model | | CONTRIBUTING.md | Contribuidores | PRs, pnpm, tests | | SUPPORT.md | Usuarios | Canales de ayuda | | CODE_OF_CONDUCT.md | Comunidad | Conducta | | docs/ | Todos | architecture / guides / runbooks | | playbooks/ | Operadores | Workflows + prompts |


Calidad

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

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

| Fecha | Statements | Branches | Tests | Notas | |-------|-----------|----------|-------|-------| | Ago 2026 | ~98% | ~95% | 953 | Subfase 0 + Fase 1 | | Jul 2026 | 98.07% | 93.63% | 864 | Branch hunt | | Jun 2026 | 61.7% | — | 258 | Base |

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.