A Model Context Protocol (MCP) server providing programmatic access to Kerio Connect for Mail, Calendar, Contacts, Tasks, and Notes management.
Tested and optimized for gpt-oss:20b
- Node.js >= 18.0.0
- Kerio Connect server with API access
- Valid Kerio Connect credentials (email and password)
- Mail management (read, search, send, draft, move, organize)
- Calendar events with recurrence support
- Contact management with full vCard support
- Task management
- Notes organization
- Dynamic folder discovery
- Full-text search across modules
- TypeScript implementation with Zod validation
npx @aimbitgmbh/kerio-connect-mcpAdd to your MCP client configuration:
{
"mcpServers": {
"kerio-connect": {
"command": "npx",
"args": ["-y", "@aimbitgmbh/kerio-connect-mcp"],
"env": {
"KERIO_SERVER": "https://mail.example.com",
"KERIO_USERNAME": "your-email@example.com",
"KERIO_PASSWORD": "your-password"
}
}
}
}| Variable | Description |
|---|---|
KERIO_SERVER |
Kerio Connect server URL (e.g., https://mail.example.com) |
KERIO_USERNAME |
Your email address |
KERIO_PASSWORD |
Your password |
| Variable | Description | Default |
|---|---|---|
KERIO_VERIFY_SSL |
Verify SSL certificates | false |
KERIO_ENABLE_SEND |
Enable email sending without review | false |
Note: Email sending is disabled by default for safety. When disabled, the server creates drafts only.
Create a .env file in the project root:
# Kerio Connect server URL (required)
KERIO_SERVER=https://mail.example.com
# Your email address (required)
KERIO_USERNAME=your-email@example.com
# Your password (required)
KERIO_PASSWORD=your-password-here
# Verify SSL certificates (optional, default: false)
KERIO_VERIFY_SSL=false
# Enable email sending without manual review (optional, default: false)
KERIO_ENABLE_SEND=falsemails_list- List emails with filteringmails_get- Get email by ID with full contentmails_show_recent- View recent emailsmails_search- Full-text searchmails_send- Send email (requires KERIO_ENABLE_SEND=true)mails_save_draft- Create draft emailmails_update_draft- Edit draftmails_move- Move emails to foldermails_mark_read- Mark as read/unreadmails_flag- Flag/unflag emailsmails_delete- Delete emails
calendars_list- List events with date filteringcalendars_search- Search eventscalendars_create- Create events with recurrencecalendars_update- Update event detailscalendars_delete- Delete events
contacts_list- List contactscontacts_get- Get contact detailscontacts_create- Create contactcontacts_update- Update contactcontacts_search- Search contactscontacts_delete- Delete contact
tasks_list- List taskstasks_create- Create tasktasks_complete- Mark completetasks_update- Update tasktasks_search- Search taskstasks_delete- Delete task
notes_list- List notesnotes_search- Search notesnotes_count- Count notesnotes_create- Create notenotes_move- Move notenotes_update- Edit notenotes_delete- Delete note
folders_list- List all foldersfolders_create- Create folder
kerio-connect-mcp/
├── src/
│ ├── index.ts # MCP server
│ ├── client.ts # Kerio API client
│ ├── config.ts # Configuration
│ ├── tools.ts # Tool definitions
│ └── types.ts # Type definitions
└── dist/ # Compiled output
Ensure all required environment variables are set:
KERIO_SERVERKERIO_USERNAMEKERIO_PASSWORD
Verify that your username is your full email address and test login via the Kerio Connect web interface.
For self-signed certificates, set KERIO_VERIFY_SSL=false.
The server automatically re-authenticates. If errors persist, verify credentials are valid and the server is accessible.
- Credentials passed via environment variables only
- Email sending disabled by default
- Server binds to localhost via stdio
- Configurable SSL certificate verification
- Automatic session management
Contributions are welcome! Please feel free to submit a Pull Request or open an issue for bugs, feature requests, or improvements.
MIT © 2025 aimbit GmbH
See LICENSE file for details.