Seam MCP 服务器
一个通过Seam API控制智能锁的模型上下文协议(MCP)服务器。
特点/功能
这款MCP服务器提供了全面的工具来管理智能锁和访问密码:
锁控制
get_status- 新 全面了解所有锁的状态,包括电池电量、连接情况及存在的问题list_locks- 列出连接到您的Seam账户的所有智能锁get_lock- 获取特定锁的详细信息lock_door- 锁定特定的门unlock_door- 解锁特定的门get_lock_status- 获取当前锁的状态,包括电池电量和在线状态
访问代码管理
create_access_code- 在单个锁上创建一个可选时间限制的访问代码create_access_code_on_multiple_locks- 在多个锁上创建相同的代码(带位置过滤)list_access_codes- 列出所有访问代码,可选择按设备过滤update_access_code- 更新现有的访问代码delete_access_code- 删除访问代码
先决条件
- 一个Seam账户 - 在以下网址注册 https://console.seam.co/(该网址直接翻译为中文仍为网址形式,保持原样)
- 一个Seam API密钥 - 从您的Seam控制台生成一个
- 至少有一把与您的Seam账户连接的智能锁
安装
与Smithery一起使用
- 通过Smithery安装:
npx @smithery/cli install seam-mcp- 当提示时,请配置您的Seam API密钥
手动安装(用于开发)
- 克隆此存储库:
git clone https://github.com/yourusername/seam-mcp.git
cd seam-mcp- 安装依赖项:
npm install安装完成后,构建将自动运行。
使用方法
使用Claude Desktop
在您的Claude Desktop配置文件中添加:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
如果通过npm安装:
{
"mcpServers": {
"seam": {
"command": "node",
"args": ["/path/to/seam-mcp/.smithery/stdio/index.cjs"],
"env": {
"SEAM_API_KEY": "your-seam-api-key-here"
}
}
}
}或者使用 npx(发布后):
{
"mcpServers": {
"seam": {
"command": "npx",
"args": ["-y", "seam-mcp"],
"env": {
"SEAM_API_KEY": "your-seam-api-key-here"
}
}
}
}与史密斯里(或译为“史密斯工坊”,具体译名取决于上下文和品牌特性)
安装Smithery后,请在Smithery仪表板中配置您的API密钥。服务器将自动对Claude和其他MCP客户端开放。
发展
运行带有实时重载功能的开发服务器:
npm run dev为生产构建:
npm run build为stdio和HTTP传输方式同时构建:
npm run build:all示例用法
配置完成后,您可以要求Claude:
锁控制
- “显示我所有锁的状态”(综合概览)
- “列出我所有的智能锁”
- “打开前门”
- “我的车库锁状态如何?”
- “锁上后门”
- “哪些锁需要换新电池?”
访问码管理
- “在西雅图的所有锁上创建一个名为‘访客代码’的访问密码1234”
- “为我的保洁人员创建一个从1月1日至1月15日的临时访问代码”
- “列出我前门的所有访问密码”
- “删除名为‘旧访客代码’的访问码”
- “创建一个名为‘Airbnb客人’的访问代码5678,有效期为下周一下午3点至下周五上午11点。”
配置
服务器需要一个Seam API密钥。从以下位置获取您的密钥: 缝线控制台。
当与Smithery一起使用时,API密钥会通过Smithery平台进行安全存储和管理。
支持的锁具品牌
Seam支持100多个智能锁品牌,包括:
- 八月
- 耶鲁
- Schlage(品牌名,可译为“史泰博”或根据具体语境保留原名)
- Kwikset(品牌名,可译为“快凯”或直接保留原名,根据语境选择是否翻译)
- Baldwin 翻译成中文是“鲍德温”
- Lockly(品牌名,可译为“洛克利”)
- Tedee(音译)
- 还有很多其他的。。。
检查一下 缝线设备目录 以获取完整列表。
API 参考
锁控工具
get_status() 的中文翻译是:“获取状态”
新 获取您所有锁具的综合状态仪表盘。返回结果:
- 锁定状态概览(已锁定/未锁定的数量,百分比)
- 连接状态(在线/离线锁定)
- 电池电量分析(低电量/中电量警告)
- 错误和警告检测
- 用表情符号快速总结视觉内容
非常适合用于:“显示我所有锁的状态”或“我的锁有没有任何问题?”
\list_locks()\ 翻译成中文是“列出锁”
返回您Seam账户中的所有锁具及其基本信息,包括名称、制造商、型号、锁具状态、电池电量和在线状态。
获取设备锁(device_id)
获取特定锁的详细信息,包括其功能、错误、警告以及位置。
锁定门(设备ID)
锁定指定的门,并返回操作尝试的详细信息。
解锁门(设备ID)
解锁指定的门,并返回操作尝试的详细信息。
获取锁状态(device_id)
获取当前的锁定/解锁状态以及电池电量和在线状态。
访问代码管理工具
创建访问码(设备ID, 名称, 访问码?, 开始时间?, 结束时间?)
在单个锁上创建一个访问代码。该 code 参数是可选的(如果未提供,则会生成随机代码)。时间限制也是可选的——对于永久代码,请省略时间限制。
示例:
{
device_id: "abc123",
name: "Guest Code",
code: "1234",
starts_at: "2025-01-01T16:00:00Z",
ends_at: "2025-01-15T12:00:00Z"
}为多个锁创建访问码(device_ids, name, code?, starts_at?, ends_at?, location_filter?)
在多个锁上创建相同的访问代码。支持基于位置的过滤,以便按位置名称选择目标锁。
带有位置过滤器的示例:
{
device_ids: [], // Can be empty when using location_filter
name: "Seattle Guest Code",
code: "5678",
location_filter: "Seattle" // Will find all locks with "Seattle" in their location or name
}列出访问代码(设备ID?)
列出所有访问代码。可选地,通过设备ID进行过滤以查看特定锁的代码。
更新访问代码(access_code_id, name(可选), code(可选), starts_at(可选), ends_at(可选))
更新现有的访问代码。除access_code_id外,所有参数均为可选。
删除访问码(access_code_id)
永久删除锁上的访问代码。
许可证
麻省理工学院(MIT)
做出贡献
欢迎贡献!请随时提交拉取请求。
支持
对于以下相关问题:
- 这个MCP服务器:在GitHub上提交一个问题
- Seam API:访问 Seam Docs(可译为“Seam文档”或根据具体语境调整为更贴切的表述,如“Seam文档系统”等) 或者 缝线支撑
- MCP协议:访问 MCP 文档
