Stefan Lohmaier b88adc4c50 read_file: pass binary documents as EmbeddedResource
PDF, docx, xlsx, pptx etc. are returned as EmbeddedResource with
BlobResourceContents (base64 + mimeType). claude.ai processes these
client-side, same as Google Drive/Dropbox MCP connectors.

Fallback chain: text → image → embedded resource (binary).
MIME type guessed from extension when server returns octet-stream.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-12 08:02:32 +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%