Ambient Home Assistant MCP
OfficialAmbient Home Assistant MCP
Ambient Home Assistant MCP es un puente semántico y seguro que proporciona a ChatGPT y otros clientes MCP un acceso específico a Home Assistant. Es la base de servidor para la futura aplicación Ambient Home Assistant orientada al usuario.
Estado de la Fase 2: local/privado y de solo lectura. Esta versión añade descubrimiento semántico de entidades, estado actual, áreas, plantas y resúmenes de dominios. No puede controlar dispositivos ni cambiar Home Assistant.
Qué es—y qué no es
El puente es una capa de abstracción y seguridad. Con el tiempo, puede elegir entre las interfaces REST, WebSocket y MCP/Assist nativas de Home Assistant mientras presenta herramientas pequeñas y semánticas al modelo.
No es:
un reemplazo de Home Assistant;
una API de administración de Home Assistant sin restricciones;
un envoltorio de API genérico expuesto a un LLM; o
un proxy inverso para el endpoint
/api/mcpde Home Assistant.
Related MCP server: ha-ai-learner
Arquitectura
flowchart TD
C[ChatGPT or MCP client] -->|MCP| A[Ambient Home Assistant MCP]
A --> T[Semantic tools]
A --> P[Policy and security]
A --> N[Normalized data and diagnostics]
T --> H[Home Assistant client facade]
P --> H
N --> H
H --> R[REST state API]
H --> W[WebSocket registries]
H -. selective future use .-> M[HA MCP or Assist API]Las herramientas MCP nunca realizan solicitudes HTTP sin procesar. Dependen de HomeAssistantClient, que gestiona la selección de interfaz y normaliza inmediatamente las respuestas ascendentes. Consulte el registro de decisiones de arquitectura.
Capacidades
Superficie | Propósito |
| Informa sobre el estado de alcance y autenticación sin exponer credenciales. |
| Devuelve solo la versión, la zona horaria y los metadatos del sistema de unidades. |
| Obtiene una entidad actual por ID de entidad exacto con ubicación resuelta y atributos seguros. |
| Busca entidades actuales por nombre/ID y filtros componibles de dominio, área, planta, estado y disponibilidad. |
| Lista áreas compactas u obtiene un área con recuentos de dominio y una lista de entidades opcionalmente limitada. |
| Lista plantas u obtiene una planta con agregados de área y dominio. |
| Resume los estados observados y la disponibilidad de cualquier dominio de entidad. |
| Informa sobre la actividad de la aplicación y la preparación separada de Home Assistant. |
No se implementan llamadas de servicio, cambios de estado ni endpoints administrativos.
Modelo de seguridad
Los tokens de Home Assistant provienen solo de la configuración en tiempo de ejecución y utilizan tipos secretos de Pydantic.
Los registros están estructurados y redactan tokens de portador y campos comunes de credenciales.
Los datos sin procesar de
/api/configse reducen a un modelo en lista blanca antes de que puedan llegar a un resultado de herramienta.Los atributos detallados de entidad utilizan una lista blanca explícita y excluyen URL, fuentes de cámara, tokens, credenciales, coordenadas y metadatos con información de ubicación.
Los estados actuales nunca se almacenan en caché. Los metadatos del registro utilizan una caché TTL limitada de 60 segundos para evitar autenticaciones WebSocket repetidas y lecturas de registro.
Las listas blancas de Host y Origin del transporte MCP protegen contra el rebinding de DNS.
El motor de políticas permite lecturas y falla cerrado para cada clase de control.
El contenedor se ejecuta como un usuario no root con un sistema de archivos de solo lectura en Compose.
Nunca confirme .env, tokens de Home Assistant, credenciales, URL privadas o certificados. Consulte Seguridad antes de cualquier trabajo de implementación.
Inicio rápido
Requisitos: Python 3.12+ y uv.
cp .env.example .env
# Edit .env and provide HOME_ASSISTANT_URL and HOME_ASSISTANT_TOKEN.
uv sync --all-extras
uv run ambient-ha-mcpEl endpoint MCP HTTP Streamable es http://127.0.0.1:8000/mcp; la salud está en http://127.0.0.1:8000/health.
Inspeccione las herramientas localmente:
npx @modelcontextprotocol/inspector@latestLuego conecte el Inspector a http://127.0.0.1:8000/mcp.
Comandos de desarrollo
uv sync --all-extras # install
uv run ambient-ha-mcp # run locally
uv run pytest # unit tests; real HA tests skip by default
uv run ruff check . # lint
uv run ruff format --check . # formatting check
uv run mypy # type check
docker build -t ambient-ha-mcp .
docker compose up --buildRegenere el bloqueo de dependencias después de un cambio intencional de dependencia:
uv lockDocker Compose
Copie .env.example a .env, proporcione los dos ajustes requeridos de Home Assistant y ejecute docker compose up --build. Compose publica solo en loopback del host.
La sonda de salud de Docker prueba la actividad de la aplicación. Una interrupción temporal de Home Assistant cambia /health a status: degraded, pero deja el estado HTTP 200 para que el orquestador no reinicie un puente saludable en un bucle.
Documentación
Licencia
MIT. Consulte LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for full Home Assistant control, enabling AI agents to manage dashboards, automations, files, apps, entities, and more via REST API, WebSocket, and SSH.66116MIT
- AlicenseNot gradedqualityBmaintenanceA self-learning discovery tool + MCP server that turns your Home Assistant into knowledge an AI assistant can actually use.MIT
- AlicenseNot gradedqualityAmaintenanceEnables secure, auditable access to Home Assistant through MCP, with a read-only observer profile and an operator profile for controlled mutations.MIT
- AlicenseNot gradedqualityBmaintenanceExposes a curated allowlist of Home Assistant entities to external clients over MCP with read-only list and get_state tools, using an isolated guest credential that cannot access other Home Assistant APIs.Apache 2.0
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Cross-vendor AI memory over MCP. One semantic store, readable and writeable from every MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ambient-home-systems/ambient-ha-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server