MCP-ECC
https://github.com/karljsamuel/mcp-ecc
Documentação
mcp-ecc
Email · Calendário · Contatos — um servidor MCP para todas as suas contas
Um servidor Model Context Protocol (MCP) que permite que assistentes de IA leiam, escrevam e gerenciem seu email, calendário e contatos — em Google, Microsoft 365/Outlook, Zoho e qualquer conta IMAP/SMTP, CalDAV ou CardDAV — a partir de uma única interface.
mcp-ecc agrega seu email, calendário e contatos em ferramentas MCP padronizadas (mail.*, calendar.*, contacts.*, accounts.*) para que qualquer cliente MCP — Claude, Cursor e outros — possa trabalhar com todos eles de forma uniforme.
- Um único consentimento OAuth por provedor de nuvem cobre email + calendário + contatos
- Multiusuário — usuários gerenciam suas próprias contas, cada uma com uma chave de API MCP por usuário
- Credenciais criptografadas em repouso (AES-256-GCM)
- Auto-hospedável — um único contêiner servindo uma interface web de administração, API REST e o endpoint MCP em uma única porta
Início rápido
Docker
docker run -d --name mcp-ecc \
-p 3001:3001 \
-e MCP_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
karljsamuel/mcp-ecc:beta
Abra http://localhost:3001 → crie a conta de administrador → adicione as contas dos seus provedores.
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
A partir do código-fonte
git clone https://github.com/karljsamuel/mcp-ecc.git
cd mcp-ecc
npm install
npm run build
node packages/cli/dist/bin.js --help
Conectando um cliente MCP
Aponte seu cliente para o endpoint HTTP com sua chave de API por usuário (exibida na interface web em Configurações):
{
"mcpServers": {
"mcp-ecc": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer <your-api-key>" }
}
}
}
Os agentes podem ler SKILL.md ou llms.txt para configuração guiada e automatizada.
Provedores
| Provedor | Calendário | Contatos | Autenticação | |
|---|---|---|---|---|
| Google (Gmail, Calendar, People) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Microsoft 365 / Outlook (Graph) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Zoho (Mail, Calendar, Contacts) | ✅ | ✅ | ✅ | OAuth 2.0 |
| IMAP / SMTP (qualquer servidor de email) | ✅ | ❌ | ❌ | Senha de aplicativo |
| CalDAV (Nextcloud, Radicale, BAIKAL) | ❌ | ✅ | ❌ | Senha |
| CardDAV | ❌ | ❌ | ✅ | Senha |
Microsoft 365: as senhas de aplicativo estão sendo descontinuadas — use OAuth (Microsoft Graph) apenas.
Compatibilidade CalDAV/CardDAV: os provedores implementam WebDAV padrão (CalDAV RFC 4791, CardDAV RFC 6352) com autenticação Basic e devem funcionar com qualquer servidor compatível com os padrões. Testado com Radicale 3.7.8. Não testado com outros servidores; provedores somente OAuth (por exemplo, iCloud sem senha específica do aplicativo) não são suportados.
Notas de implantação: Google/Microsoft/Zoho/IMAP/SMTP/CalDAV/CardDAV rodam sob Node.js (CLI ou Docker). Cloudflare D1 pode ser usado como alternativa hospedada para o banco de dados SQLite local.
Ferramentas 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
Referência completa com esquemas de entrada: docs/mcp-tools.md
Documentação
- Introdução — visão geral e início rápido
- Referência CLI — todos os comandos e fluxos de trabalho do
mcp-ecc - Autenticação e usuários — modelo multiusuário, inicialização, chaves de API por usuário
- Contas e identidade — nome vs slug
- Implantação — CLI · Docker
- Provedores — Google · Microsoft 365 · Zoho · IMAP/SMTP · CalDAV/CardDAV
Contribuindo
Branches de funcionalidade a partir de dev; PRs contra dev. Execute npm run build para compilar todos os pacotes. Mantenha Changelog.md e docs/ em sincronia.
Suporte e contribuições
Se você achar o mcp-ecc útil, considere apoiar seu desenvolvimento:
- 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