Kasa智能灯MCP服务器
模型上下文协议(MCP)服务器,使Claude Desktop Version等AI助手能够通过自然语言命令控制TP-Link Kasa智能灯。
概述
该项目提供了一个MCP服务器,将AI助手与TP-Link Kasa智能灯(KL110和兼容型号)连接起来。它允许您通过Claude或其他兼容MCP的AI助手使用自然语言控制智能灯。
特性
- 自动灯发现:自动查找并连接到网络上的Kasa智能灯
- 自然语言控制:通过对话命令控制灯
- 亮度控制:将灯亮度从0-100%调整
- 状态监控:检查当前灯状态和设置
- 自动重新连接:优雅地处理连接问题
可用命令
MCP服务器提供以下工具:
turn_lamp_on-打开智能灯turn_lamp_off-关闭智能灯set_lamp_brightness-设置亮度级别(0-100%)get_lamp_status-获取当前灯状态和信息
需求
- Python 3.7+
- TP-Link Kasa智能灯(用KL110测试)
- 灯连接到与计算机相同的WiFi网络
安装
- 克隆此存储库:
git clone https://github.com/Arashjamehbozorg/lamp-mcp-controller/
cd lamp-mcp-controller- 安装所需的依赖项:
pip install python-kasa mcp- 确保您的Kasa智能灯:
- 开机 - 已连接到您的WiFi网络 - 通过Kasa移动应用程序设置
配置
在中编辑配置变量 auto_lamp_finder.py:
PREFERRED_LAMP_NAME = "MCP Lamp" # Your lamp's name in Kasa app
PREFERRED_MODEL = "KL110" # Your lamp's model number用法
测试灯连接
运行独立灯查找器测试您的连接:
python3 auto_lamp_finder.py这将:
- 在您的网络中搜索灯具
- 连接到您喜欢的灯
- 运行演示序列(打开、调暗至40%、关闭)
运行MCP服务器
启动MCP服务器:
python3 lamp_mcp_server.py服务器将在stdio模式下运行,准备接收来自MCP兼容AI助手的命令。
与Claude Desktop一起使用
将此配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"kasa-lamp": {
"command": "python",
"args": ["/path/to/your/lamp_mcp_server.py"]
}
}
}替换 /path/to/your/ 带有项目目录的实际路径。
交互示例
通过Claude连接后,您可以使用自然语言命令:
- “打开我的灯”
- “将亮度设置为50%”
- “关灯”
- “我的台灯怎么样了?”
项目结构
.
├── auto_lamp_finder.py # Lamp discovery and testing script
├── lamp_mcp_server.py # Main MCP server implementation
├── .gitignore # Git ignore rules for Python
└── README.md # This file运作原理
- 发现阶段:服务器使用
python-kasa库,用于发现本地网络上的Kasa设备 - 灯具选择:按首选名称、型号和使用第一个可用设备对灯具进行优先级排序
- MCP集成:将灯控制作为人工智能助手可以调用的MCP工具公开
- 命令执行:将自然语言请求转换为特定的灯控制命令
故障排除
未找到灯
- 确保灯已通电
- 验证灯是否连接到WiFi(检查Kasa应用程序)
- 确保你的电脑和台灯在同一个网络上
- 试着跑步
auto_lamp_finder.py测试连接性
连接丢失
如果连接丢失,服务器会自动尝试重新连接。如果问题仍然存在:
- 重新启动灯
- 重新启动MCP服务器
- 检查您的网络连接
亮度控制不工作
某些Kasa型号不支持亮度控制。验证您的模型是否支持Kasa应用程序中的调光。
兼容设备
测试方法:
- TP-Link Kasa KL110(可调光智能灯泡)
应与支持TP-Link智能家居协议的其他Kasa智能灯泡配合使用。
依赖项
贡献
欢迎投稿!请随时提交问题或拉取请求。
致谢
支持
对于问题或疑问:
- 检查上面的故障排除部分
- 查看 python kasa文档
- 在此存储库中打开问题
______________________________________________________________________
由以下材料制成❤️ 智能家居自动化
