Ambient Home Assistant MCP
OfficialAmbient Home Assistant MCP
Ambient Home Assistant MCP — это безопасный семантический мост, который предоставляет ChatGPT и другим MCP-клиентам специализированный доступ к Home Assistant. Он является серверной основой для будущего пользовательского приложения Ambient Home Assistant.
Статус фазы 2: локальный/частный и только для чтения. Этот выпуск добавляет семантическое обнаружение сущностей, текущее состояние, зоны, этажи и сводки по доменам. Он не может управлять устройствами или изменять Home Assistant.
Что это такое — и чем оно не является
Мост — это уровень абстракции и безопасности. Со временем он сможет выбирать между REST, WebSocket и нативными интерфейсами MCP/Assist Home Assistant, предоставляя модели небольшие семантические инструменты.
Он не является:
заменой Home Assistant;
неограниченным администраторским API Home Assistant;
универсальной обёрткой API, доступной LLM; или
обратным прокси для конечной точки
/api/mcpHome Assistant.
Related MCP server: homeassistant-gateway
Архитектура
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]Инструменты MCP никогда не выполняют прямых HTTP-запросов. Они зависят от HomeAssistantClient, который отвечает за выбор интерфейса и немедленно нормализует ответы вышестоящих систем. См. запись о решении по архитектуре.
Возможности
Surface | Purpose |
| Сообщает о доступности и состоянии аутентификации, не раскрывая учётные данные. |
| Возвращает только версию, часовой пояс и метаданные системы единиц измерения. |
| Получает одну текущую сущность по точному идентификатору с разрешённым местоположением и безопасными атрибутами. |
| Ищет текущие сущности по имени/ID и комбинируемым фильтрам по домену, зоне, этажу, состоянию и доступности. |
| Перечисляет компактные зоны или получает одну зону с количеством доменов и необязательным ограниченным списком сущностей. |
| Перечисляет этажи или получает один этаж с агрегатами по зонам и доменам. |
| Суммирует наблюдаемые состояния и доступность для любого домена сущностей. |
| Сообщает о работоспособности приложения и отдельно о готовности Home Assistant. |
Никакие вызовы служб, изменения состояния или административные конечные точки не реализованы.
Модель безопасности
Токены Home Assistant поступают только из конфигурации времени выполнения и используют секретные типы Pydantic.
Журналы структурированы и скрывают токены носителя и общие поля учётных данных.
Необработанные данные
/api/configсокращаются до модели из белого списка, прежде чем попасть в результат инструмента.Подробные атрибуты сущностей используют явный белый список и исключают URL-адреса, источники камер, токены, учётные данные, координаты и метаданные, содержащие местоположение.
Текущие состояния никогда не кэшируются. Метаданные реестра используют один ограниченный кэш TTL на 60 секунд, чтобы избежать повторной аутентификации WebSocket и чтения реестра.
Белые списки Host и Origin транспорта MCP защищают от DNS-ребендинга.
Политический движок разрешает чтение и закрывается при сбое для каждого класса управления.
Контейнер работает от непривилегированного пользователя с файловой системой только для чтения в Compose.
Никогда не коммитьте .env, токены Home Assistant, учётные данные, частные URL-адреса или сертификаты. См. Безопасность перед любой работой по развёртыванию.
Быстрый старт
Требования: Python 3.12+ и uv.
cp .env.example .env
# Edit .env and provide HOME_ASSISTANT_URL and HOME_ASSISTANT_TOKEN.
uv sync --all-extras
uv run ambient-ha-mcpКонечная точка Streamable HTTP MCP: http://127.0.0.1:8000/mcp; состояние доступно по адресу http://127.0.0.1:8000/health.
Проверьте инструменты локально:
npx @modelcontextprotocol/inspector@latestЗатем подключите Inspector к http://127.0.0.1:8000/mcp.
Команды разработки
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 --buildПерегенерируйте блокировку зависимостей после намеренного изменения зависимостей:
uv lockDocker Compose
Скопируйте .env.example в .env, укажите два обязательных параметра Home Assistant и выполните docker compose up --build. Compose публикует только на loopback хоста.
Проверка работоспособности Docker проверяет работоспособность приложения. Временный сбой Home Assistant меняет /health на status: degraded, но оставляет HTTP-статус 200, чтобы оркестратор не перезапускал здоровый мост в цикле.
Документация
Лицензия
MIT. См. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.
Read-only MCP server exposing a user ORANO library to their own AI agent.
- HAVNOAuthapp.havnre
Read-only AI access to HAVN properties, leads, tasks, files, media, and analytics.
Read-only Google Analytics 4 MCP server for AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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.2MIT
- AlicenseNot gradedqualityAmaintenanceExposes 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.1Apache 2.0
- AlicenseAqualityCmaintenanceRead-only MCP server for Home Assistant that computes statistical summaries, trends, and session detection from recorded sensor history, returning compact tables instead of raw data so small local models can answer questions about energy usage, climate, and appliance activity without token-heavy arithmetic.106 npmApache 2.0