- Home
- MCP servers
- CalDAV
CalDAV
- python
0
GitHub Stars
python
Language
6 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"thegreatgooo-radicale-mcp": {
"command": "uvx",
"args": [
"caldav-mcp"
],
"env": {
"LOG_LEVEL": "INFO",
"CALDAV_USE_SSL": "true",
"CALDAV_USERNAME": "user",
"CALDAV_SERVER_URL": "http://localhost:5232"
}
}
}
}This MCP (Model Communication Protocol) server provides CRUD operations for events, journals, and todos by communicating over STDIO with a CalDAV backend. It lets you perform full Create, Read, Update, and Delete workflows against CalDAV resources through a standardized MCP interface, enabling automation and integration with clients that speak MCP over STDIO.
How to use
You interact with the server using an MCP client that sends JSON-RPC style messages over STDIO. The server exposes operations grouped under caldav for events, journals, and todos. You can create new items, read existing ones, update fields, delete items, or list collections of items. When you issue a request, the server handles authentication and connects to your configured CalDAV backend to perform the requested CRUD action.
How to install
Prerequisites you need to have installed on your system: Python, a working shell, and a runtime tool to start MCP servers (uv or uvx). You will also need access to a CalDAV backend (for example Radicale) if you want to test against a real server.
# Using uvx with a prebuilt package (no local install required)
uvx caldav-mcp
# Installing the package locally and then running
uv pip install caldav-mcp
uvx caldav-mcp
# From source: clone, install in editable mode, then run
git clone https://github.com/example/caldav-mcp.git
cd caldav-mcp
uv pip install -e .
uvx caldav-mcp
# Direct usage with uvx from GitHub
uvx github:example/caldav-mcp
Configuration and runtime environment
Configure how the MCP server connects to your CalDAV backend and controls its logging. You can use environment variables for easy deployment or a configuration file. The key settings cover the CalDAV server URL, credentials, SSL usage, and the logging level.
{
"server_url": "http://localhost:5232",
"username": "user",
"password": "",
"use_ssl": true,
"log_level": "INFO"
}
Environment variables
Set these variables to configure the runtime without editing files. You can place them in your shell environment or in a startup script.
export CALDAV_SERVER_URL=http://localhost:5232
export CALDAV_USERNAME=user
export CALDAV_PASSWORD=
export CALDAV_USE_SSL=true
export LOG_LEVEL=INFO
Commands to run (server startup)
Start the MCP server using the recommended runtime. The following is the typical command sequence you will use to start listening for MCP messages over STDIO.
uvx caldav-mcp
# or if you install locally, you may use the same stdio runner after installation
uvx caldav-mcp
Available tools
caldav.event.create
Create a new event on the CalDAV server
caldav.event.read
Read an existing event by its identifier
caldav.event.update
Update fields of an existing event
caldav.event.delete
Delete an event from the CalDAV server
caldav.event.list
List all events available in the configured calendar
caldav.journal.create
Create a new journal entry on the CalDAV server
caldav.journal.read
Read an existing journal entry by its identifier
caldav.journal.update
Update fields of an existing journal entry
caldav.journal.delete
Delete a journal entry from the CalDAV server
caldav.journal.list
List all journal entries
caldav.todo.create
Create a new todo item on the CalDAV server
caldav.todo.read
Read an existing todo item by its identifier
caldav.todo.update
Update fields of an existing todo item
caldav.todo.delete
Delete a todo item from the CalDAV server
caldav.todo.list
List all todo items