天窗MCP服务器
用于天光日历API的MCP(模型上下文协议)服务器。使像Claude这样的人工智能助手能够与您的Skylight家庭日历、家务、列表等进行交互。
特性
- 日历:查询日历事件(“今天我的日历上有什么?”)
- 家务:查看和创建家务(“将清空的洗碗机添加到家务中”)
- 列表:查看杂货和待办事项清单(“杂货清单上有什么?”)
- 任务:将项目添加到任务框(“将XYZ添加到我的任务列表”)
- 家庭:查看家庭成员和设备
- 奖励:查看奖励积分和可用奖励
快速开始
安装
选项1:npm包(推荐)
mcp.json:
{
"mcpServers": {
"skylight": {
"command": "npx",
"args": ["@eaglebyte/skylight-mcp"],
"env": {
"SKYLIGHT_EMAIL": "your_email@example.com",
"SKYLIGHT_PASSWORD": "your_password",
"SKYLIGHT_FRAME_ID": "your_frame_id"
}
}
}
}克劳德代码:
claude mcp add skylight npx @eaglebyte/skylight-mcp \
-e SKYLIGHT_EMAIL=your_email@example.com \
-e SKYLIGHT_PASSWORD=your_password \
-e SKYLIGHT_FRAME_ID=your_frame_id选项2:来源
git clone https://github.com/TheEagleByte/skylight-mcp.git
cd skylight-mcp && npm install && npm run build然后在mcp.json中使用:
{
"mcpServers": {
"skylight": {
"command": "node",
"args": ["/path/to/skylight-mcp/dist/index.js"],
"env": {
"SKYLIGHT_EMAIL": "your_email@example.com",
"SKYLIGHT_PASSWORD": "your_password",
"SKYLIGHT_FRAME_ID": "your_frame_id"
}
}
}
}AI 使用说明
将此复制到AI的自定义指令或系统提示中:
您可以访问Skylight MCP服务器。Skylight是一个智能家庭日历显示器,显示日历、家务、杂货清单、膳食和奖励。使用天窗工具帮助管理家庭日程和组织。 提示: - 呼叫 get_family_members 在分配家务以获取成员姓名之前 - 如果没有指定清单,杂货项目默认为主杂货清单 - 日期接受“今天”、“明天”、日期名称或YYYY-MM-DD格式 - 某些工具(奖励、餐点、照片)需要订阅Skylight Plus先决条件
- Node.js 18+
- 具有有效订阅的Skylight帐户
- 您的天窗框架ID(请参见 查找您的帧ID)
认证
MCP服务器支持两种身份验证方法:
选项1:电子邮件/密码(推荐)
使用您的Skylight帐户凭据。服务器将自动登录并管理令牌。
SKYLIGHT_EMAIL=your_email@example.com
SKYLIGHT_PASSWORD=your_password
SKYLIGHT_FRAME_ID=your_frame_id选项2:手动令牌(传统)
使用代理工具从Skylight应用程序中捕获令牌。
SKYLIGHT_TOKEN=your_token_here
SKYLIGHT_FRAME_ID=your_frame_id
SKYLIGHT_AUTH_TYPE=bearer查找您的帧ID
您仍然需要找到您的帧ID(家庭标识符):
- 使用代理工具(代理侠, 查尔斯,或 中间人代理)
- 从Skylight应用程序捕获任何API请求
- 请查看URL路径:
/api/frames/{frameId}/... - 例子:
/api/frames/abc123/chores→ 帧ID为abc123
配置
| 变量 | 必填 | 描述 |
|---|---|---|
SKYLIGHT_EMAIL | 选项1 | 您的Skylight帐户电子邮件 |
SKYLIGHT_PASSWORD | 选项1 | 您的Skylight帐户密码 |
SKYLIGHT_TOKEN | 选项2 | 您的API令牌(如果不使用电子邮件/密码) |
SKYLIGHT_AUTH_TYPE | 没有 | bearer (默认)或 basic (用于手动令牌) |
SKYLIGHT_FRAME_ID | 是 | 您的家庭相框ID |
SKYLIGHT_TIMEZONE | 否 | 默认时区(默认: America/New_York) |
示例.env文件:
# Email/password auth (recommended)
SKYLIGHT_EMAIL=your_email@example.com
SKYLIGHT_PASSWORD=your_password
SKYLIGHT_FRAME_ID=your_frame_id
SKYLIGHT_TIMEZONE=America/New_York可用工具
日历工具
| 工具 | 说明 |
|---|---|
get_calendar_events | 获取日期范围内的日历事件 |
get_source_calendars | 列出已连接的日历源(谷歌、iCloud等) |
合唱工具
| 工具 | 说明 |
|---|---|
get_chores | 使用可选过滤器(日期、受让人、状态)获取杂务 |
create_chore | 创建一个具有可选重复的新任务 |
列出工具
| 工具 | 说明 |
|---|---|
get_lists | 获取所有可用列表 |
get_list_items | 从特定列表中获取项目 |
任务工具
| 工具 | 说明 |
|---|---|
create_task | 将任务添加到任务框中 |
家庭工具
| 工具 | 说明 |
|---|---|
get_family_members | 获取家庭成员资料 |
get_frame_info | 获取家庭/框架信息 |
get_devices | 列出天窗设备 |
奖励工具
| 工具 | 说明 |
|---|---|
get_rewards | 获得可用奖励 |
get_reward_points | 获取奖励积分余额 |
查询示例
配置后,您可以向Claude询问以下问题:
- “今天我的日历上有什么?”
- “这周我需要做什么家务?”
- “在我明天的家务中加入‘倒垃圾’”
- “购物清单上有什么?”
- “将牛奶添加到我的任务列表中”
- “天窗上的家人是谁?”
- “每个人有多少奖励积分?”
发展
# Run in development mode (with hot reload)
npm run dev
# Build
npm run build
# Run tests
npm test
# Type check
npm run typecheckAPI文档
这个MCP服务器是建立在反向发动机天光API之上。API终点记录使用 天窗api 该项目将浏览器网络流量(HAR文件)转换为OpenAPI规范。
API资源:
如果您发现新的API端点或发现当前文档存在问题,请向 天窗api 存储库。
贡献
欢迎投稿!以下是您可以提供帮助的方式:
- 克隆该仓库 并创建一个特征分支
- 进行更改 具有清晰、描述性的承诺
- 运行测试 (
npm test)和linting(npm run lint)提交前 - 打开拉取请求 描述您的更改
开发设置
git clone https://github.com/TheEagleByte/skylight-mcp.git
cd skylight-mcp
npm install
npm run dev # Start with hot reload贡献领域
- 添加对新Skylight API端点的支持
- 改进错误处理和边缘情况
- 加强文件编制
- 编写附加测试
问题与支持
请提供相关详细信息,如您的Node.js版本、错误消息和配置(敏感值已编辑)。
许可证
麻省理工学院
免责声明
这是一种非正式的整合。天光API是反向发动机,可能会在不通知的情况下更改。使用风险自负。
