Skip to main content

MCP server for Home Assistant config management (integrations, config flows, Lovelace dashboards)

Project description

ha-config-mcp

CLI & MCP server for Home Assistant configuration management via WebSocket API.

Manage integrations, config flows, and Lovelace dashboards without touching the HA web UI.

Note: This project is fully developed and maintained by Claude (Anthropic). Don't expect it to work out of the box, though it probably will.

Install

# Nix (recommended)
nix run github:aster-void/ha-config-mcp -- --help
nix profile install github:aster-void/ha-config-mcp

# uvx / pipx
uvx ha-config-mcp --help
pipx install ha-config-mcp

Authentication

Set a Long-Lived Access Token:

export HA_TOKEN="your-token"
# Or place it in ~/.config/ha-assist-token

CLI Usage

# List integrations
ha-config entries list
ha-config entries list -d music_assistant

# Add a new integration (interactive config flow)
ha-config flow start hue
# → returns flow_id and data_schema
ha-config flow step <flow_id> '{"host": "192.168.1.100"}'

# Edit an existing integration's settings
ha-config options start <entry_id>
ha-config options step <flow_id> '{"option": "value"}'

# Delete an integration
ha-config entries delete <entry_id>

# Lovelace dashboards
ha-config lovelace list
ha-config lovelace get
ha-config lovelace get my-dashboard
ha-config lovelace save dashboard.yaml my-dashboard

Output is YAML by default. Use --json for JSON output.

MCP Server

# Start MCP server (stdio)
ha-config mcp

# Add to Claude Code
claude mcp add ha-config -- ha-config mcp
# or with nix
claude mcp add ha-config -- nix run github:aster-void/ha-config-mcp -- mcp

MCP Tools

Tool Description
config_entries_list(domain?) List installed integrations
config_entries_get(entry_id) Get a single config entry
config_entries_update(entry_id, ...) Update entry title/preferences
config_entries_delete(entry_id) Delete an integration
config_flow_start(domain) Start setup wizard
config_flow_step(flow_id, user_input) Advance a setup step
config_flow_abort(flow_id) Cancel a setup flow
options_flow_start(entry_id) Start options editor
options_flow_step(flow_id, user_input) Advance an options step
lovelace_dashboards_list() List all dashboards
lovelace_config_get(url_path?) Get dashboard config
lovelace_config_save(config, url_path?) Save dashboard config (full overwrite)

Environment Variables

Variable Default Description
HA_URL ws://localhost:8123/api/websocket HA WebSocket URL
HA_TOKEN Long-Lived Access Token
HA_OUTPUT yaml Output format: yaml or json

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ha_config_mcp-0.1.1.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ha_config_mcp-0.1.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file ha_config_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: ha_config_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ha_config_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 54acf5b7ea6354448c31b134567c483c48cc9b9d96184e33b0dc77b47e63ddc0
MD5 5e4c71b85b53716c0c7bb94a50faed2e
BLAKE2b-256 1bd546933957cdb5108ed28f1213dba29232d42f852b59e1984c4e81ba05f04a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ha_config_mcp-0.1.1.tar.gz:

Publisher: pypi-publish.yaml on aster-void/ha-config-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ha_config_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ha_config_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ha_config_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 40059174fce63d86490fc97a0ab4f0a8cecfbddc219211d20d2bcad14aa0f060
MD5 4153e8ce747804d069168f0665c12dbe
BLAKE2b-256 345554b21f32ad4d462ab05e2129af221de6ed41f7f03fdafa8280c782bc8ca2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ha_config_mcp-0.1.1-py3-none-any.whl:

Publisher: pypi-publish.yaml on aster-void/ha-config-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page