Token导航 LogoToken导航TokenDH.com
hack (Surya443) logo
运维云端stdio官方级别未说明来源级核验

hack (Surya443)

MCP Server

一个基于MCP协议的智能家居控制中心,支持通过自然语言命令控制灯光、风扇、空调和智能电视等多种设备,并提供设备状态持久化和实时通信功能。

工具数

25

提示词数

0

GitHub Stars

1

资源数

0
智能家居Python设备控制自然语言处理

安装说明

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

作者 / 组织

Surya443

提供方

Surya443

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python smart_home_server.py

详细介绍

🏠 智能家居控制系统

欢迎来到您的个人智能家居自动化中心!此项目允许您通过简单的MCP(模型上下文协议)服务器控制所有智能设备。无论你是想调暗灯光、打开空调,还是疯狂观看你最喜欢的Netflix系列,这个系统都能满足你的需求。

这有什么作用

将其视为智能家居的大脑。这是一个MCP服务器,可以连接到你家周围的各种设备,让你通过自然语言命令来控制它们。你可以在一个地方控制灯、风扇、空调,甚至你的智能电视!

系统使用MQTT在设备之间进行实时通信,并持久存储所有设备状态,因此即使在重新启动后也会记住您的设置。

🚀 快速设置

先决条件

  • Python 3.11或更高版本
  • 安装ADB(安卓调试桥)用于电视控制
  • 可选:MQTT代理在本地主机上运行

安装

  1. 克隆此存储库
  1. 安装依赖项:
   uv sync
  1. 创建一个 .env 包含您的身份验证凭据的文件:
   AUTH_TOKEN=your_secret_token_here
   MY_NUMBER=your_validation_number
  1. 运行服务器:
   python smart_home_server.py

服务器将于启动 http://0.0.0.0:8002 你准备好了!

🏡 支持设备

标准智能设备

  • -控制功率和亮度
  • 粉丝 -调整速度设置
  • 空调 -设定温度
  • 烟囱 -更改操作模式

智能电视(安卓电视/谷歌电视)

  • 通过ADB实现完全远程控制
  • 应用程序发布(Netflix、YouTube)
  • 内容搜索和播放
  • 音量和导航控制

🛠️ 可用工具

以下是你可以用这个系统做的一切:

基本设备控制

turn_on_device(room, device_name)

打开智能家居中的任何设备。适用于灯光、风扇、空调,应有尽有!

turn_off_device(room, device_name)

关闭设备。非常简单——与打开它们相反。

set_device_value(room, device_name, key, value)

这就是魔法发生的地方!调整特定设置,如:

  • 灯光亮度: set_device_value("bedroom", "light1", "brightness", "80")
  • 风扇转速: set_device_value("livingroom", "fan1", "speed", "3")
  • 空调温度: set_device_value("bedroom", "ac1", "temperature", "22")

get_device_state(room, device_name)

检查特定设备的情况-它是否打开?当前的亮度是多少?温度?

get_all_states()

全面了解您家中的每台设备。非常适合一次检查一切。

电视控制-基本功能

tv_volume_up(room, device_name) & tv_volume_down(room, device_name)

调整电视音量。系统也会跟踪当前音量水平。

tv_mute(room, device_name)

在电视上切换静音。再次点击可取消静音。

tv_open_app(room, device_name, app)

在电视上启动应用程序。目前支持:

  • netflix -打开Netflix
  • youtube -打开YouTube
  • home -转到主屏幕

tv_navigate(room, device_name, direction)

浏览电视界面:

  • back -返回一个屏幕
  • home -返回主屏幕

check_tv_connection(room, device_name)

测试您的电视是否已连接并响应。非常适合故障排除!

电视设置和管理

add_tv_device(room, device_name, ip_address, port=5555)

将新的智能电视添加到您的系统中。您需要电视的IP地址(在电视的网络设置中找到)。

例子: add_tv_device("livingroom", "main_tv", "192.168.1.100")

update_tv_config(room, device_name, ip_address, port=5555)

更新现有电视的网络设置。当您的电视获得新的IP地址时很有用。

remove_tv_device(room, device_name)

从系统中完全删除电视。

list_tv_devices()

查看所有已配置的电视、其IP地址和连接状态。

load_tv_configs_from_file()

从JSON文件加载电视配置。您可以手动编辑 device_states/tv_config.json 一次添加多台电视。

高级电视内容控制

tv_search_and_play(room, device_name, query, app="netflix")

皇冠上的宝石!搜索内容并自动开始播放。

示例:

  • tv_search_and_play("livingroom", "tv", "Breaking Bad", "netflix")
  • tv_search_and_play("bedroom", "tv", "funny cat videos", "youtube")

tv_search_content(room, device_name, query, app="netflix")

搜索内容,但不自动播放。让您先浏览结果。

play_netflix_show(room, device_name, show_name)

专用的Netflix功能,具有增强的错误处理和故障排除提示。

play_youtube_video(room, device_name, search_query)

当界面棘手时,使用智能回退进行YouTube特定搜索。

youtube_voice_search_workaround(room, device_name, search_query)

使用语音搜索界面的替代YouTube搜索。有时比常规搜索效果更好。

电视遥控器

tv_send_text(room, device_name, text)

在电视搜索字段或任何文本输入中键入文本。

tv_press_key(room, device_name, key)

按下特定的遥控按钮:

  • 导航: up, down, left, right, enter, back, home
  • 媒体: play, pause, search, menu

youtube_navigate_and_play(room, device_name, direction="down", steps=1)

手动浏览YouTube的界面。自动搜索失败时有用。

故障排除

diagnose_tv_connection(room, device_name)

对电视连接运行全面的诊断:

  • 网络连接测试
  • ADB连接状态
  • 设备响应性检查
  • 应用可用性验证

非常适合弄清楚为什么你的电视没有响应!

🏠 客房管理

该系统对房间名称很聪明。您可以使用自然变化:

  • “客厅”、“起居室”、“休息室”、“大厅”→ 都变成了“客厅”
  • “卧室”、“主卧室”→ 都变成了“卧室”
  • “厨房”、“烹饪室”→ 两者都变成了“厨房”

📁 项目结构

hack/
├── smart_home_server.py    # Main MCP server with all the tools
├── devices.py             # Device classes (Light, Fan, AC, TV, etc.)
├── registry.py           # Initial device registry
├── device_states/        # Persistent storage
│   ├── devices.json      # Device states
│   └── tv_config.json    # TV configurations
└── main.py              # Entry point

🔧 技术细节

  • MCP服务器:在具有承载令牌身份验证的FastMCP上运行
  • 电视控制:使用ADB(Android调试桥)进行智能电视交互
  • MQTT支持:可选的MQTT代理集成,用于实时更新
  • 永久存储:所有设备状态都会自动保存
  • 错误处理:全面的错误消息和连接诊断

🤔 电视设置故障排除

如果您的android TV未连接:

  1. 启用开发人员选项:转到设置→ 关于→ 继续按“构建”,直到开发人员模式激活
  2. 启用USB调试:在“开发人员选项”中,启用“USB调试”
  3. 启用网络ADB:打开“网络ADB”(如果可用)
  4. 检查IP地址:确保您拥有正确的IP(设置→ 每次启动电视时,网络和IP都会发生变化
  5. 同一网络:确保您的电视和服务器位于同一WiFi网络上
  6. 使用诊断:运行 diagnose_tv_connection() 详细故障排除

🎉 入门指南

  1. 从灯和风扇等基本设备开始
  2. 使用添加电视 add_tv_device()
  3. 测试连接 check_tv_connection()
  4. 尝试一些基本的电视控制,如音量或打开应用程序
  5. 尝试内容搜索和播放
  6. 使用 diagnose_tv_connection() 如果你遇到问题

就是这样!你现在有一个完整的智能家居控制系统,可以处理从调暗灯光到寻找下一个狂欢手表系列的所有事情。享受您的自动化家居! 🏡✨

目录标签

目录标签

智能家居Python设备控制自然语言处理本地部署MQTT通信电视控制

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP