Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mailcow MCP Serverlist all domains on the mail server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ Mailcow MCP Server
Model Context Protocol (MCP) server for complete Mailcow email server management
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
Related MCP server: Gmail MCP Server
π Quick Start
# 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
π οΈ 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 |
Get running in 5 minutes | |
System design and components | |
Complete tool documentation | |
Environment setup guide | |
Testing framework and practices |
Developer Resources
CLAUDE.md - Essential context for Claude Code sessions
Team Structure - Parallel development workflow
π§ Development
# 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
// 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
// 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
// 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
Fork the repository
Create a feature branch:
git checkout -b feature/amazing-featureAdd tests for your changes
Ensure all tests pass:
npm run test:allCommit your changes:
git commit -m 'Add amazing feature'Push to the branch:
git push origin feature/amazing-featureOpen a Pull Request
See CONTRIBUTING.md for detailed guidelines.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
Documentation: docs/README.md
Issues: GitHub Issues
Discussions: GitHub Discussions
π Acknowledgments
Model Context Protocol - The protocol that makes this possible
Mailcow - The excellent email server platform
TypeScript - For robust type safety and excellent tooling