Skip to main content
Glama
README.md
# Radicale MCP Server 🚀

> **⚠️ Note:** This project is **vibecoded**.

A Model Context Protocol (MCP) server for Radicale / CalDAV servers, enabling AI agents (like Claude, Gemini, etc.) to seamlessly interact with your calendars and task lists (reminders).

---

## Features

- **List Collections:** Discover all available calendars and task collections.
- **List Events:** View calendar events with human/AI-readable start and end times, optionally filtered by time range and/or specific calendar collection (or across all collections).
- **Create Events:** Schedule new calendar events with summaries, start/end times, and descriptions.
- **Delete Events:** Remove calendar events by summary.
- **List Reminders:** View VTODO tasks/reminders with due dates, optionally filtered by time range and/or specific collection (or across all collections).
- **Create Reminders:** Add new tasks with due dates and categories.
- **Delete Reminders:** Remove tasks/reminders by summary.

---

## Environment Variables

Create a `.env` file in the root directory:

```env
PORT=8000
HOST=127.0.0.1
RADICALE_URL=https://your-radicale-server.com/
RADICALE_USERNAME=your_username
RADICALE_PASSWORD=your_password
```

---

## Installation & Running

Using [`uv`](https://github.com/astral-sh/uv):

```bash
# Install dependencies
uv sync

# Run the server
uv run python server.py
```

---

## Testing

Run the test suite:

```bash
uv run python server_test.py
```

---

## Docker

Build and run with Docker:

```bash
docker build -t radicale-mcp .
docker run -p 8000:8000 --env-file .env radicale-mcp
```

Build and run with Docker compose:

```bash
docker compose up
```