CalDAV

Provides CRUD access to CalDAV-backed events, journals, and todos via MCP over STDIO with configurable environment and logging.
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational