homelab-mcp-hub
Provides read-only access to iCloud mail and calendars, including tools to list accounts, list unread messages, retrieve messages, and fetch calendar events.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@homelab-mcp-hubwhich mail accounts are connected to my homelab hub?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
homelab-mcp-hub
A read-only remote MCP server for mail and calendars, part of the doemefu homelab (Epic doemefu/homelab#168).
The hub is a pure OAuth resource server: the homelab's auth-service issues the access tokens, the hub validates them offline against the auth-service JWKS and serves MCP tools over Streamable HTTP. Claude connects to it as a custom connector.
Contract: spec docs/080-mcp-hub.md and ADR docs/adr/0003-mcp-hub-authorization.md in the doemefu/homelab repository (published there with doemefu/homelab#182). This repository links to them and carries no copy.
Status
Milestone 1 (#170): iCloud mail and calendar live at mcp.furchert.ch. outlook mail live since 2026-10-06 (#171), gmail mail live since 2026-10-07 (#172, configuration only). Calendars of other accounts are served through iCloud. Mail history part a (list_messages, cursors, get_message by ref) live since 2026-10-22 (WP13a, #44). get_message_status merged 2026-10-22 (WP13b, #44).
Work package | Scope | Status |
WP5a | Repository bootstrap, authorization layer, | Done |
WP5b | IMAP adapter, | Done |
WP5c | CalDAV adapter, | Done |
WP5d | Metrics and alerts on the internal port ( | Planned |
WP13a | Mail history part a: | Done (merged and live 2026-10-22) |
WP13b | Mail history part b: | Done (merged 2026-10-22, live) |
WP13c | Mail history part c: | In review |
WP9 | Microsoft Graph for | Done (live) |
WP8 |
| Done (live) |
WP10 | Further accounts (calendar feed) | Planned |
Related MCP server: charity-gmail-mcp
Quick reference
Item | Value |
MCP endpoint |
|
Protected-resource metadata |
|
Health |
|
Protocol versions |
|
Scopes |
|
Image |
|
Tools |
|
Stack | Python 3.13, |
Deployment | Flux from |
Build and test
uv sync --locked
uv run ruff check && uv run ruff format --check
uv run mypy --strict src
uv run pytest -m "not provider" # unit, contract (gate G6) and integration tests
# provider tests against local GreenMail, Radicale and PostgreSQL containers (see CONTRIBUTING.md)
scripts/provider_services.sh up && HUB_PROVIDER_TESTS=1 uv run pytest -m provider; scripts/provider_services.sh downRun locally
docker build -t mcp-hub:dev .
scripts/smoke_image.sh mcp-hub:dev # starts the image read-only as uid 10001, checks 401/200/403/421 and the HTML converterscripts/smoke_image.sh generates a throwaway signing key, a JWKS and a secrets directory with the example registry, so no real credentials are involved.
Development
See CONTRIBUTING.md for prerequisites, the local environment, the test suites and the review process.
Documentation
File | Covers |
MCP endpoint, authorization rules, tools, configuration, logging | |
Manifests, image, bootstrap sequence, operations, troubleshooting | |
Local development, tests, process | |
Changes per release | |
Conventions for Claude Code sessions |
Licence
MIT, see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Your Gmail, Calendar, Drive, GitHub, Oura, wallet and confirmed profile facts in any MCP client.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA self-hosted MCP server providing Claude with authenticated access to Google Calendar, Gmail, Drive, Docs, Sheets, and Slides via 43 tools and secure OAuth2.1,125 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables accessing Gmail tools (search, read, draft) for a specific Google account via MCP, designed as a custom connector for Claude/Cowork to use alongside a different Google account.-
- FlicenseNot gradedqualityBmaintenanceSelf-hosted MCP connector for Claude.ai that provides multi-account IMAP/SMTP email management via OAuth 2.1 + DCR + PKCE shim and an admin backoffice.-
- AlicenseNot gradedqualityAmaintenanceA self-hosted remote MCP server that gives AI assistants read, organize and optional send access to mail, calendars, tasks and contacts across many IMAP, Gmail, CalDAV, CardDAV and Google accounts behind one authenticated endpoint.2Apache 2.0