ha-mcp-dev 7.6.0.dev658__tar.gz → 7.6.0.dev659__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ha_mcp_dev-7.6.0.dev658/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.6.0.dev659}/PKG-INFO +21 -1
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/README.md +20 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/pyproject.toml +1 -1
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/server.py +5 -1
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659/src/ha_mcp_dev.egg-info}/PKG-INFO +21 -1
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/LICENSE +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/setup.cfg +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/backup_manager.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/approval_queue.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/evaluator.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/handlers.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/middleware.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/model.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/persistence.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/policy/value_sources.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/settings.css +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/settings.js +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/settings_ui.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/auto_backup.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_base.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_config.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/validation_middleware.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/skill_loader.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/tests/test_env_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ha-mcp-dev
|
|
3
|
-
Version: 7.6.0.
|
|
3
|
+
Version: 7.6.0.dev659
|
|
4
4
|
Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
|
|
5
5
|
Author-email: Julien <github@qc-h.net>
|
|
6
6
|
License: MIT
|
|
@@ -245,6 +245,26 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
|
+
## 🆚 ha-mcp vs. Home Assistant's built-in MCP Server
|
|
249
|
+
|
|
250
|
+
Home Assistant ships its own [MCP Server integration](https://www.home-assistant.io/integrations/mcp_server/). It is built on the **Assist** pipeline, so a connected MCP client can read and control the entities you have exposed to Assist and run the intents Assist understands — handy for voice-style control of already-exposed devices.
|
|
251
|
+
|
|
252
|
+
ha-mcp is a standalone server built for **configuring, building, and debugging** your smart home, not just controlling it. On top of device control, it adds capabilities the built-in integration does not have:
|
|
253
|
+
|
|
254
|
+
| Capability | Built-in MCP Server | ha-mcp |
|
|
255
|
+
|------------|:-------------------:|:------:|
|
|
256
|
+
| Control exposed devices, query states | Yes | Yes |
|
|
257
|
+
| Entity scope | Only entities exposed to Assist | Everything in Home Assistant |
|
|
258
|
+
| Create / edit automations, scripts, scenes | No | Yes |
|
|
259
|
+
| Build & edit dashboards | No | Yes |
|
|
260
|
+
| Debug automations from traces, read history & logs | No | Yes |
|
|
261
|
+
| Manage helpers, areas, zones, labels, groups | No | Yes |
|
|
262
|
+
| Backups, add-ons, HACS, device & entity registry | No | Yes |
|
|
263
|
+
|
|
264
|
+
**Rule of thumb:** Use the built-in integration for voice-style control of devices you have already exposed; use ha-mcp when you want an AI assistant that can also build and maintain your Home Assistant setup.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
248
268
|
## 🔌 Custom Component (ha_mcp_tools) *(beta)*
|
|
249
269
|
|
|
250
270
|
Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
|
|
@@ -215,6 +215,26 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
215
215
|
|
|
216
216
|
---
|
|
217
217
|
|
|
218
|
+
## 🆚 ha-mcp vs. Home Assistant's built-in MCP Server
|
|
219
|
+
|
|
220
|
+
Home Assistant ships its own [MCP Server integration](https://www.home-assistant.io/integrations/mcp_server/). It is built on the **Assist** pipeline, so a connected MCP client can read and control the entities you have exposed to Assist and run the intents Assist understands — handy for voice-style control of already-exposed devices.
|
|
221
|
+
|
|
222
|
+
ha-mcp is a standalone server built for **configuring, building, and debugging** your smart home, not just controlling it. On top of device control, it adds capabilities the built-in integration does not have:
|
|
223
|
+
|
|
224
|
+
| Capability | Built-in MCP Server | ha-mcp |
|
|
225
|
+
|------------|:-------------------:|:------:|
|
|
226
|
+
| Control exposed devices, query states | Yes | Yes |
|
|
227
|
+
| Entity scope | Only entities exposed to Assist | Everything in Home Assistant |
|
|
228
|
+
| Create / edit automations, scripts, scenes | No | Yes |
|
|
229
|
+
| Build & edit dashboards | No | Yes |
|
|
230
|
+
| Debug automations from traces, read history & logs | No | Yes |
|
|
231
|
+
| Manage helpers, areas, zones, labels, groups | No | Yes |
|
|
232
|
+
| Backups, add-ons, HACS, device & entity registry | No | Yes |
|
|
233
|
+
|
|
234
|
+
**Rule of thumb:** Use the built-in integration for voice-style control of devices you have already exposed; use ha-mcp when you want an AI assistant that can also build and maintain your Home Assistant setup.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
218
238
|
## 🔌 Custom Component (ha_mcp_tools) *(beta)*
|
|
219
239
|
|
|
220
240
|
Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "7.6.0.
|
|
7
|
+
version = "7.6.0.dev659"
|
|
8
8
|
description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
|
@@ -1212,7 +1212,11 @@ class HomeAssistantSmartMCPServer(EnhancedToolsMixin):
|
|
|
1212
1212
|
self.mcp.tool(
|
|
1213
1213
|
name=SKILL_TOOL_NAME,
|
|
1214
1214
|
description=tool_description,
|
|
1215
|
-
annotations={
|
|
1215
|
+
annotations={
|
|
1216
|
+
"readOnlyHint": True,
|
|
1217
|
+
"idempotentHint": True,
|
|
1218
|
+
"title": "Get Home Assistant Best Practices Skill Guide",
|
|
1219
|
+
},
|
|
1216
1220
|
tags={"System"},
|
|
1217
1221
|
)(ha_get_skill_guide)
|
|
1218
1222
|
logger.info(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ha-mcp-dev
|
|
3
|
-
Version: 7.6.0.
|
|
3
|
+
Version: 7.6.0.dev659
|
|
4
4
|
Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
|
|
5
5
|
Author-email: Julien <github@qc-h.net>
|
|
6
6
|
License: MIT
|
|
@@ -245,6 +245,26 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
|
+
## 🆚 ha-mcp vs. Home Assistant's built-in MCP Server
|
|
249
|
+
|
|
250
|
+
Home Assistant ships its own [MCP Server integration](https://www.home-assistant.io/integrations/mcp_server/). It is built on the **Assist** pipeline, so a connected MCP client can read and control the entities you have exposed to Assist and run the intents Assist understands — handy for voice-style control of already-exposed devices.
|
|
251
|
+
|
|
252
|
+
ha-mcp is a standalone server built for **configuring, building, and debugging** your smart home, not just controlling it. On top of device control, it adds capabilities the built-in integration does not have:
|
|
253
|
+
|
|
254
|
+
| Capability | Built-in MCP Server | ha-mcp |
|
|
255
|
+
|------------|:-------------------:|:------:|
|
|
256
|
+
| Control exposed devices, query states | Yes | Yes |
|
|
257
|
+
| Entity scope | Only entities exposed to Assist | Everything in Home Assistant |
|
|
258
|
+
| Create / edit automations, scripts, scenes | No | Yes |
|
|
259
|
+
| Build & edit dashboards | No | Yes |
|
|
260
|
+
| Debug automations from traces, read history & logs | No | Yes |
|
|
261
|
+
| Manage helpers, areas, zones, labels, groups | No | Yes |
|
|
262
|
+
| Backups, add-ons, HACS, device & entity registry | No | Yes |
|
|
263
|
+
|
|
264
|
+
**Rule of thumb:** Use the built-in integration for voice-style control of devices you have already exposed; use ha-mcp when you want an AI assistant that can also build and maintain your Home Assistant setup.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
248
268
|
## 🔌 Custom Component (ha_mcp_tools) *(beta)*
|
|
249
269
|
|
|
250
270
|
Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/__init__.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/capture.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/dashboard_screenshot/provision.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/resources/skills-vendor/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_entities.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_overview.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_scenes.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/smart_search/_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_entry_flow.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_dashboard_screenshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/tools/validation_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/transforms/lite_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp/utils/kill_signal_diagnostics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.6.0.dev658 → ha_mcp_dev-7.6.0.dev659}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|