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
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.