Stefan Lohmaier 2618ecfc86 Add test client and automated integration test suite
- 'test' OAuth client maps to stefan's data via USER_ALIASES
- 38 tests covering OAuth (metadata, client_credentials, PKCE, invalid
  secret, no auth), Mail (accounts, folders, search), Calendar
  (calendars, tasks, events, search), Contacts (search, empty),
  Files (list, info), Notes (notebooks)
- Daily systemd timer (05:00) with NTFY notification on failure
- Shared token store (.active_tokens.json) for cross-process auth

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

mcp-home

Self-hosted MCP servers for Claude. Gives Claude access to your email, calendar, contacts, files, and notes — all running on your own hardware.

Services

  • Mail — search and read emails from IMAP backups (Maildir format)
  • Calendar + Tasks — read/write events and reminders via CalDAV (Radicale)
  • Contacts — search/read/write contacts via CardDAV (Radicale)
  • Files — browse and read files via WebDAV (oCIS)
  • Notes — search/read/write notes via Joplin API

Setup

python3 -m venv venv
venv/bin/pip install mcp[cli] httpx vobject python-dateutil

Copy tokens.json.example to tokens.json and set client secrets.

Usage with claude.ai

Add as Custom MCP Server in claude.ai Settings → Integrations:

  • URL: https://your-domain/mail/mcp (or calendar, contacts, files, notes)
  • OAuth Client ID: your username
  • OAuth Client Secret: your secret from tokens.json

License

MIT

S
Description
Self-hosted MCP servers for Claude — Mail, Calendar, Contacts, Files, Notes via CalDAV/CardDAV/WebDAV/IMAP
Readme 345 KiB
Languages
Python 99.1%
Shell 0.9%