MCP-ECC
https://github.com/karljsamuel/mcp-ecc
Documentación
mcp-ecc
Email · Calendario · Contactos — un servidor MCP para todas tus cuentas
Un servidor de Model Context Protocol (MCP) que permite a los asistentes de IA leer, escribir y gestionar tu correo electrónico, calendario y contactos — en Google, Microsoft 365/Outlook, Zoho, y cualquier cuenta IMAP/SMTP, CalDAV o CardDAV — desde una única interfaz.
mcp-ecc agrega tu correo, calendario y contactos en herramientas MCP estandarizadas (mail.*, calendar.*, contacts.*, accounts.*) para que cualquier cliente MCP — Claude, Cursor y otros — pueda trabajar con todos ellos de manera uniforme.
- Un solo consentimiento OAuth por proveedor de nube cubre correo + calendario + contactos
- Multi-usuario — los usuarios gestionan sus propias cuentas, cada una con una clave API MCP por usuario
- Credenciales cifradas en reposo (AES-256-GCM)
- Auto-alojable — un solo contenedor que sirve una interfaz web de administración, API REST y el endpoint MCP en un solo puerto
Inicio rápido
Docker
docker run -d --name mcp-ecc \
-p 3001:3001 \
-e MCP_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
karljsamuel/mcp-ecc:latest
Abre http://localhost:3001 → crea la cuenta de administrador → añade las cuentas de tus proveedores.
CLI (npm)
npm install -g mcp-ecc
mcp-ecc # interactive TUI — login, add accounts, manage everything
mcp-ecc start # stdio MCP server for agent hosts
Desde el código fuente
git clone https://github.com/karljsamuel/mcp-ecc.git
cd mcp-ecc
npm install
npm run build
node packages/cli/dist/bin.js --help
Conexión de un cliente MCP
Apunta tu cliente al endpoint HTTP con tu clave API por usuario (mostrada en la interfaz web bajo Configuración):
{
"mcpServers": {
"mcp-ecc": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer <your-api-key>" }
}
}
}
Los agentes pueden leer SKILL.md o llms.txt para una configuración guiada y automatizada.
Proveedores
| Proveedor | Correo | Calendario | Contactos | Autenticación |
|---|---|---|---|---|
| Google (Gmail, Calendar, People) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Microsoft 365 / Outlook (Graph) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Zoho (Mail, Calendar, Contacts) | ✅ | ✅ | ✅ | OAuth 2.0 |
| IMAP / SMTP (cualquier servidor de correo) | ✅ | ❌ | ❌ | Contraseña de aplicación |
| CalDAV (Nextcloud, Radicale, BAIKAL) | ❌ | ✅ | ❌ | Contraseña |
| CardDAV | ❌ | ❌ | ✅ | Contraseña |
Microsoft 365: las contraseñas de aplicación se están retirando — usa OAuth (Microsoft Graph) únicamente.
Compatibilidad CalDAV/CardDAV: los proveedores implementan WebDAV estándar (CalDAV RFC 4791, CardDAV RFC 6352) con autenticación Basic y deberían funcionar con cualquier servidor compatible con estándares. Probado contra Radicale 3.7.8. No probado contra otros servidores; los proveedores solo-OAuth (por ejemplo, iCloud sin contraseña específica de aplicación) no son compatibles.
Notas de despliegue: Google/Microsoft/Zoho/IMAP/SMTP/CalDAV/CardDAV se ejecutan bajo Node.js (CLI o Docker). Cloudflare D1 se puede usar como alternativa alojada para la base de datos SQLite local.
Herramientas MCP
mail.listFolders · mail.listMessages · mail.getMessage · mail.sendMessage
mail.searchMessages · mail.moveMessage · mail.setFlags · mail.deleteMessage
calendar.listCalendars · calendar.listEvents · calendar.getEvent · calendar.freeBusy
calendar.createEvent · calendar.updateEvent · calendar.deleteEvent
contacts.list · contacts.get · contacts.create · contacts.update
contacts.delete · contacts.search
accounts.list · accounts.get · accounts.add · accounts.remove · accounts.sync
Referencia completa con esquemas de entrada: docs/mcp-tools.md
Documentación
- Primeros pasos — descripción general e inicio rápido
- Referencia CLI — cada comando y flujo de trabajo de
mcp-ecc - Autenticación y usuarios — modelo multi-usuario, arranque, claves API por usuario
- Cuentas e identidad — nombre vs slug
- Despliegue — CLI · Docker
- Proveedores — Google · Microsoft 365 · Zoho · IMAP/SMTP · CalDAV/CardDAV
Contribuciones
Ramas de características desde dev; PRs contra dev. Ejecuta npm run build para compilar todos los paquetes. Mantén Changelog.md y docs/ sincronizados.
Soporte y contribuciones
Si encuentras útil mcp-ecc, considera apoyar su desarrollo:
- PayPal: paypal.me/KarlJosephSamuel
- GitHub Sponsors: github.com/sponsors/karljsamuel
- Ko-fi: ko-fi.com/karljsamuel
- Patreon: patreon.com/karljsamuel
- Buy Me a Coffee: buymeacoffee.com/karljsamuel