Token导航 LogoToken导航TokenDH.com
Samuel System Public logo
运维云端stdio官方级别未说明来源级核验

Samuel System Public

MCP Server

Samuel是一个MCP服务器和桥接服务,为Claude提供对Home Assistant配置和状态的实时访问,运行在专用Linux服务器上,作为家庭自动化系统的智能辅助工具。

工具数

40

提示词数

0

GitHub Stars

1

资源数

0
智能家居PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mfrethy-oneandall

提供方

mfrethy-oneandall

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m samuel # MCP server (port 5100)

详细介绍

Samuel--家庭智能MCP服务器

![AI Augmented](https://modelcontextprotocol.io/) ![License: MIT](LICENSE) ![Python](requirements.txt)

Samuel是一个MCP服务器和网桥,它使Claude能够实时访问示例家庭HA配置和状态。它在专用的Linux机器上运行(samuel)旁边是只读克隆 ha-config.

注: 这是一个经过净化的实时部署副本。个人标识符、设备ID和网络详细信息已被占位符替换。要使用它,请替换您自己的HA主机、令牌和实体ID。 专为 家庭助手不隶属于家庭助理项目或开放家庭基金会,也不受其认可。

与家庭助理的关系

Samuel的设计是为了操作 与现有的家庭助理部署一起.

此存储库包含Samuel MCP服务器REST桥:

  • MCP服务器(端口5100)——Claude的工具调用界面;实现配置、状态、文档和运行状况工具组
  • REST桥(端口5101)——用于非MCP调用者和健康检查的HTTP接口

塞缪尔 不直接控制设备。所有执行都是通过家庭助理进行的,所有拟议的操作都需要明确的人工确认。

完整的部署包括:

  • 集成Samuel的Home Assistant配置仓库
  • 这个Samuel服务仓库与HA一起运行

请在此处查看家庭助理配置:

  • ha-config-public

这种分离是有意的:

  • Home Assistant仍然具有确定性和权威性
  • 塞缪尔仍然是顾问、可检查和受约束的

快速开始

# On the Samuel box (Ubuntu Server):
cd ~/samuel-system
bash install.sh

安装脚本将:

  1. 查找Python 3.10+(MCP SDK要求)
  2. 在以下位置创建虚拟环境 .venv
  3. 安装依赖项
  4. 创建 ~/data/ 为了国家的持久性
  5. 可选择安装systemd服务(启动时自动启动)

先决条件

  1. 克隆此仓库: git clone git@github.com:your-github-user/samuel-system.git ~/samuel-system
  2. 克隆ha配置(只读): git clone git@github.com:your-github-user/ha-config.git ~/ha-config
  3. 创建 .env 从示例中可以看出: cp .env.example .env 并填写数值

环境变量

变量必填描述
HA_URL家庭助理URL(例如。 http://YOUR_HA_HOST:8123)
HA_TOKENHA长期访问令牌
REPO_PATHha配置克隆路径(例如。 /home/samuel/ha-config)
DATA_DIR状态持久性目录(默认值: ~/data)
SAMUEL_PORTMCP服务器端口(默认值: 5100)
BRIDGE_PORT网桥服务器端口(默认值: 5101)
SAMUEL_BRIDGE_URL通信工具使用的网桥基础URL(默认值: http://127.0.0.1:5101)
TELEGRAM_BOT_TOKENTelegram机器人令牌--启用 send_message_to_operator
TELEGRAM_CHAT_ID出站操作员消息的Telegram聊天ID

手动运行

source .venv/bin/activate
python -m samuel          # MCP server (port 5100)
python -m samuel.bridge   # Bridge server (port 5101)

连接克劳德代码

claude mcp add --transport http samuel http://samuel.local:5100/mcp

连接克劳德桌面

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "samuel": {
      "url": "http://samuel.local:5100/mcp"
    }
  }
}

可用工具

工具按域组织。每个工具都注册了风险元数据(通过 tool_metadata.py)这样Samuel就可以在没有批准的情况下自主决定打什么电话。

配置工具-- config_tools.py (从ha配置仓库读取)

工具风险它的作用
read_configread_only读取任何YAML配置文件
list_packagesread_only列出所有包含内容摘要的包
list_automationsread_only列出所有带有触发器的自动化
list_scriptsread_only列出所有带有操作的脚本
search_config只读在所有配置文件中搜索正则表达式

状态工具-- state_tools.py (查询HA API)

工具风险它的作用
get_entity_stateread_only获取实体状态(支持模糊搜索)
get_entities_by_domainread_only列出域的所有实体
get_area_stateread_only获取房间/区域的所有实体状态

文档工具-- doc_tools.py

工具风险它的作用
read_docread_only从docs/中读取任何文档
get_system_mapread_only完整系统图的快捷方式

健康工具-- health_tools.py

工具风险它的作用
generate_health_reportread_only运行带有趋势跟踪的健康诊断

简报工具-- briefing_tools.py

工具风险它的作用
generate_status_briefingread_only构建家庭状态摘要(模式、状态、灯光、温度、天气)

主页基础设施工具-- home_infra_tools.py

需要 home_assistant_bridge, host_bridge,以及 event_pipeline 模块(不在公共仓库中——请参阅文件中的接口契约注释)。

工具风险它的作用
get_system_info只读HA版本、操作系统、主机名、硬件
get_system_health只读HA组件运行状况
list_entitiesread_only所有实体,可按域筛选
get_entity_history只读实体的状态历史记录(最多30天)
get_cache_statsread_only进程中实体状态缓存统计信息
get_automationsread_only所有具有id和启用状态的自动化
get_automationread_only单个自动化的完整配置
validate_automationsread_only运行HA配置验证
list_services只读按域列出的可用HA服务
call_servicehigh_risk调用HA服务--需要 approved=True
get_recent_eventsread_only来自HA WebSocket影子管道的最近事件
start_event_shadow_pipelinelow_risk启动HA WebSocket事件流
stop_event_shadow_pipelinelow_risk停止HA WebSocket事件流
get_recent_logsread_only最近的HA日志条目,可按级别筛选
search_logsread_only在最近的HA日志中进行全文搜索
get_failed_automationsread_only最近发生错误的自动化
get_integration_status只读集成运行状况(加载与失败)
get_host_info只读主机操作系统信息(内核、发行版、正常运行时间)
get_system_metrics只读实时CPU、内存、负载
check_network只读网络可达性检查
check_disk_health只读磁盘使用率和SMART运行状况
get_vm_state只读托管VM的状态(例如HA OS VM)
restart_vmhigh_risk重新启动虚拟机--需要 approved=True

通信工具-- comms_tools.py

工具风险它的作用
send_message_to_operatormoderate _ risk通过Telegram发送消息(需要内容——空问候语被屏蔽)
request_approvallow_risk通过HA移动通知发送带有批准/拒绝按钮的批准请求
poll_approval_responseread_only检查待处理审批请求的状态

工具元数据-- tool_metadata.py

工具风险它的作用
list_tool_metadata_jsonread_only以JSON格式返回完整的工具风险目录
get_tool_metadataread_only查找特定工具的风险元数据

服务管理(systemd)

sudo systemctl status samuel-mcp       # Check status
sudo systemctl status samuel-bridge
sudo systemctl restart samuel-mcp      # Restart
sudo systemctl restart samuel-bridge
journalctl -u samuel-mcp -f            # Follow logs
journalctl -u samuel-bridge -f

独立健康报告

diagnostics/morning_health.py 脚本可以独立运行(例如通过cron):

source .venv/bin/activate
python diagnostics/morning_health.py --dry-run   # Preview
python diagnostics/morning_health.py              # Write to DATA_DIR

测试

# Start samuel, then in another terminal:
npx @modelcontextprotocol/inspector
# Connect to http://localhost:5100/mcp
# Try calling list_packages, search_config("quiet_hours"), etc.

# Test bridge:
curl http://localhost:5101/ping
curl http://localhost:5101/health

建筑

samuel-system (this repo)           ha-config (separate repo, read-only clone)
├── samuel/                         ├── packages/*.yaml
│   ├── server.py     (MCP :5100)  ├── scripts.yaml
│   ├── bridge.py     (REST :5101) ├── docs/system_map.md
│   ├── config_reader.py ────────→ └── ...
│   ├── ha_client.py ─────────────→ Home Assistant REST API
│   └── tools/
│       ├── config_tools.py         (reads ha-config YAML)
│       ├── state_tools.py          (queries HA /api/states)
│       ├── doc_tools.py            (reads docs/)
│       ├── health_tools.py         (HA + Samuel diagnostics)
│       ├── briefing_tools.py       (spoken home status summaries)
│       ├── home_infra_tools.py     (entity history, services, logs, host)
│       ├── comms_tools.py          (Telegram + approval request routing)
│       └── tool_metadata.py        (risk registry for all tools)
├── diagnostics/
├── systemd/
│   ├── samuel-mcp.service
│   └── samuel-bridge.service
└── .env

风险模型: 每个工具都注册了风险级别(read_only, low_risk, moderate_risk, high_risk),是否需要明确批准,以及自主呼叫是否安全。在运行时通过以下方式查询目录 list_tool_metadata_json.

相关

  • ha配置公开 --Samuel读取的家庭助理配置。模块化封装、照明标准、运动感知房间和存在检测。
  • 管理层 --Samuel为审批门控执行实施的治理框架: Propose → Explain → Confirm → Execute → Learn.

需求

  • Python 3.10+
  • Ubuntu服务器24.04 LTS(或带有systemd的类似Linux)
  • .env 随着 HA_URL, HA_TOKEN,以及 REPO_PATH
  • 对HA实例的网络访问(用于状态/健康工具)
  • ha-config的本地克隆(用于config/doc工具)

目录标签

目录标签

智能家居PythonClaude家庭自动化本地部署MCP服务器AI辅助REST桥接

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

40

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP