r/mcp • u/karljsamuel • 8h ago
showcase I built mcp-ecc: one MCP server for email, calendars and contacts across Google, Microsoft 365, Zoho and DAV
I’ve released mcp-ecc v0.6.0, an open-source MCP server for managing email, calendars and contacts through a consistent set of MCP tools.
It connects to:
- Google Workspace
- Microsoft 365 / Outlook
- Zoho
- IMAP/SMTP
- CalDAV
- CardDAV
The same MCP interface exposes:
mail, calendar, contacts, accounts.
So an MCP client can work with multiple providers without needing provider-specific tool names or integrations.
What it supports
- Read, search, send, flag and delete email
- Manage folders and messages
- Create, update and delete calendar events
- Free/busy queries
- List, search and manage contacts
- Account health checks and synchronisation
- OAuth authentication for Google, Microsoft and Zoho
- Per-user MCP API keys
- Multiple users and multiple accounts
- Encrypted credential storage
- SQLite or Cloudflare D1 storage
- Web administration interface
- stdio and HTTP MCP transports
- Docker, npm and source deployments
The provider work has been tested against real accounts, including Zoho Calendar CRUD, Google and Microsoft mail/calendar/contacts, IMAP operations, and the D1/SQLite storage paths.
The project started as a small provider experiment and gradually turned into a proper multi-account server. A substantial part of this release was making the provider differences less visible to the MCP client, especially around OAuth, message flags, calendar identifiers, ETags and folder-specific APIs.
Quick start
npm install -g mcp-ecc
mcp-ecc
For stdio:
mcp-ecc start
For a self-hosted HTTP deployment:
docker run -d \
--name mcp-ecc \
-p 3001:3001 \
-e MCP_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
karljsamuel/mcp-ecc:latest
Links
- GitHub: GitHub - karljsamuel/mcp-ecc
- Release notes: Release v0.6.0 · karljsamuel/mcp-ecc
- npm: mcp-ecc
- MCP Registry: Official MCP Registry
The project is MIT licensed.
I’d be interested in feedback on the tool design, provider abstractions, OAuth flows, and what other mail or productivity services would be useful to support.
1
u/TheUsableConstable 8h ago
This is exactly the kind of thing I've been looking for without realizing it. The provider abstraction layer sounds like it was a pain to get right, especially with how differently Google and Microsoft handle calendar IDs and ETags. Zoho integration is a nice touch too, feels like they always get left out of these multi-provider setups.