ha-mcp-dev 7.12.3.dev1872__tar.gz → 7.12.3.dev1874__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.
Files changed (163) hide show
  1. {ha_mcp_dev-7.12.3.dev1872/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.12.3.dev1874}/PKG-INFO +6 -3
  2. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/README.md +5 -2
  3. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/pyproject.toml +1 -1
  4. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874/src/ha_mcp_dev.egg-info}/PKG-INFO +6 -3
  5. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/LICENSE +0 -0
  6. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/MANIFEST.in +0 -0
  7. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/setup.cfg +0 -0
  8. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/__init__.py +0 -0
  9. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/__main__.py +0 -0
  10. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/_pypi_marker +0 -0
  11. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/_version.py +0 -0
  12. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/auth/__init__.py +0 -0
  13. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/auth/consent_form.py +0 -0
  14. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/auth/provider.py +0 -0
  15. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/backup_manager.py +0 -0
  16. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/browser_landing.py +0 -0
  17. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/client/__init__.py +0 -0
  18. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/client/rest_client.py +0 -0
  19. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/client/supervisor_client.py +0 -0
  20. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/client/websocket_client.py +0 -0
  21. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/client/websocket_listener.py +0 -0
  22. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/config.py +0 -0
  23. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/dashboard_screenshot/__init__.py +0 -0
  24. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/dashboard_screenshot/capture.py +0 -0
  25. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/dashboard_screenshot/provision.py +0 -0
  26. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/errors.py +0 -0
  27. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/llm_exposure.py +0 -0
  28. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/__init__.py +0 -0
  29. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/approval_queue.py +0 -0
  30. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/evaluator.py +0 -0
  31. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/handlers.py +0 -0
  32. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/middleware.py +0 -0
  33. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/model.py +0 -0
  34. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/persistence.py +0 -0
  35. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/policy/value_sources.py +0 -0
  36. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/py.typed +0 -0
  37. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/read_only.py +0 -0
  38. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  39. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  40. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  41. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  42. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/.github/pull_request_template.md +0 -0
  43. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  44. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  45. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  46. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  47. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  48. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  49. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  50. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/appdaemon.md +0 -0
  51. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  52. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/blueprint-guide.md +0 -0
  53. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  54. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  55. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  56. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  57. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  58. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  59. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  60. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/scenes.md +0 -0
  61. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  62. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/yaml-only-integrations.md +0 -0
  63. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/server.py +0 -0
  64. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/settings_ui/__init__.py +0 -0
  65. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/settings_ui/settings.css +0 -0
  66. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/settings_ui/settings.html +0 -0
  67. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/settings_ui/settings.js +0 -0
  68. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/smoke_test.py +0 -0
  69. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/stdio_settings_sidecar.py +0 -0
  70. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/__init__.py +0 -0
  71. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/auto_backup.py +0 -0
  72. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/backup.py +0 -0
  73. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  74. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/config_entry_flow.py +0 -0
  75. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/device_control.py +0 -0
  76. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/enhanced.py +0 -0
  77. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/helpers.py +0 -0
  78. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/__init__.py +0 -0
  79. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/base.py +0 -0
  80. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/matter.py +0 -0
  81. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/thread.py +0 -0
  82. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/zigbee.py +0 -0
  83. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/radio/zwave.py +0 -0
  84. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/reference_validator.py +0 -0
  85. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/registry.py +0 -0
  86. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/__init__.py +0 -0
  87. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_base.py +0 -0
  88. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_config.py +0 -0
  89. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_deep.py +0 -0
  90. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_entities.py +0 -0
  91. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_fetch.py +0 -0
  92. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_overview.py +0 -0
  93. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_scenes.py +0 -0
  94. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/smart_search/_scoring.py +0 -0
  95. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tool_search_hint_middleware.py +0 -0
  96. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_addons.py +0 -0
  97. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_areas.py +0 -0
  98. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  99. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  100. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_calendar.py +0 -0
  101. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_camera.py +0 -0
  102. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_categories.py +0 -0
  103. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_code.py +0 -0
  104. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  105. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  106. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  107. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  108. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  109. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_dashboard_screenshot.py +0 -0
  110. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_dev.py +0 -0
  111. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_energy.py +0 -0
  112. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_entities.py +0 -0
  113. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  114. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_groups.py +0 -0
  115. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_hacs.py +0 -0
  116. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_history.py +0 -0
  117. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_integrations.py +0 -0
  118. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_labels.py +0 -0
  119. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
  120. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_radio.py +0 -0
  121. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_registry.py +0 -0
  122. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_resources.py +0 -0
  123. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_search.py +0 -0
  124. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_service.py +0 -0
  125. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_services.py +0 -0
  126. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_system.py +0 -0
  127. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_themes.py +0 -0
  128. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_todo.py +0 -0
  129. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_traces.py +0 -0
  130. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_updates.py +0 -0
  131. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_utility.py +0 -0
  132. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  133. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  134. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/tools_zones.py +0 -0
  135. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/util_helpers.py +0 -0
  136. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/tools/validation_middleware.py +0 -0
  137. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/transforms/__init__.py +0 -0
  138. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/transforms/categorized_search.py +0 -0
  139. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  140. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/transport_security.py +0 -0
  141. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/update_check.py +0 -0
  142. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/__init__.py +0 -0
  143. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/config_hash.py +0 -0
  144. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/data_paths.py +0 -0
  145. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/domain_handlers.py +0 -0
  146. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  147. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  148. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/operation_manager.py +0 -0
  149. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/python_sandbox.py +0 -0
  150. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/skill_loader.py +0 -0
  151. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/utils/usage_logger.py +0 -0
  152. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/visibility/__init__.py +0 -0
  153. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/visibility/model.py +0 -0
  154. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/visibility/persistence.py +0 -0
  155. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp/visibility/resolver.py +0 -0
  156. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  157. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  158. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  159. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  160. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  161. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/tests/__init__.py +0 -0
  162. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/tests/test_constants.py +0 -0
  163. {ha_mcp_dev-7.12.3.dev1872 → ha_mcp_dev-7.12.3.dev1874}/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.12.3.dev1872
3
+ Version: 7.12.3.dev1874
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
@@ -121,9 +121,9 @@ These run the server outside Home Assistant — useful for **Container** / **Cor
121
121
  > ⚠️ **stdio has known transport issues.** The stdio transport has connection problems that streamable HTTP does not ([#1713](https://github.com/homeassistant-ai/ha-mcp/issues/1713)). It is recommended only for demo/testing tinkering — for a real setup, use the custom component or an HTTP method above.
122
122
 
123
123
  <details>
124
- <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on)</b></summary>
124
+ <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on / OpenAI Tunnel)</b></summary>
125
125
 
126
- > **Using the HA-MCP custom component?** You do not need this — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). This proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option).
126
+ > **Using the HA-MCP custom component?** You do not need the **Webhook Proxy** — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). The proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option). The **OpenAI Tunnel** below is different: it applies to **any** install method when Home Assistant isn't publicly reachable at all (no Nabu Casa or reverse proxy).
127
127
 
128
128
  Already have **Nabu Casa** or another reverse proxy pointing at your Home Assistant? The Webhook Proxy add-on routes MCP traffic through your existing setup — no separate tunnel or port forwarding needed.
129
129
 
@@ -137,6 +137,8 @@ Already have **Nabu Casa** or another reverse proxy pointing at your Home Assist
137
137
 
138
138
  For other remote access methods (Cloudflare Tunnel, custom reverse proxy), see the [Setup Wizard](https://homeassistant-ai.github.io/ha-mcp/setup/).
139
139
 
140
+ **ChatGPT / Codex behind a firewall (OpenAI Tunnel).** ChatGPT connectors normally require a publicly reachable URL. If you can't (or don't want to) expose one, the community [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) integration by [@norpol](https://github.com/norpol) runs OpenAI's [`tunnel-client`](https://github.com/openai/tunnel-client) inside Home Assistant and connects your local MCP server URL to an OpenAI-hosted tunnel over an outbound-only connection — no port forwarding, reverse proxy, or public URL. Point it at your ha-mcp URL, then attach the ChatGPT connector to the same tunnel ID. See the [FAQ entry](https://homeassistant-ai.github.io/ha-mcp/faq/#openai-tunnel) and [#1811](https://github.com/homeassistant-ai/ha-mcp/issues/1811).
141
+
140
142
  [Webhook proxy documentation →](https://github.com/homeassistant-ai/ha-mcp/blob/master/homeassistant-addon-webhook-proxy/DOCS.md)
141
143
 
142
144
  </details>
@@ -497,6 +499,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
497
499
  - **[@jasonjhofmann](https://github.com/jasonjhofmann)** — Recurring calendar events via `rrule` support in `ha_config_set_calendar_event`.
498
500
  - **[@vpciii](https://github.com/vpciii)** — Coerce JSON-encoded strings on dict/list tool params.
499
501
  - **[@pburtchaell](https://github.com/pburtchaell)** — Financial support via [GitHub Sponsors](https://github.com/sponsors/julienld). Thank you! ☕
502
+ - **[@norpol](https://github.com/norpol)** — Built the [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) companion integration, connecting ChatGPT to a firewalled Home Assistant MCP server (#1811).
500
503
  ---
501
504
 
502
505
  ## 💬 Community
@@ -88,9 +88,9 @@ These run the server outside Home Assistant — useful for **Container** / **Cor
88
88
  > ⚠️ **stdio has known transport issues.** The stdio transport has connection problems that streamable HTTP does not ([#1713](https://github.com/homeassistant-ai/ha-mcp/issues/1713)). It is recommended only for demo/testing tinkering — for a real setup, use the custom component or an HTTP method above.
89
89
 
90
90
  <details>
91
- <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on)</b></summary>
91
+ <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on / OpenAI Tunnel)</b></summary>
92
92
 
93
- > **Using the HA-MCP custom component?** You do not need this — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). This proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option).
93
+ > **Using the HA-MCP custom component?** You do not need the **Webhook Proxy** — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). The proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option). The **OpenAI Tunnel** below is different: it applies to **any** install method when Home Assistant isn't publicly reachable at all (no Nabu Casa or reverse proxy).
94
94
 
95
95
  Already have **Nabu Casa** or another reverse proxy pointing at your Home Assistant? The Webhook Proxy add-on routes MCP traffic through your existing setup — no separate tunnel or port forwarding needed.
96
96
 
@@ -104,6 +104,8 @@ Already have **Nabu Casa** or another reverse proxy pointing at your Home Assist
104
104
 
105
105
  For other remote access methods (Cloudflare Tunnel, custom reverse proxy), see the [Setup Wizard](https://homeassistant-ai.github.io/ha-mcp/setup/).
106
106
 
107
+ **ChatGPT / Codex behind a firewall (OpenAI Tunnel).** ChatGPT connectors normally require a publicly reachable URL. If you can't (or don't want to) expose one, the community [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) integration by [@norpol](https://github.com/norpol) runs OpenAI's [`tunnel-client`](https://github.com/openai/tunnel-client) inside Home Assistant and connects your local MCP server URL to an OpenAI-hosted tunnel over an outbound-only connection — no port forwarding, reverse proxy, or public URL. Point it at your ha-mcp URL, then attach the ChatGPT connector to the same tunnel ID. See the [FAQ entry](https://homeassistant-ai.github.io/ha-mcp/faq/#openai-tunnel) and [#1811](https://github.com/homeassistant-ai/ha-mcp/issues/1811).
108
+
107
109
  [Webhook proxy documentation →](https://github.com/homeassistant-ai/ha-mcp/blob/master/homeassistant-addon-webhook-proxy/DOCS.md)
108
110
 
109
111
  </details>
@@ -464,6 +466,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
464
466
  - **[@jasonjhofmann](https://github.com/jasonjhofmann)** — Recurring calendar events via `rrule` support in `ha_config_set_calendar_event`.
465
467
  - **[@vpciii](https://github.com/vpciii)** — Coerce JSON-encoded strings on dict/list tool params.
466
468
  - **[@pburtchaell](https://github.com/pburtchaell)** — Financial support via [GitHub Sponsors](https://github.com/sponsors/julienld). Thank you! ☕
469
+ - **[@norpol](https://github.com/norpol)** — Built the [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) companion integration, connecting ChatGPT to a firewalled Home Assistant MCP server (#1811).
467
470
  ---
468
471
 
469
472
  ## 💬 Community
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "7.12.3.dev1872"
7
+ version = "7.12.3.dev1874"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  # Upper bound widened to <3.15 so the package installs on Home Assistant's
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.12.3.dev1872
3
+ Version: 7.12.3.dev1874
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
@@ -121,9 +121,9 @@ These run the server outside Home Assistant — useful for **Container** / **Cor
121
121
  > ⚠️ **stdio has known transport issues.** The stdio transport has connection problems that streamable HTTP does not ([#1713](https://github.com/homeassistant-ai/ha-mcp/issues/1713)). It is recommended only for demo/testing tinkering — for a real setup, use the custom component or an HTTP method above.
122
122
 
123
123
  <details>
124
- <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on)</b></summary>
124
+ <summary><b>🌐 Remote access (Nabu Casa / Webhook Proxy add-on / OpenAI Tunnel)</b></summary>
125
125
 
126
- > **Using the HA-MCP custom component?** You do not need this — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). This proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option).
126
+ > **Using the HA-MCP custom component?** You do not need the **Webhook Proxy** — the component has its own built-in webhook for remote access (see the **Get Started** quick start at the top). The proxy is for the **add-on** (it can also front another external server via its `mcp_server_url` option). The **OpenAI Tunnel** below is different: it applies to **any** install method when Home Assistant isn't publicly reachable at all (no Nabu Casa or reverse proxy).
127
127
 
128
128
  Already have **Nabu Casa** or another reverse proxy pointing at your Home Assistant? The Webhook Proxy add-on routes MCP traffic through your existing setup — no separate tunnel or port forwarding needed.
129
129
 
@@ -137,6 +137,8 @@ Already have **Nabu Casa** or another reverse proxy pointing at your Home Assist
137
137
 
138
138
  For other remote access methods (Cloudflare Tunnel, custom reverse proxy), see the [Setup Wizard](https://homeassistant-ai.github.io/ha-mcp/setup/).
139
139
 
140
+ **ChatGPT / Codex behind a firewall (OpenAI Tunnel).** ChatGPT connectors normally require a publicly reachable URL. If you can't (or don't want to) expose one, the community [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) integration by [@norpol](https://github.com/norpol) runs OpenAI's [`tunnel-client`](https://github.com/openai/tunnel-client) inside Home Assistant and connects your local MCP server URL to an OpenAI-hosted tunnel over an outbound-only connection — no port forwarding, reverse proxy, or public URL. Point it at your ha-mcp URL, then attach the ChatGPT connector to the same tunnel ID. See the [FAQ entry](https://homeassistant-ai.github.io/ha-mcp/faq/#openai-tunnel) and [#1811](https://github.com/homeassistant-ai/ha-mcp/issues/1811).
141
+
140
142
  [Webhook proxy documentation →](https://github.com/homeassistant-ai/ha-mcp/blob/master/homeassistant-addon-webhook-proxy/DOCS.md)
141
143
 
142
144
  </details>
@@ -497,6 +499,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
497
499
  - **[@jasonjhofmann](https://github.com/jasonjhofmann)** — Recurring calendar events via `rrule` support in `ha_config_set_calendar_event`.
498
500
  - **[@vpciii](https://github.com/vpciii)** — Coerce JSON-encoded strings on dict/list tool params.
499
501
  - **[@pburtchaell](https://github.com/pburtchaell)** — Financial support via [GitHub Sponsors](https://github.com/sponsors/julienld). Thank you! ☕
502
+ - **[@norpol](https://github.com/norpol)** — Built the [OpenAI Tunnel for HA-MCP](https://github.com/norpol/hass-codex-tunnel-mcp) companion integration, connecting ChatGPT to a firewalled Home Assistant MCP server (#1811).
500
503
  ---
501
504
 
502
505
  ## 💬 Community