{"_id":"@aimbitgmbh/kerio-connect-mcp","_rev":"3-02190192725bcaa7d8619b39ac6a833d","name":"@aimbitgmbh/kerio-connect-mcp","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@aimbitgmbh/kerio-connect-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","llm","ai-assistant","ai-integration","kerio","kerio-connect","email","mail","calendar","contacts","tasks","notes","groupware","collaboration"],"author":{"name":"aimbit GmbH","email":"info@aimbit.de"},"license":"MIT","_id":"@aimbitgmbh/kerio-connect-mcp@0.1.0","maintainers":[{"name":"aimbit-ni","email":"ni@aimbit.de"}],"homepage":"https://github.com/aimbitgmbh/kerio-connect-mcp#readme","bugs":{"url":"https://github.com/aimbitgmbh/kerio-connect-mcp/issues"},"bin":{"kerio-connect-mcp":"dist/index.js"},"dist":{"shasum":"05e4bab0e76c8c2f9ecf5372e8542223834d031a","tarball":"https://registry.npmjs.org/@aimbitgmbh/kerio-connect-mcp/-/kerio-connect-mcp-0.1.0.tgz","fileCount":23,"integrity":"sha512-VOZjSPagLHC5uNpwfb24KuU62aHw9uDSoNKRliwZsT7cZ2S4DPngwgWzXuDPrZp1SUBlpxuTVj2AN/eS1Nxp3g==","signatures":[{"sig":"MEUCIQDjPmr2XM8IkBoOFyyRdA6xC+KCrkS+LKeqaqjopCJkfgIgQ+wzIzN8VWG+TeGXj21g53v85VMV7K9k5xe11Ygmhj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590398},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"6f1f03f1cb5efed288261855f57b8f29f587b3e5","scripts":{"dev":"tsx --import dotenv/config src/index.ts","build":"tsc && chmod +x dist/index.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"aimbit-ni","email":"ni@aimbit.de"},"repository":{"url":"git+https://github.com/aimbitgmbh/kerio-connect-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Kerio Connect - Mail, Calendar, Contacts, Tasks, and Notes management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.2.1","dotenv":"^17.2.3","undici":"^6.20.1","@modelcontextprotocol/sdk":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/kerio-connect-mcp_0.1.0_1767886610491_0.999291917884398","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aimbitgmbh/kerio-connect-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","llm","ai-assistant","ai-integration","kerio","kerio-connect","email","mail","calendar","contacts","tasks","notes","groupware","collaboration"],"author":{"name":"aimbit GmbH","email":"info@aimbit.de"},"license":"MIT","_id":"@aimbitgmbh/kerio-connect-mcp@0.2.0","maintainers":[{"name":"aimbit-ni","email":"ni@aimbit.de"}],"homepage":"https://github.com/aimbitgmbh/kerio-connect-mcp#readme","bugs":{"url":"https://github.com/aimbitgmbh/kerio-connect-mcp/issues"},"bin":{"kerio-connect-mcp":"dist/index.js"},"dist":{"shasum":"ed7b075b2258aeeda8f04be6e10c96729cbb2808","tarball":"https://registry.npmjs.org/@aimbitgmbh/kerio-connect-mcp/-/kerio-connect-mcp-0.2.0.tgz","fileCount":28,"integrity":"sha512-Goj4CI3YsIWghTIs7AdfTbBpM1kOjV/ljs9+CvLHSXT3Nj5r9uk4f6NUjojW3eMqdmEoyr/kbuGTaDOPOdqqzA==","signatures":[{"sig":"MEYCIQD+y2DNi+7Rvvif0b6/i9Kt3OZXM6S7jR4099dfbj/gCgIhAPQS2i6Ksd7kNh2JLwIkE6CqPUUiglcYv3JAmM2kQdwY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597866},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"0013dd94f39314a091d13af45d3d627461048bc7","scripts":{"dev":"tsx --import dotenv/config src/index.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc && chmod +x dist/index.js","clean":"rm -rf dist","release:check":"npm test && npm audit --omit=dev --audit-level=high && npm pack --dry-run","prepublishOnly":"npm test"},"_npmUser":{"name":"aimbit-ni","email":"ni@aimbit.de"},"repository":{"url":"git+https://github.com/aimbitgmbh/kerio-connect-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Kerio Connect - Mail, Calendar, Contacts, Tasks, and Notes management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.2.1","dotenv":"^17.2.3","undici":"^6.20.1","@modelcontextprotocol/sdk":"^1.25.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/kerio-connect-mcp_0.2.0_1788259322492_0.7778179910091045","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aimbitgmbh/kerio-connect-mcp","version":"0.2.1","description":"MCP server for Kerio Connect - Mail, Calendar, Contacts, Tasks, and Notes management","author":{"name":"aimbit GmbH","email":"info@aimbit.de"},"license":"MIT","type":"module","repository":{"type":"git","url":"git+https://github.com/aimbitgmbh/kerio-connect-mcp.git"},"homepage":"https://github.com/aimbitgmbh/kerio-connect-mcp#readme","bugs":{"url":"https://github.com/aimbitgmbh/kerio-connect-mcp/issues"},"bin":{"kerio-connect-mcp":"dist/index.js"},"scripts":{"dev":"tsx --import dotenv/config src/index.ts","build":"tsc && chmod +x dist/index.js","test":"npm run build && node --test tests/*.test.mjs","test:model":"npm run build && node scripts/test-model-compatibility.mjs","release:check":"npm test && npm audit --omit=dev --audit-level=high && npm pack --dry-run","prepublishOnly":"npm test","clean":"rm -rf dist"},"publishConfig":{"access":"public"},"keywords":["mcp","model-context-protocol","llm","ai-assistant","ai-integration","kerio","kerio-connect","email","mail","calendar","contacts","tasks","notes","groupware","collaboration"],"dependencies":{"@modelcontextprotocol/sdk":"^1.25.1","dotenv":"^17.2.3","undici":"^6.20.1","zod":"^4.2.1"},"devDependencies":{"@types/node":"^25.0.3","tsx":"^4.21.0","typescript":"^5.9.3"},"engines":{"node":">=18.0.0"},"_id":"@aimbitgmbh/kerio-connect-mcp@0.2.1","gitHead":"05b4b1c3a137657d79af739af6a4f1c6ba45bd6b","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-+l+oAzaeqUZkJtzVPiISVmxpjtwvg4VBFdWpCuWB9r2Obqubh4Zxv+TNBxI/sx1kj19Cu5ooBpMWkbcMCN6rYw==","shasum":"e60ba0eb6e1520494403741d3cf75f350e662d0c","tarball":"https://registry.npmjs.org/@aimbitgmbh/kerio-connect-mcp/-/kerio-connect-mcp-0.2.1.tgz","fileCount":32,"unpackedSize":604752,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICVgIWjsi31/I/rSbNdpJpmKNkBhc2W4lWQbeDwyEW3cAiEAzNIXrDpjlvOpW8LUVgAmFQ637IrtznXtUFzAGt3yyyE="}]},"_npmUser":{"name":"aimbit-ni","email":"ni@aimbit.de"},"directories":{},"maintainers":[{"name":"aimbit-ni","email":"ni@aimbit.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kerio-connect-mcp_0.2.1_1788343239813_0.17677410911017422"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-08T15:36:50.393Z","modified":"2026-09-02T10:00:40.169Z","0.1.0":"2026-01-08T15:36:50.633Z","0.2.0":"2026-09-01T10:42:02.626Z","0.2.1":"2026-09-02T10:00:39.951Z"},"bugs":{"url":"https://github.com/aimbitgmbh/kerio-connect-mcp/issues"},"author":{"name":"aimbit GmbH","email":"info@aimbit.de"},"license":"MIT","homepage":"https://github.com/aimbitgmbh/kerio-connect-mcp#readme","keywords":["mcp","model-context-protocol","llm","ai-assistant","ai-integration","kerio","kerio-connect","email","mail","calendar","contacts","tasks","notes","groupware","collaboration"],"repository":{"type":"git","url":"git+https://github.com/aimbitgmbh/kerio-connect-mcp.git"},"description":"MCP server for Kerio Connect - Mail, Calendar, Contacts, Tasks, and Notes management","maintainers":[{"name":"aimbit-ni","email":"ni@aimbit.de"}],"readme":"# Kerio Connect MCP Server\n\n[![NPM Version](https://img.shields.io/npm/v/@aimbitgmbh/kerio-connect-mcp)](https://www.npmjs.com/package/@aimbitgmbh/kerio-connect-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA Model Context Protocol (MCP) server providing programmatic access to Kerio Connect for Mail, Calendar, Contacts, Tasks, and Notes management.\n\n**Tested and optimized for Qwen 3.8 27B tool calling**\n\nThe server accepts standards-compliant MCP arguments and also normalizes common\nOpenAI-compatible tool-call serialization issues, such as numbers, booleans, or\narrays returned as JSON strings. This keeps strict validation in place while\nmaking tool execution reliable with Qwen.\n\n## Prerequisites\n\n- Node.js >= 18.0.0\n- Kerio Connect server with API access\n- Valid Kerio Connect credentials (email and password)\n\n## Features\n\n- Mail management (read, search, send, draft, move, organize)\n- Calendar events with recurrence support\n- Contact management with full vCard support\n- Task management\n- Notes organization\n- Dynamic folder discovery\n- Full-text search across modules\n- TypeScript implementation with Zod validation\n\n## Installation\n\n### NPM Package\n\n```bash\nnpx @aimbitgmbh/kerio-connect-mcp\n```\n\n### MCP Client Configuration\n\nAdd to your MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"kerio-connect\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aimbitgmbh/kerio-connect-mcp\"],\n      \"env\": {\n        \"KERIO_SERVER\": \"https://mail.example.com\",\n        \"KERIO_USERNAME\": \"your-email@example.com\",\n        \"KERIO_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n## Configuration\n\n### Required Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `KERIO_SERVER` | Kerio Connect server URL (e.g., https://mail.example.com) |\n| `KERIO_USERNAME` | Your email address |\n| `KERIO_PASSWORD` | Your password |\n\n### Optional Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `KERIO_VERIFY_SSL` | Verify SSL certificates | `false` |\n| `KERIO_ENABLE_SEND` | Enable email sending without review | `false` |\n\n**Note:** Email sending is disabled by default for safety. When disabled, the server creates drafts only.\n\n### Environment File Example\n\nCreate a `.env` file in the project root:\n\n```bash\n# Kerio Connect server URL (required)\nKERIO_SERVER=https://mail.example.com\n\n# Your email address (required)\nKERIO_USERNAME=your-email@example.com\n\n# Your password (required)\nKERIO_PASSWORD=your-password-here\n\n# Verify SSL certificates (optional, default: false)\nKERIO_VERIFY_SSL=false\n\n# Enable email sending without manual review (optional, default: false)\nKERIO_ENABLE_SEND=false\n```\n\n## Available Tools\n\n### Mail Module\n- `mails_list` - List emails with filtering\n- `mails_get` - Get email by ID with full content\n- `mails_show_recent` - View recent emails\n- `mails_search` - Full-text search\n- `mails_send` - Send email (requires KERIO_ENABLE_SEND=true)\n- `mails_save_draft` - Create draft email\n- `mails_update_draft` - Edit draft\n- `mails_move` - Move emails to folder\n- `mails_mark_read` - Mark as read/unread\n- `mails_flag` - Flag/unflag emails\n- `mails_delete` - Delete emails\n\n### Calendar Module\n- `calendars_list` - List events with date filtering\n- `calendars_search` - Search events\n- `calendars_create` - Create events with recurrence\n- `calendars_update` - Update event details\n- `calendars_delete` - Delete events\n\nCalendar discovery includes personal, shared, and public calendars. When multiple\ncalendars have the same name, select one with `owner/calendar`,\n`owner-email/calendar`, or its full folder ID.\n\n## Model Compatibility Test\n\nThe repository includes an opt-in live test for OpenAI-compatible model APIs.\nIt checks tool selection, argument typing, email-recipient arrays, and qualified\nshared-calendar selection without connecting to Kerio or changing Kerio data.\n\n```bash\nMCP_MODEL_TEST_BASE_URL=\"https://your-model-endpoint.example/v1\" \\\nMCP_MODEL_TEST_API_KEY=\"your-api-key\" \\\nMCP_MODEL_TEST_MODEL=\"your-model-name\" \\\nnpm run test:model\n```\n\nThe API key is read from the process environment only and is never written by\nthe test script.\n\n### Contacts Module\n- `contacts_list` - List contacts\n- `contacts_get` - Get contact details\n- `contacts_create` - Create contact\n- `contacts_update` - Update contact\n- `contacts_search` - Search contacts\n- `contacts_delete` - Delete contact\n\n### Tasks Module\n- `tasks_list` - List tasks\n- `tasks_create` - Create task\n- `tasks_complete` - Mark complete\n- `tasks_update` - Update task\n- `tasks_search` - Search tasks\n- `tasks_delete` - Delete task\n\n### Notes Module\n- `notes_list` - List notes\n- `notes_search` - Search notes\n- `notes_count` - Count notes\n- `notes_create` - Create note\n- `notes_move` - Move note\n- `notes_update` - Edit note\n- `notes_delete` - Delete note\n\n### Folder Management\n- `folders_list` - List all folders\n- `folders_create` - Create folder\n\n## Architecture\n\n### Project Structure\n\n```\nkerio-connect-mcp/\n├── src/\n│   ├── index.ts       # MCP server\n│   ├── client.ts      # Kerio API client\n│   ├── config.ts      # Configuration\n│   ├── tools.ts       # Tool definitions\n│   └── types.ts       # Type definitions\n└── dist/              # Compiled output\n```\n\n## Troubleshooting\n\n### Configuration Validation Failed\n\nEnsure all required environment variables are set:\n- `KERIO_SERVER`\n- `KERIO_USERNAME`\n- `KERIO_PASSWORD`\n\n### Invalid Credentials\n\nVerify that your username is your full email address and test login via the Kerio Connect web interface.\n\n### SSL Certificate Errors\n\nFor self-signed certificates, set `KERIO_VERIFY_SSL=false`.\n\n### Session Expired\n\nThe server automatically re-authenticates. If errors persist, verify credentials are valid and the server is accessible.\n\n## Security\n\n- Credentials passed via environment variables only\n- Email sending disabled by default\n- Server binds to localhost via stdio\n- Configurable SSL certificate verification\n- Automatic session management\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request or open an issue for bugs, feature requests, or improvements.\n\n## License\n\nMIT © 2025 [aimbit GmbH](https://aimbit.de)\n\nSee [LICENSE](LICENSE) file for details.\n\n## Links\n\n- [GitHub Repository](https://github.com/aimbitgmbh/kerio-connect-mcp)\n- [Report Issues](https://github.com/aimbitgmbh/kerio-connect-mcp/issues)\n- [npm Package](https://www.npmjs.com/package/@aimbitgmbh/kerio-connect-mcp)\n- [aimbit GmbH](https://aimbit.de)\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n","readmeFilename":"README.md"}