Remote access proxy for the Home Assistant MCP Server addon via webhooks.
This addon enables remote access to your HA MCP Server through any reverse proxy — Nabu Casa, Cloudflare, DuckDNS, nginx, or any other. It does not run its own MCP server; instead it discovers your existing MCP Server addon (stable or dev) and proxies requests to it via a Home Assistant webhook.
- Home Assistant MCP Server addon must be installed and running (stable or dev channel)
- For Nabu Casa auto-detection: active Nabu Casa subscription with remote UI enabled
- For other setups: a working reverse proxy pointing at your HA instance
- Install this addon from the add-on store
- Start the addon — on first run it will install the integration and create a notification asking you to restart Home Assistant
- Restart Home Assistant (Settings > System > Restart) — the addon detects the restart and automatically finishes setup
- Copy the remote URL from the addon logs:
MCP Server URL (remote): https://xxxxx.ui.nabu.casa/api/webhook/mcp_xxxxxxxx - Paste the URL into your MCP client (Claude Desktop, Claude.ai, Open WebUI, etc.)
Note: If something doesn't seem to work after restarting HA, try restarting the addon as well.
| Option | Description | Default |
|---|---|---|
remote_url |
Your external URL (auto-detects Nabu Casa if blank) | "" |
mcp_server_url |
Full MCP server URL override (auto-detects if blank) | "" |
mcp_port |
MCP server port used during auto-discovery | 9583 |
When mcp_server_url is left blank (recommended), the addon automatically:
- Finds the running MCP Server addon (tries stable
ha_mcpfirst, then devha_mcp_dev) - Gets its container IP address from the Supervisor API
- Discovers the secret path from the addon's options or logs
- Constructs the target URL:
http://<ip>:<port>/<secret_path>
If auto-detection doesn't work for your setup (e.g. non-standard port, custom networking), set mcp_server_url to the full MCP server URL:
http://192.168.1.100:9583/private_zctpwlX7ZkIAr7oqdfLPxw
- Nabu Casa subscribers: Leave
remote_urlblank — auto-detected from cloud storage - Cloudflare/DuckDNS/nginx: Set
remote_urlto your external URL (e.g.https://ha.example.com)
- The addon installs a lightweight
mcp_proxycustom integration into Home Assistant - This integration registers an unauthenticated webhook endpoint (
/api/webhook/<id>) - When a request hits the webhook, it is proxied to the MCP server addon
- The addon stays alive with a periodic health check loop
The webhook bypasses the ingress session cookie requirement that external MCP clients cannot provide.
The main MCP Server addon is not running. Install and start it first:
- Settings > Add-ons > Home Assistant MCP Server > Start
The addon could not find the secret path. Options:
- Check that the MCP Server addon has started successfully and shows a URL in its logs
- Set
mcp_server_urlmanually in this addon's configuration
The health check cannot reach the MCP server. Check:
- The MCP Server addon is still running
- No network/firewall issues between addons
- The port matches (default 9583)
If the mcp_proxy integration doesn't appear in Settings > Devices & Services:
- Restart Home Assistant (Settings > System > Restart)
- The addon will start automatically and retry setup
- Stopping the addon is safe — the webhook URL stays the same and resumes working when the addon is restarted
- Uninstalling the addon does not automatically remove the custom integration files. To fully clean up after uninstalling:
- Delete
/config/custom_components/mcp_proxy/ - Delete
/config/.mcp_proxy_config.json - Restart Home Assistant
- Delete
Issues: https://github.com/homeassistant-ai/ha-mcp/issues Documentation: https://github.com/homeassistant-ai/ha-mcp