Token导航 LogoToken导航

MCP Server · AI代理

hass MCP (Achetronic)

一个将Home Assistant功能暴露给AI助手的MCP服务器,支持通过Model Context Protocol实现智能家居控制。

SSE官方级别未说明来源级核验工具 12
智能家居物联网GoClaude自动化控制Cursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
achetronic
提供方
achetronic

工具数量

12

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

2 个

MCP World

选型结论

hass MCP (Achetronic) 属于AI代理类 MCP Server,公开资料标注 12 个工具,通过SSE 远程服务接入,适配 Claude、Cursor,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

SSE

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是SSE 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

    连接成功后客户端会列出 12 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

一个MCP服务器,向AI助手公开家庭助理功能。内置Go,它使Claude、Cursor或OpenAI等AI客户端能够通过 模型上下文协议.

特性

  • 实体管理:查询、搜索和控制家庭助理实体
  • 服务调用:通过AI执行任何家庭助理服务
  • 系统洞察:获取概述、域摘要和实体历史记录
  • 故障排除:访问错误日志和自动化状态
  • 柔性运输:支持stdio(本地)和HTTP(远程)模式
  • 生产就绪:包括OAuth支持、JWT验证、Dockerfile和Helm chart

可用工具

工具说明
get_version获取家庭助理版本
get_entity获取特定实体的状态(可选过滤)
entity_action打开、关闭或切换实体(使用参数)
list_entities列出具有可选域/搜索筛选器的实体
search_entities按名称、ID或属性搜索实体
domain_summary获取域的统计信息和状态分布
system_overview全面了解HA系统
list_automations列出所有自动化及其状态
call_service呼叫任何家庭助理服务(低级API)
get_history获取实体的状态更改历史记录
get_error_log检索家庭助理错误日志
restart_ha重新启动家庭助理

快速开始

需求

  • 转到1.24或更高版本(仅适用于从源代码构建)
  • 具有API访问权限的Home Assistant实例
  • 来自Home Assistant的长期访问令牌

获取家庭助理令牌

  1. 导航到您的家庭助理实例
  2. 点击您的个人资料(左下角)
  3. 滚动到“长期访问令牌”
  4. 创建新令牌并复制它

安装

从源代码构建
git clone https://github.com/achetronic/hass-mcp.git
cd hass-mcp
make build

二进制文件将在以下时间创建 bin/hass-mcp-{os}-{arch}.

码头工人
docker pull ghcr.io/achetronic/hass-mcp:latest

或者在本地构建:

make docker-build IMG=your-registry/hass-mcp:latest

配置

根据中的示例创建配置文件 docs/:

标准模式(本地客户端)

server:
  name: "Home Assistant MCP"
  version: "0.1.0"
  transport:
    type: "stdio"

home_assistant:
  url: "${HA_URL}" # e.g., http://homeassistant.local:8123
  token: "${HA_TOKEN}" # Long-lived access token

HTTP模式(远程客户端)

基本HTTP服务器(专用网络)

对于内部使用或开发,您可以在不进行身份验证的情况下运行一个简单的HTTP服务器:

server:
  name: "Home Assistant MCP"
  version: "0.1.0"
  transport:
    type: "http"
    http:
      host: ":8080"

home_assistant:
  url: "${HA_URL}"
  token: "${HA_TOKEN}"
使用OAuth 2.1的HTTP服务器(公开)

对于面向公众的部署,服务器支持 OAuth 2.1 通过JWT验证。这可以通过将身份验证委托给身份提供者(Keycloak、Auth0、Okta等)来实现远程AI客户端(如Claude Web或ChatGPT)的安全访问。

服务器实现:

  • RFC 8414:OAuth授权服务器元数据(/.well-known/oauth-authorization-server)
  • RFC 9728:OAuth保护的资源元数据(/.well-known/oauth-protected-resource)
server:
  name: "Home Assistant MCP"
  version: "0.1.0"
  transport:
    type: "http"
    http:
      host: ":8080"

home_assistant:
  url: "${HA_URL}"
  token: "${HA_TOKEN}"

middleware:
  jwt:
    enabled: true
    validation:
      strategy: "local" # Validate JWTs internally using JWKS
      local:
        jwks_uri: "https://keycloak.example.com/realms/mcp-servers/protocol/openid-connect/certs"
        cache_interval: "10s"
        # Optional: CEL expressions to validate JWT claims
        allow_conditions:
          - expression: 'payload.groups.exists(g, g == "home-assistant-users")'

oauth_authorization_server:
  enabled: true
  issuer_uri: "https://keycloak.example.com/realms/mcp-servers"

oauth_protected_resource:
  enabled: true
  resource: "https://hass-mcp.example.com/mcp"
  auth_servers:
    - "https://keycloak.example.com/realms/mcp-servers"
  scopes_supported:
    - openid
    - profile
小贴士:如果你有一个验证JWT的上游代理(例如Istio),你可以使用 strategy: "external" 并配置 forwarded_header 以从代理接收经过验证的JWT。
备注:环境变量支持使用 ${VAR} 语法。

看 docs/config-http.yaml 以获得完整的配置示例。

用法

本地客户端(克劳德桌面、光标、VS代码)

对于本地AI客户端,请使用stdio传输。添加到您的客户端配置中:

克劳德桌面版 (claude_desktop_config.json):

{
  "mcpServers": {
    "home-assistant": {
      "command": "/path/to/hass-mcp",
      "args": ["--config", "/path/to/config-stdio.yaml"],
      "env": {
        "HA_URL": "http://homeassistant.local:8123",
        "HA_TOKEN": "your-token-here"
      }
    }
  }
}

光标 (.cursor/mcp.json):

{
  "mcpServers": {
    "home-assistant": {
      "command": "/path/to/hass-mcp",
      "args": ["--config", "/path/to/config-stdio.yaml"],
      "env": {
        "HA_URL": "http://homeassistant.local:8123",
        "HA_TOKEN": "your-token-here"
      }
    }
  }
}

远程客户端(Claude Web、OpenAI)

对于远程客户端,请使用HTTP传输:

export HA_URL="http://homeassistant.local:8123"
export HA_TOKEN="your-token-here"
./hass-mcp --config config-http.yaml

默认情况下,服务器在端口8080上启动。可用端点取决于您的配置:

端点描述启用时
/mcpMCP协议端点始终
/.well-known/oauth-authorization-serverOAuth元数据(RFC 8414)oauth_authorization_server.enabled: true
/.well-known/oauth-protected-resource受保护的资源元数据(RFC 9728)oauth_protected_resource.enabled: true

发展

# Run the server
make run

# Format code
make fmt

# Run linter
make lint

# Run linter with auto-fix
make lint-fix

# Build binary
make build

# Show all available targets
make help

部署

Kubernetes

Helm图表在 chart/ 目录:

# Update dependencies
helm dependency update ./chart

# Install
helm install hass-mcp ./chart \
  --set config.home_assistant.url="http://homeassistant.local:8123" \
  --set config.home_assistant.token="your-token-here"

在中配置值 chart/values.yaml 以适应您的环境。

生产建议

  • 认证:在生产中使用反向代理(例如Istio、Traefik)进行JWT验证
  • OAuth:为远程客户端身份验证启用OAuth端点
  • 会话相关性:运行多个副本时,使用一致的哈希路由器进行会话关联
  • 秘密:将令牌存储在Kubernetes secrets或外部秘密管理器中

项目结构

├── cmd/main.go              # Application entry point
├── api/                     # Configuration types
├── internal/
│   ├── hass/                # Home Assistant API client
│   ├── tools/               # MCP tool implementations
│   ├── handlers/            # HTTP endpoint handlers
│   ├── middlewares/         # HTTP/JWT middlewares
│   ├── config/              # Configuration loading
│   └── globals/             # Application context
├── docs/                    # Example configurations
└── chart/                   # Helm chart for Kubernetes

运作原理

flowchart LR
    A[AI Assistant
Claude, Cursor, etc.] |MCP Protocol
stdio or HTTP/SSE| B[hass-mcp
Server]
    B |REST API| C[Home Assistant
Instance]
  1. AI助手通过mcp连接到hass-mcp(本地客户端为stdio,远程客户端为HTTP/SSE)
  2. 助手可以发现可用的工具并调用它们
  3. hass-mcp将工具调用转换为Home Assistant REST API请求
  4. 结果以结构化格式返回给助手

相关链接

贡献

欢迎捐款。请在提交pull请求之前打开一个问题来讨论更改。

许可证

此项目根据Apache 2.0许可证获得许可。看 许可证 了解详情。

工具与能力

工具数量

12

资源数量

0

提示词数量

0

能力标签

智能家居Go本地部署AI助手集成HomeAssistant自动化控制物联网

支持客户端

ClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 12 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude、Cursor,换客户端不用重新研究配置。
  • 走远程地址,接入方不用在本地装运行环境。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
hass MCP (Achetronic)

MCP World · 本页

12SSE未标注2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

hass MCP (Achetronic) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

hass MCP (Achetronic) 怎么在 Claude Desktop、Cursor 里配置?

它是SSE 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

hass MCP (Achetronic) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

hass MCP (Achetronic) 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

hass MCP (Achetronic) 支持哪些客户端?

公开资料标注支持 Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP