Home Assistant MCP Server - Complete control of Home Assistant through MCP
The publisher performed an authenticated act of publication — proving control of a namespace in the official MCP registry, or appearing in a first-party catalogue an operator curates. That establishes WHO published it. It is not a security finding, and attested artifacts carry Flagged verdicts too.
888 critical findings reported by cisco-skill-scanner, agent-audit-kit, 15 of them in the installed artifact. The composite score alone does not reflect this — read the per-scanner reports below.
This artifact ships from 4 sources and their verdicts differ. The worst is github (Flagged). Installing from a cleaner source does not mean the others are safe — check the source you actually install from. Some sources have no verdict at all; that is not a pass.
github: https://github.com/homeassistant-ai/ha-mcp, 1660 findings
Choose your runtime: the CLI writes the mcpServers config entry for that target.
nerlo install --target claude-code -- ha-mcp
Install respects the composite badge: Clean proceeds, Caution prompts for confirmation, and Flagged is refused. Write operations require an API token.
6 of 11 scanners examined this package. The rest do not apply to it — language, ecosystem and packaging decide which analyzers can say anything, and a scanner that cannot examine an artifact reports nothing rather than passing it.
v1.4.0
2 findings · 0.8s
v2.0.11
556 findings · 118.8s
v0.3.26
1046 findings · 157.9s
v0.1.0
23 findings · 95.8s
v0.1.0
33 findings · 95.8s
v0.1.0
0 findings · 38.5s
No report in this scan: capslock, govulncheck, osv-scanner, trivy, trivy_image.
1 scan on record. Every scan's full results are retained immutably for 24 months.
| Completed | Composite | Change | Scanners | Status |
|---|---|---|---|---|
| Aug 3, 2026 | Scan Halted | — | agentshield: completecisco-skill-scanner: completeagent-audit-kit: completenerlo-behavioral: completenerlo-install-instruction: completenerlo-multi-source: complete | rejected |
Findings in files this artifact installs stand as reported; a model re-read the rest and said which ones it believes are false positives. This is a second opinion published beside the evidence, not a correction to it: the per-scanner reports above are unchanged, every dismissed finding is still listed there at its original severity, and the score and the Flagged badge are computed from those raw severities alone. Nothing below moved them.
Out of 1,660 findings across every scanner that examined this package. 873 of 888 findings rated critical by their scanner were among the dismissals.
Not reviewed is not the same as clean. Those 12 findings stand exactly as their scanners reported them, at full severity, as they would have without this review.
Two keys had to turn. The model had to name a reason from a fixed list of six, and a deterministic check of ours — over which files this artifact actually installs — had to independently agree. Anything it could not corroborate is in “not reviewed” above, at full severity.
893 Agent instruction file — The match is in a file that instructs an AI coding agent — a CLAUDE.md or similar. It is documentation of intent, and our own check confirmed it is not part of what gets installed.
Rules: AAK-AGENT-001, AAK-AGENT-002, TOOL_ABUSE_UNDECLARED_NETWORK and 4 more · Files: AGENTS.md, CLAUDE.md, /repo/repo/AGENTS.md and 16 more · reported by agent-audit-kit, cisco-skill-scanner
358 Test or fixture file — The match is in a test or fixture. Our own check confirmed the file is not part of what gets installed.
Rules: AAK-SSRF-001, COMMAND_INJECTION_EVAL, TOOL_ABUSE_SYSTEM_MODIFICATION and 27 more · Files: tests/uat/stories/run_story.py, tests/src/unit/test_strict_bps.py, tests/src/unit/test_deep_search_error_handling.py and 99 more · reported by agent-audit-kit, cisco-skill-scanner
12 Documentation or example — The match is in documentation or sample code, confirmed by our own check to be outside the installed artifact.
Rules: opt.nerlo-rules.nerlo-install-fetch-raw-then-run, opt.nerlo-rules.nerlo-install-pipe-to-shell, PIPELINE_TAINT_FLOW and 1 more · Files: /repo/docs/Windows-uv-guide.md, /repo/docs/macOS-uv-guide.md, /repo/docs/SKILL.md and 1 more · reported by nerlo-install-instruction, cisco-skill-scanner
7 CI or editor configuration — The match is in build, CI or editor configuration, confirmed by our own check to be outside the installed artifact.
Rules: FILE_MAGIC_MISMATCH, MANIFEST_INVALID_NAME · Files: /repo/.github/workflows/locale-sync.yml, /repo/.github/integration-mirror-workflows/release-on-tag.yml, /repo/.github/workflows/sync-integration-mirror.yml and 1 more · reported by cisco-skill-scanner
These findings are in files this artifact installs and are not placeholder values. No false-positive basis can be corroborated for such a finding, so this review never dismisses one; they were not sent to the model and stand at their scanner's severity.
70 DATA_EXFIL_JS_NETWORK
Files: /repo/src/ha_mcp/settings_ui/settings.js · reported by cisco-skill-scanner
60 DATA_EXFIL_NETWORK_REQUESTS
Files: /repo/homeassistant-addon-webhook-proxy-dev/start.py, /repo/homeassistant-addon-webhook-proxy/start.py, /repo/homeassistant-addon/start.py and 8 more · reported by cisco-skill-scanner
44 AAK-SECRET-004
Files: homeassistant-addon-webhook-proxy-dev/start.py, scripts/generate_locales.py, scripts/generate_star_history.py and 19 more · reported by agent-audit-kit
23 AAK-LOGINJ-001
Files: src/ha_mcp/tools/tools_config_automations.py, src/ha_mcp/tools/tools_categories.py, src/ha_mcp/tools/tools_calendar.py and 9 more · reported by agent-audit-kit
22 opt.nerlo-rules.nerlo-py-secret-to-network-egress
Files: /repo/homeassistant-addon-webhook-proxy-dev/start.py, /repo/homeassistant-addon-webhook-proxy/start.py, /repo/homeassistant-addon/start.py and 5 more · reported by nerlo-behavioral
12 The model did not answer for these findings.
Rules: SECRET_PASSWORD_VAR · Files: /repo/tests/addon/test_webhook_proxy.py, /repo/tests/src/unit/test_component_ws_search.py, /repo/tests/src/unit/test_custom_component_filesystem.py · reported by cisco-skill-scanner
Critical risks: shell execution, network egress, and path traversal.
The artifact contains critical vulnerabilities including command injection leading to shell execution in `/repo/site/scripts/a11y-audit.mjs` and `/repo/src/ha_mcp/utils/python_sandbox.py`. It also exhibits server-side request forgery (SSRF) in multiple files like `src/ha_mcp/policy/handlers.py` and `src/ha_mcp/tools/backup.py`, which could lead to network egress. Additionally, path traversal vulnerabilities are present in `/repo/src/ha_mcp/utils/kill_signal_diagnostics.py`, allowing access to arbitrary files.
Concern level assessed by the review: Critical. This is the review's scale, not the registry badge.
Reviewed by gemini-2.5-flash. The model sees the findings, not your code, and cannot change a score.
21 PIPELINE_TAINT_FLOW
Files: /repo/scripts/install-linux.sh, /repo/scripts/install-macos.sh, /repo/scripts/install.sh and 7 more · reported by cisco-skill-scanner
20 MANIFEST_MISSING_LICENSE
Files: /repo/.claude/skills/bat-adhoc/SKILL.md, /repo/.claude/skills/bat-story-eval/SKILL.md, /repo/.claude/skills/issue-to-pr-resolver/SKILL.md and 17 more · reported by cisco-skill-scanner
16 opt.nerlo-rules.nerlo-install-pipe-to-shell
Files: /repo/README.md, /repo/homeassistant-addon/DOCS.md, /repo/scripts/install-linux.sh and 3 more · reported by nerlo-install-instruction
12 opt.nerlo-rules.nerlo-install-fetch-raw-then-run
Files: /repo/README.md, /repo/scripts/install-linux.sh, /repo/scripts/install-macos.sh and 2 more · reported by nerlo-install-instruction
12 SOCIAL_ENG_VAGUE_DESCRIPTION
Files: /repo/SKILL.md, /repo/homeassistant-addon-webhook-proxy-dev/SKILL.md, /repo/homeassistant-addon-dev/SKILL.md and 9 more · reported by cisco-skill-scanner
7 AAK-OAUTH-005
Files: homeassistant-addon-webhook-proxy-dev/mcp_proxy_dev/oauth.py, homeassistant-addon-webhook-proxy-dev/mcp_proxy_dev/auth_native.py, homeassistant-addon-webhook-proxy/mcp_proxy/oauth.py and 4 more · reported by agent-audit-kit
7 AAK-SSRF-001
Files: src/ha_mcp/settings_ui/__init__.py, src/ha_mcp/policy/handlers.py, src/ha_mcp/tools/auto_backup.py and 4 more · reported by agent-audit-kit
7 AAK-SSRF-005
Files: src/ha_mcp/settings_ui/__init__.py, src/ha_mcp/policy/handlers.py, src/ha_mcp/tools/auto_backup.py and 4 more · reported by agent-audit-kit
6 AAK-MCP-018
Files: src/ha_mcp/server.py, src/ha_mcp/__main__.py, src/ha_mcp/settings_ui/__init__.py and 3 more · reported by agent-audit-kit
5 AAK-SSRF-002
Files: homeassistant-addon/start.py, src/ha_mcp/stdio_settings_sidecar.py, custom_components/ha_mcp_tools/embedded_server.py and 2 more · reported by agent-audit-kit
5 RESOURCE_ABUSE_INFINITE_LOOP
Files: /repo/scripts/generate_star_history.py, /repo/src/ha_mcp/dashboard_screenshot/capture.py, /repo/src/ha_mcp/tools/tools_addons.py and 1 more · reported by cisco-skill-scanner
4 DATA_EXFIL_SOCKET_CONNECT
Files: /repo/homeassistant-addon-webhook-proxy-dev/start.py, /repo/homeassistant-addon-webhook-proxy/start.py · reported by cisco-skill-scanner
3 AAK-MCP-STATELESS-001
Files: homeassistant-addon-webhook-proxy-dev/mcp_proxy_dev/__init__.py, homeassistant-addon-webhook-proxy/mcp_proxy/__init__.py, custom_components/ha_mcp_tools/mcp_webhook.py · reported by agent-audit-kit
3 COMMAND_INJECTION_EVAL
Files: /repo/site/scripts/a11y-audit.mjs, /repo/src/ha_mcp/utils/python_sandbox.py · reported by cisco-skill-scanner
3 COMPOUND_FETCH_EXECUTE
Files: /repo/scripts/install-linux.sh, /repo/scripts/install-macos.sh, /repo/scripts/install.sh · reported by cisco-skill-scanner
2 AAK-HEALTHCARE-AI-004
Files: homeassistant-addon/DOCS.md, .claude/skills/bat-adhoc/SKILL.md · reported by agent-audit-kit
2 AAK-OAUTH-001
Files: homeassistant-addon-webhook-proxy-dev/mcp_proxy_dev/__init__.py, homeassistant-addon-webhook-proxy/mcp_proxy/__init__.py · reported by agent-audit-kit
2 HIDDEN_DATA_FILE
Files: /repo/.gemini/styleguide.md, /repo/.gemini/config.yaml · reported by cisco-skill-scanner
2 MANIFEST_INVALID_NAME
Files: /repo/.gemini/SKILL.md, /repo/src/ha_mcp/settings_ui/SKILL.md · reported by cisco-skill-scanner
2 PATH_TRAVERSAL_OPEN
Files: /repo/src/ha_mcp/utils/kill_signal_diagnostics.py · reported by cisco-skill-scanner
2 SECRET_JWT_TOKEN
Files: /repo/scripts/bake_pagination_seed.py, /repo/src/ha_mcp/config.py · reported by cisco-skill-scanner
2 YARA_prompt_injection_unicode_steganography
Files: /repo/custom_components/ha_mcp_tools/brand/dark_logo@2x.png · reported by cisco-skill-scanner
1 AAK-IPI-WILD-CORPUS-001
Files: .claude/skills/my-pr-checker/SKILL.md · reported by agent-audit-kit
1 AAK-LEGAL-002
Files: site/package.json · reported by agent-audit-kit
1 AAK-STATE-PRIVACY-001
Files: PRIVACY.md · reported by agent-audit-kit
1 AAK-STATE-PRIVACY-002
Files: PRIVACY.md · reported by agent-audit-kit
1 AAK-STATE-PRIVACY-003
Files: PRIVACY.md · reported by agent-audit-kit
1 AAK-STDIO-001
Files: custom_components/ha_mcp_tools/embedded_server.py · reported by agent-audit-kit
1 EXCESSIVE_FILE_COUNT
Files: /repo/. · reported by cisco-skill-scanner
1 FILE_MAGIC_MISMATCH
Files: /repo/renovate.json · reported by cisco-skill-scanner
1 hooks-no-pretooluse
Files: settings.json · reported by agentshield
1 opt.nerlo-rules.nerlo-install-run-bundled-artifact
Files: /repo/scripts/install-windows.ps1 · reported by nerlo-install-instruction
1 opt.nerlo-rules.nerlo-js-secret-to-network-egress
Files: /repo/src/ha_mcp/settings_ui/settings.js · reported by nerlo-behavioral
1 permissions-no-block
Files: settings.json · reported by agentshield
1 TOOL_ABUSE_SYSTEM_PACKAGE_INSTALL
Files: /repo/scripts/install.sh · reported by cisco-skill-scanner
1 TOOL_ABUSE_UNDECLARED_NETWORK
Files: /repo/homeassistant-addon/repo/homeassistant-addon/CHANGELOG.md · reported by cisco-skill-scanner
Showing 25 of 139; the rest are in the per-scanner reports above.