Commit Graph

3 Commits

Author SHA1 Message Date
Stefan Lohmaier 80fc323374 Fix XML namespace handling for Radicale responses
Radicale uses default DAV: namespace (no d: prefix) and CR: for CardDAV
instead of c:. Fixed all regex patterns to handle both variants:
- <href> and <d:href>
- <displayname> and <d:displayname>
- <CR:address-data> and <c:address-data>
- <C:calendar-data> and <c:calendar-data>
- </response> and </d:response>

Also fixed calendar discovery to match <C:calendar/> resourcetype
instead of looking for VEVENT string in the response.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-12 10:17:14 +02:00
Stefan Lohmaier 924366ac6c Add travel time, geocoding, and reminders to create_event
- travel_minutes: shows as gray block before event on iPhone
- location geocoding via Nominatim → X-APPLE-STRUCTURED-LOCATION with geo coords
- reminder_minutes: VALARM trigger before event
- Also externalized all credentials to config.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-12 07:28:00 +02:00
Stefan Lohmaier fb642e47c8 Initial commit: 5 MCP servers for Mail, Calendar, Contacts, Files, Notes
Self-hosted MCP servers with OAuth client_credentials auth.
Each server connects to a different backend:
- Mail: reads Maildir IMAP backups
- Calendar/Tasks: CalDAV against Radicale
- Contacts: CardDAV against Radicale
- Files: WebDAV against oCIS
- Notes: Joplin REST API

Credentials externalized to config.json (not in repo).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-12 06:22:42 +02:00