README.mdโข9.34 kB
# ๐ง Mailcow MCP Server
> **Model Context Protocol (MCP) server for complete Mailcow email server management**
[](https://www.typescriptlang.org/)
[](https://modelcontextprotocol.io/)
[](https://nodejs.org/)
[](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>