Document agap-mcp Radicale tools
47
Radicale.md
47
Radicale.md
@@ -46,3 +46,50 @@ htpasswd_encryption = bcrypt
|
||||
[storage]
|
||||
filesystem_folder = /data/collections
|
||||
```
|
||||
|
||||
## Storage Layout
|
||||
|
||||
Each user gets `/data/collections/collection-root/<user>/`. Inside, every calendar/addressbook is a directory named by a UUID with a `.Radicale.props` file (`displayname`, `tag` = `VCALENDAR` / `VADDRESSBOOK`, supported components, color). Events and tasks are individual `.ics` files; contacts are `.vcf`.
|
||||
|
||||
## MCP Integration
|
||||
|
||||
The `agap-mcp` server exposes Radicale over CalDAV using `RADICALE_PASSWORD` from Vaultwarden. Source: `~/agap_git/agap-mcp/src/radicale.js`. Tools (prefix `mcp__agap__`):
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `radicale_list_calendars` | List calendars/addressbooks for a user (defaults to `alvis`) |
|
||||
| `radicale_list_events` | List events in a calendar (filename, uid, summary, dtstart, dtend) |
|
||||
| `radicale_get_event` | Get raw iCalendar text for one event |
|
||||
| `radicale_create_calendar` | MKCALENDAR with displayname, color, components |
|
||||
| `radicale_delete_calendar` | DELETE a calendar collection |
|
||||
| `radicale_put_event` | PUT an `.ics` (create or replace) |
|
||||
| `radicale_delete_event` | DELETE an event |
|
||||
| `radicale_move_event` | Copy event to another calendar, then delete from source |
|
||||
|
||||
Env vars on the `agap-mcp` container:
|
||||
|
||||
```yaml
|
||||
RADICALE_URL=http://localhost:5232
|
||||
RADICALE_USER=alvis
|
||||
```
|
||||
|
||||
### Raw CalDAV (without MCP)
|
||||
|
||||
```bash
|
||||
# List collections under alvis
|
||||
curl -u alvis:$RADICALE_PASSWORD -X PROPFIND \
|
||||
-H 'Depth: 1' -H 'Content-Type: application/xml' \
|
||||
http://localhost:5232/alvis/ --data '<?xml version="1.0"?>
|
||||
<d:propfind xmlns:d="DAV:"><d:prop><d:displayname/><d:resourcetype/></d:prop></d:propfind>'
|
||||
|
||||
# Create a calendar
|
||||
curl -u alvis:$RADICALE_PASSWORD -X MKCALENDAR \
|
||||
-H 'Content-Type: application/xml' \
|
||||
http://localhost:5232/alvis/<uuid>/ --data '<?xml version="1.0"?>
|
||||
<c:mkcalendar xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
|
||||
<d:set><d:prop>
|
||||
<d:displayname>Social</d:displayname>
|
||||
<c:supported-calendar-component-set><c:comp name="VEVENT"/></c:supported-calendar-component-set>
|
||||
</d:prop></d:set>
|
||||
</c:mkcalendar>'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user