homelab-mcp-hub
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
Work package | Scope | Status |
WP5a | Repository bootstrap, authorization layer, | Done |
WP5b | IMAP adapter, | Done |
WP5c | CalDAV adapter, | In review |
WP5d |
| Planned |
WP8–WP10 | Further accounts (IMAP folder handling, Microsoft Graph, calendar feed) | Planned |
Related MCP server: Google Workspace MCP Server
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 and Radicale 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 gradedqualityDmaintenanceBridges your claude.ai authorized connectors (Slack, Atlassian, Gmail, Google Calendar) to any MCP client, enabling use of those tools without credential setup.2MIT
- 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,320 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.-