Skip to content
Agentmart
Submit a tool

Ha MCP

Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.

Connector by homeassistant-ai · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 5,200
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/homeassistant-ai-ha-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.

Use cases: workflow-automation, monitoring-observability

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
6 read · 7 write · 0 delete · 3 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 6 · Look things up without changing anything.

  • echo_tool
  • ha_get_app
  • ha_get_logs
  • ha_get_skill_guide
  • list_files
  • read_file

Write 7 · Create, change, send or run things.

  • create_session
  • ha_eval_template
  • ha_manage_app
  • ha_manage_backup
  • ha_manage_custom_tool
  • store_files
  • submit_form

Not yet classified 3 · We could not tell from the name and description.

  • end_session
  • greeting
  • tool

Files it touches

  • Any path the agent passes to its tools

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • create_session

    Create a new session and return its identifier. Mints an unguessable `uuid4`, records an initial session owned by the current principal, and returns the id as a string. Store it and pass it back as a `session_id` argument on later calls to persist state across a session — only an id created this way resolves. State is keyed by the authenticated principal, so the id organizes sessions within a user; on an unauthenticated connection the id is the only thing standing between callers, which is why it is unguessable.

  • echo_tool

    Echo the input text

  • end_session

    End a session and delete all of its state. Validates the id like any other resolution (an unknown or foreign id is rejected), then deletes the session's key so the id no longer resolves.

  • greeting

    Provides a simple info.

  • ha_eval_template

    Execute a Jinja2 template render, or an automation condition check, in Home Assistant. Renders templates with Home Assistant's template engine (all states, functions and filters available), or checks a condition block the way an automation would and returns true/false. When to use: any one-shot answer DERIVED from current HA state (an average across sensors, a count of entities matching a condition, a rendered message with live values), and testing a template or condition before embedding it in an automation. One render beats fetching N states and doing the math yourself. When NOT to use: a…

  • ha_get_app

    Get installed or available Home Assistant apps (add-ons), or details for one. Do not use this tool to change app state or configuration; use ``ha_manage_app``. Use ``slug`` for details, ``source="installed"`` for an inventory, or ``source="available"`` for store discovery. Requires Home Assistant OS or Supervised.

  • ha_get_logs

    Get Home Assistant logs from various sources. Prefer source='system' for triage: it returns HA's own deduplicated system_log entries with counts, first_occurred and the full exception traceback, and its counts run since each error first occurred. error_log with structured=True counts only what is inside the fetched window (reported as window_start/window_end; every install reads a capped window) and drops tracebacks, which structured=False gets back; use it for entries below system_log's WARNING+ ~50-entry cap, or for the per-component rollup. In structured mode limit/order do not apply: issu…

  • ha_get_skill_guide

    Description is built at runtime.

  • ha_manage_app

    Manage Home Assistant apps (add-ons) or proxy an app API. For app inventory, status, and Supervisor metadata, call ``ha_get_app`` first; use proxy mode here for documented app-specific read APIs, and do not infer private app API schemas. Use exactly one mode: lifecycle/store action, configuration fields, ``path`` proxy, or ``path`` with ``array_patch``. Requires Home Assistant OS or Supervised. When ha-mcp itself runs as an app it cannot update its own running slug; update ha-mcp from the Home Assistant Apps UI. ``options`` merges top-level keys and one nested mapping level; supply complete…

  • ha_manage_backup

    Description is built at runtime.

  • ha_manage_custom_tool

    Create and run a custom tool in a sandbox, or manage saved custom tools. LAST RESORT — search for existing tools first. **Modes** (mutually exclusive): ``code`` + ``justification``; ``run_saved``; ``list_saved=True``. **Available functions in sandbox:** - ``api_get(endpoint)`` / ``api_post(endpoint, data)`` — HA REST API, for operations not covered by existing tools - ``ws_send(message)`` — send a HA WebSocket command, for operations only available over WebSocket (most registry CRUD, template rendering, Lovelace operations). ``message`` must include a ``"type"`` field; the MCP serve…

  • list_files

    List all uploaded files with metadata.

  • read_file

    Read an uploaded file's contents by name.

  • store_files

    Store uploaded files. Receives file objects with name, size, type, data (base64).

  • submit_form

    Validate and process form submission.

Show 1 more tools
  • tool

Compare and alternatives

Signals

Stars
5,200
Forks
244
Open issues
12
Contributors
92
Weekly downloads
60,509
Last commit
Oct 24, 2026 (4 days ago)
Last release
Oct 14, 2026 (14 days ago)
Last package publish
Oct 14, 2026 (14 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.homeassistant-ai/ha-mcp
Version
8.7.0
Auth
No auth
Packages
pypi ha-mcpoci ghcr.io/homeassistant-ai/ha-mcp:8.7.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from homeassistant-ai

Cite this page

Ha MCP. Agent Mart. https://agentmart.dev/connectors/homeassistant-ai-ha-mcp (last updated 2026-10-24)