mcpField
S
smartrent-mcp

smartrent-mcp

本地服务
github.com/Evin009其他01 天前更新

关于 smartrent-mcp

smartrent-mcp 是供 Claude 控制 SmartRent 家居设备的 MCP 服务,可查询状态并控制门锁、开关和恒温器,支持本地 stdio 与远程 SSE 模式。

主要功能

  1. 01读取家居设备状态
  2. 02开关灯光
  3. 03锁门或解锁
  4. 04设置恒温器温度与模式
  5. 05支持本地运行或远程 SSE 模式

适用场景

  1. 01查看 SmartRent 设备状态
  2. 02按名称开关灯光
  3. 03调节恒温器或锁门

MCP 相关

该服务向 MCP 客户端提供设备状态查询和控制工具。本地 Claude Desktop 使用时通过 stdio 运行,也可自托管为 SSE 模式以供远程连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"evin009-smartrent": {
"command": "uvx",
"args": [
"smartrent-mcp"
],
"env": {
"SMARTRENT_EMAIL": "<SMARTRENT_EMAIL>",
"SMARTRENT_PASSWORD": "<SMARTRENT_PASSWORD>"
}
}
}
}
启动命令uvx smartrent-mcp
需要配置的环境变量
SMARTRENT_EMAILYour SmartRent account email
SMARTRENT_PASSWORD密钥Your SmartRent account password

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypismartrent-mcp0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SmartRent MCP

SmartRent MCP server

PyPI version Python versions License: MIT

一个 MCP(Model Context Protocol)服务,可让 Claude 通过自然对话控制你的 SmartRent 智能家居设备——门锁、恒温器、灯光开关和传感器。

You: "Turn off the kitchen lights and lock the front door"
Claude: "Kitchen turned off. Front Door - Lock is now locked."

目录


要求

  • 一个 SmartRent 账户,且已在 SmartRent 应用中设置好设备(仅当你的公寓/住宅使用 SmartRent 硬件时才可使用——前门门锁、恒温器、开关或传感器)
  • Python 3.10+
  • uv 或 pip——你很可能已经安装了其中一种

安装

选项 A — 使用 uv(推荐,无需单独安装)

如果你还没有 uv,请先安装一次:

# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

完成——Claude 首次需要时,uvx 会自动下载并运行此软件包。无需手动运行 install 命令。

选项 B — 使用普通 pip

pip install smartrent-mcp

设置 — Claude Desktop

1. 打开 Claude Desktop 配置文件
  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
2. 添加服务条目

如果你通过 uv 安装(选项 A):

{
  "mcpServers": {
    "smartrent-mcp": {
      "command": "uvx",
      "args": ["smartrent-mcp"],
      "env": {
        "SMARTRENT_EMAIL": "your_smartrent_email",
        "SMARTRENT_PASSWORD": "your_smartrent_password"
      }
    }
  }
}

如果你通过 pip 安装(选项 B):

{
  "mcpServers": {
    "smartrent-mcp": {
      "command": "smartrent-mcp",
      "env": {
        "SMARTRENT_EMAIL": "your_smartrent_email",
        "SMARTRENT_PASSWORD": "your_smartrent_password"
      }
    }
  }
}

如果 "mcpServers" 下已经有其他服务,只需将 "smartrent-mcp" 添加为另一条目——不要替换现有条目。

3. 重启 Claude Desktop

完全退出应用(Mac 上按 Cmd+Q,或在 Windows 上右键点击系统托盘图标并选择“退出”),然后重新打开。仅关闭窗口还不够。

4. 试用

向 Claude 提问:

  • “我家现在是什么状态?”
  • “打开厨房的灯”
  • “锁上前门”
  • “将温度设为 72 度制冷模式”

设置 — Claude Web

Claude Web 只能通过 URL 连接到远程 MCP 服务——它无法运行 uvx 之类的本地命令。要在 Claude Web 中使用此服务,你需要自托管一个远程实例。请参阅下方的自托管,然后在 Claude Web → Settings → MCP Servers 中添加已部署的 URL。


可用工具

工具描述参数
ping测试服务是否正常运行无
get_device_status读取所有设备的状态——门锁、恒温器、开关、传感器无
switch_control打开或关闭灯光开关name(例如 "kitchen")、action("on" / "off")
lock_door锁上或解锁前门action("lock" / "unlock")
set_temperature设置恒温器的温度、模式和单位temperature(整数)、mode("cool" / "heat" / "auto" / "off",默认值为 "cool")、unit("F" / "C",默认值为 "F")

设备匹配不区分大小写,且支持部分匹配——"dining" 会匹配名为 "Dining Room" 的开关。


自托管(远程 / SSE 模式)

默认情况下,此软件包以 stdio 模式运行,供 Claude Desktop 在本地使用。要将其作为远程常驻服务运行(供 Claude Web 或多人共享使用),请设置 TRANSPORT 环境变量:

TRANSPORT=sse [email protected] SMARTRENT_PASSWORD=yourpassword smartrent-mcp

这会启动一个 HTTP/SSE 服务(默认端口为 8000,可通过 PORT 覆盖)。你可以将其部署到任何可运行 Python 的平台,例如 Railway、Render、Fly.io 等,并设置以下环境变量:

变量必填说明
SMARTRENT_EMAIL是你的 SmartRent 账户邮箱
SMARTRENT_PASSWORD是你的 SmartRent 账户密码
TRANSPORT否stdio(默认)或 sse
PORT否sse 模式下监听的端口(默认 8000)

部署完成后,可通过 https://your-deployment-url/sse 连接。


故障排查

远程部署时出现“Invalid Host header”或连接被拒绝 默认情况下,服务会关闭 DNS 重绑定保护,以支持远程访问。如果你更改了此设置,请确保在 server.py 中设置了 TransportSecuritySettings(enable_dns_rebinding_protection=False)。

Claude Desktop 未显示任何工具 确保完全退出并重启应用(而不只是关闭窗口)。查看 MCP 日志:

  • Mac:~/Library/Logs/Claude/mcp-server-smartrent-mcp.log
  • Windows:%APPDATA%\Claude\logs\mcp-server-smartrent-mcp.log

“Username or password was wrong” 请使用相同的邮箱和密码登录 SmartRent 移动应用,以验证你的 SmartRent 凭据是否有效。

“No switch/lock/thermostat found on this account” 你的 SmartRent 账户需要在 SmartRent 应用中预先设置相应类型的设备。


安全

你的 SmartRent 凭据会作为环境变量直接传递给服务进程,且只会发送到 SmartRent 自己的登录 API。此软件包不会记录或存储这些凭据。

如果你以 sse 模式自托管,任何知道你的服务 URL 的人都能控制你的家居设备——远程模式目前没有身份验证层。请对部署 URL 保密,或限制对其的网络访问。


构建所用技术

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。