Skip to content

Docs: Model Context Protocol Server should instruct users to enter the Nabu Casa URL, not an alias #47091

Description

@whi-tw

Feedback

When setting up the MCP server, users are just instructed to enter your_home_assistant_external_url.

This is fine if using a standard reverse proxy but if they're using Home Assistant Cloud, the OAuth discovery breaks.

https://<your_home_assistant_external_url>/.well-known/oauth-authorization-server doesn't return full URLs for the OAuth discovery in this case:

❯ curl https://homeassistant.xxx/.well-known/oauth-authorization-server
{"authorization_endpoint":"/auth/authorize","token_endpoint":"/auth/token","revocation_endpoint":"/auth/revoke","client_id_metadata_document_supported":true,"response_types_supported":["code"],"service_documentation":"https://developers.home-assistant.io/docs/auth_api"}

vs

❯ curl https://supersecret123abc.ui.nabu.casa/.well-known/oauth-authorization-server
{"authorization_endpoint":"https://supersecret123abc.ui.nabu.casa/auth/authorize","token_endpoint":"https://supersecret123abc.ui.nabu.casa/auth/token","revocation_endpoint":"https://supersecret123abc.ui.nabu.casa/auth/revoke","client_id_metadata_document_supported":true,"response_types_supported":["code"],"service_documentation":"https://developers.home-assistant.io/docs/auth_api","issuer":"https://supersecret123abc.ui.nabu.casa"}

Without using the *.ui.nabu.casa url when setting up Claude, the user is redirected to https://homeassistant.xxx/authorize, not https://homeassistant.xxx/auth/authorize, leading to a 404 and confusion.

I think there needs to be a specific callout for this behaviour, as it's fairly opaque.

TL;DR: If the user enters any MCP url other than the one explicity listed on https://homeassistant.whatever/config/network, OAuth breaks in a super confusing way.

URL

https://www.home-assistant.io/integrations/mcp_server/#example-claude-for-desktop

Version

No response

Additional information

No response

Metadata

Metadata

Assignees

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions