Skip to main content
Glama

Mailcow MCP Server

by leolilley
README.mdโ€ข9.34 kB
# ๐Ÿ“ง Mailcow MCP Server > **Model Context Protocol (MCP) server for complete Mailcow email server management** [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/) [![MCP](https://img.shields.io/badge/MCP-0.4.0-green.svg)](https://modelcontextprotocol.io/) [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) A comprehensive TypeScript implementation that provides AI models with full control over Mailcow email servers through the Model Context Protocol. Manage domains, mailboxes, queues, sync jobs, and send emails - all with a single, secure API. ## โœจ Features ๐ŸŽฏ **Complete Email Management** - 20 MCP tools for full Mailcow control ๐Ÿ”’ **Enterprise Security** - API key authentication with granular permissions โšก **High Performance** - Built with TypeScript for speed and reliability ๐Ÿ“Š **Comprehensive Logging** - Full audit trail and monitoring capabilities ๐Ÿงช **Well Tested** - Extensive test suite with >85% coverage on core modules ๐Ÿš€ **Production Ready** - Used in production environments ## ๐Ÿš€ Quick Start ```bash # 1. Install dependencies npm install # 2. Configure environment cp .env.example .env # Edit .env with your Mailcow server details # 3. Start the server npm run build && npm start ``` ๐ŸŽ‰ **That's it!** Your MCP server is now running with 20 tools ready for AI integration. ๐Ÿ‘‰ **Detailed setup**: [Quick Start Guide](docs/QUICK_START.md) ## ๐Ÿ› ๏ธ Available Tools ### Email Management (18 tools) - **Domains** (5): List, create, update, delete, get details - **Mailboxes** (5): List, create, update, delete, get details - **Email Sending** (3): Send emails, check delivery status, get templates - **Queue Management** (6): List, flush, delete, hold, release queue items - **Sync Jobs** (7): Manage email migration and synchronization - **Log Analysis** (4): System, error, performance, and access logs ### System Tools (3 tools) - **Health Check**: Server status and metrics - **Configuration**: Current settings (sanitized) - **API Test**: Validate Mailcow connectivity ## ๐Ÿ“Š Current Status ๐ŸŸข **MVP Complete** - Full email server management capability ๐ŸŸข **Production Ready** - Deployed and tested in live environments ๐ŸŸข **Well Documented** - Comprehensive guides and API reference | Component | Status | Coverage | Tools | |-----------|--------|----------|-------| | **Domain Management** | โœ… Complete | 85% | 5 tools | | **Mailbox Management** | โœ… Complete | 87% | 5 tools | | **Email System** | โœ… Complete | MVP | 3 tools | | **Queue Management** | โœ… Complete | New | 6 tools | | **Sync Jobs** | โœ… Complete | New | 7 tools | | **Log Management** | โœ… Complete | New | 4 tools | | **System Tools** | โœ… Complete | 100% | 3 tools | ## ๐Ÿ—๏ธ Architecture ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ AI Models โ”‚ โ”‚ MCP Client โ”‚ โ”‚ Your App โ”‚ โ”‚ (Claude, etc) โ”‚โ—„โ”€โ”€โ–บโ”‚ (Claude CLI) โ”‚โ—„โ”€โ”€โ–บโ”‚ Integration โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MCP Protocol โ”‚ โ”‚ (JSON-RPC) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Mailcow MCP Server โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Tool Registry โ”‚ โ”‚ Auth Manager โ”‚ โ”‚ 20 MCP Tools โ”‚ โ”‚ โ”‚ โ”‚ & Validation โ”‚ โ”‚ & Security โ”‚ โ”‚ โ€ข Domain Management โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Mailbox Management โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Email & Queues โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ API Client โ”‚ โ”‚ โ”‚ โ”‚ (HTTP + Auth) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Mailcow Server โ”‚ โ”‚ REST API โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ## ๐Ÿ“š Documentation | Document | Purpose | |----------|---------| | **[Quick Start](docs/QUICK_START.md)** | Get running in 5 minutes | | **[Architecture](docs/ARCHITECTURE.md)** | System design and components | | **[API Reference](docs/API_REFERENCE.md)** | Complete tool documentation | | **[Configuration](docs/CONFIGURATION.md)** | Environment setup guide | | **[Testing Guide](docs/TESTING.md)** | Testing framework and practices | ### Developer Resources - **[CLAUDE.md](CLAUDE.md)** - Essential context for Claude Code sessions - **[Team Structure](docs/TEAM_STRUCTURE.md)** - Parallel development workflow ## ๐Ÿ”ง Development ```bash # Development mode with auto-reload npm run dev # Run tests npm test # View test coverage npm run test:coverage # Lint and format npm run lint npm run format # Build for production npm run build ``` ## ๐ŸŒŸ Example Usage ### Send an Email ```typescript // Send welcome email with template const result = await mcp.call('send_email', { from: 'admin@company.com', to: ['user@company.com'], subject: 'Welcome to our service!', body: 'Your account is ready to use.', body_type: 'plain' }); // Check delivery status await mcp.call('check_email_status', { queue_id: result.email_details.queue_id }); ``` ### Manage Domains ```typescript // List all active domains const domains = await mcp.call('list_domains', { active_only: true }); // Create new domain await mcp.call('create_domain', { domain: 'newclient.com', description: 'New client domain', quota: 5368709120 // 5GB }); ``` ### Monitor System ```typescript // Check server health const health = await mcp.call('health_check'); // Get recent error logs const errors = await mcp.call('get_error_logs', { limit: 50, start_time: '2023-12-01T00:00:00.000Z' }); ``` ## ๐Ÿ”’ Security - **API Key Authentication** with Mailcow integration - **Granular Permissions** system (read/write/delete by resource) - **Input Validation** with JSON Schema enforcement - **Audit Logging** for all operations - **HTTPS Enforcement** and SSL certificate validation - **Rate Limiting** to prevent abuse ## ๐Ÿค Contributing 1. **Fork** the repository 2. **Create** a feature branch: `git checkout -b feature/amazing-feature` 3. **Add tests** for your changes 4. **Ensure** all tests pass: `npm run test:all` 5. **Commit** your changes: `git commit -m 'Add amazing feature'` 6. **Push** to the branch: `git push origin feature/amazing-feature` 7. **Open** a Pull Request See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. ## ๐Ÿ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## ๐Ÿ†˜ Support - **Documentation**: [docs/README.md](docs/README.md) - **Issues**: [GitHub Issues](https://github.com/your-repo/mailcow-mcp/issues) - **Discussions**: [GitHub Discussions](https://github.com/your-repo/mailcow-mcp/discussions) ## ๐Ÿ™ Acknowledgments - **[Model Context Protocol](https://modelcontextprotocol.io/)** - The protocol that makes this possible - **[Mailcow](https://mailcow.email/)** - The excellent email server platform - **[TypeScript](https://www.typescriptlang.org/)** - For robust type safety and excellent tooling --- <div align="center"> <strong>Made with โค๏ธ for the AI and email community</strong><br> <em>Bringing AI and email servers together, one tool at a time.</em> </div>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leolilley/mailcow_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server