An experimental Model Context Protocol (MCP) server for calendar management.
Warning
This project is experimental and under active development. The API and functionality may change without notice. There are no automatic database migrations.
Caution
Not intended for production use. Only use in test environments.
DAVx5 MCP Server provides calendar management capabilities through the Model Context Protocol. It acts as a bridge between MCP clients and CalDAV servers, enabling AI agents and other MCP-compatible tools to manage calendar events.
- Events CRUD Operations: Create, read, update, and delete calendar events
- Time Tools: Query current time and time-based information
- CalDAV Integration: Connects to standard CalDAV calendar servers
- Language: Kotlin
- Framework: Ktor (HTTP server)
- MCP SDK: Model Context Protocol Kotlin SDK
- CalDAV: DAV4jvm library for CalDAV integration
- Serialization: Kotlinx Serialization
-
Build the project:
./gradlew build
-
Configure CalDAV: Set up your CalDAV server URL and credentials in the configuration.
-
Run the server:
./gradlew run --args="3000"(Replace
3000with your desired port)Alternatively, you can build a fat JAR and run it with
java -jar <fat.jar>.The server will start and listen for MCP connections on the specified port.
-
Add the MCP connection to your AI model.
The server requires configuration for your CalDAV server. Refer to the code for available configuration options.
This project uses Gradle for dependency management and building:
# Build a fat JAR with all dependencies
./gradlew fatJar
# Run tests
./gradlew testThe Model Context Protocol is a protocol for AI agents to interact with external tools and services in a structured way.