Carri MCP 服务器
一个模型上下文协议(MCP)服务器,为Carri家庭计划应用程序提供事件管理工具,允许用户通过Claude AI获取、查看和创建家庭事件。
特点/功能
- 🔐(锁形符号,常用于表示保密、安全或需要密码等含义) Firebase 认证 - 实际用户使用电子邮件/密码登录
- 📅(日历图标,无具体文字含义,通常用于表示日期或日程安排) 活动管理 - 按类别、孩子或即将到来的日期获取活动
- 加号 事件创建 - 创建新的家庭活动,并可选择同步至Google日历
- 🎨(颜料/美术) 漂亮的组件 - 用于Claude AI的交互式React组件
- 🔒 翻译为中文是“锁”。这个符号通常用来表示安全、保密或锁定的状态。 安全数据访问 - 与Firebase Firestore的集成,配备适当的权限
- 🤖 表示机器人。 Claude AI集成 - 用于对话式事件管理的MCP工具
可用工具
authenticate-user
使用电子邮件和密码验证用户身份以访问其活动。
输入:
{
"email": "user@example.com",
"password": "userpassword"
}fetch-events-by-category
获取按类别(生日、健康、教育等)过滤的事件。
输入:
{
"category": "birthday",
"userId": "firebase-uid"
}fetch-events-by-child
获取特定子项的事件。
输入:
{
"childId": "child-id",
"userId": "firebase-uid"
}fetch-nearest-events
获取指定天数内的即将发生的活动。
输入:
{
"days": 30,
"userId": "firebase-uid"
}create-event
创建一个新家庭活动,设定标题、日期和类型。
输入:
{
"userId": "firebase-uid",
"title": "Emma's Birthday Party",
"eventDate": "2024-12-25T16:00:00Z",
"eventType": "birthday",
"description": "Emma's 5th birthday celebration",
"childId": "child-id",
"isRecurring": false,
"syncToGoogleCalendar": true
}快速入门
1. 安装依赖项
cd parent-pal_server_node
pnpm install2. 配置Firebase
- 将您的 Firebase 服务帐户密钥添加到
parent-pal_server_node/src/serviceAccountKey.json - 在(相应位置)更新 Firebase 配置
parent-pal_server_node/src/firebase.ts
3. 启动服务器
cd parent-pal_server_node
pnpm start服务器将在以下地址运行:http://localhost:8001
4. 测试认证
curl -X POST "http://localhost:8001/mcp/messages?sessionId=test" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "authenticate-user",
"arguments": {
"email": "user@example.com",
"password": "password"
}
}
}'Claude AI集成
- 在Claude桌面中配置MCP服务器
- 添加服务器:
./start-mcp.sh(标准I/O传输) - 测试语句:“给我显示孩子们的生日活动”
工作实例
以下是三个展示核心功能的示例提示:
示例1:健康事件查询
提示: “显示我接下来30天内的健康相关活动” 预期结果: 显示指定时间段内所有与健康相关的事件(医生预约、疫苗接种、体检)。
示例2:针对儿童的特定事件
提示: “我这个月为艾玛安排了哪些活动?” 预期结果: 显示所有特别分配给艾玛的事件,包括生日、学校活动和约会。
示例3:创建新事件
提示: “为尼奥在12月15日下午3点举办一个生日派对活动” 预期结果: 在日历中创建一个新的生日事件,包含指定的详细信息,并可选择同步到Google日历。
隐私政策
数据收集与使用:
- 这个MCP服务器连接到您的Carri应用程序的Firebase数据库
- 我们仅访问执行事件管理功能所必需的数据
- 不收集或存储任何对话数据
- 所有数据访问均需用户身份验证
- 事件根据用户权限进行过滤(只有家长才能访问其子女的事件)
数据保留:
- 事件数据根据您的Carri应用设置存储在Firebase Firestore中
- 除了Carri账户中已有的数据外,不保留额外数据
- 您可以通过Carri应用程序或此MCP服务器删除事件
安全:
- 所有连接均使用Firebase的安全认证
- 数据在传输过程中和静止状态下均受到加密保护
- 未记录任何个人数据,也未将其传输给第三方
联系方式: 出于隐私考虑,请发送邮件至privacy@carri.app
联系与支持
开发者联系方式:
- 电子邮箱:support@carri.app
- GitHub Issues(问题追踪): 报告错误或请求功能
支持渠道:
- 技术问题:请发送邮件至support@carri.app
- 隐私担忧:请通过 privacy@carri.app 联系我们
- 常见问题:hello@carri.app
响应时间: 我们在工作日通常会在24至48小时内回复。
测试账户
测试凭据:
- 电子邮件:
test@carri.app - 密码:
TestPassword123! - 用户ID:
test-user-anthropic-2024
设置测试数据:
cd parent-pal_server_node
pnpm run setup:test清理测试数据:
pnpm run cleanup:test完整的测试指南: 见 《ANTHROPIC_TESTING_GUIDE.md》翻译为中文是《人类测试指南.md》 如需详细的测试说明、示例数据和验证场景,请参阅。
API所有权
我们验证,我们拥有并控制着此MCP服务器所使用的Firebase API终端节点:
- Firebase 项目:
parent-pal-97ae2(Carri的官方项目) - 所有终端都在我们的控制之下,并由我们的开发团队负责维护
- 服务账户密钥得到安全管理和定期轮换
项目结构
Carri-MCP-Server/
├── parent-pal_server_node/ # MCP Server
│ ├── src/
│ │ ├── server-stdio.ts # Main MCP server (stdio)
│ │ ├── server.ts # HTTP MCP server
│ │ ├── types.ts # TypeScript data models
│ │ ├── firebase.ts # Firebase configuration
│ │ ├── firebaseService.ts # Firebase data service
│ │ └── mockData.ts # Mock data for development
│ ├── package.json
│ ├── start-mcp.sh # MCP startup script
│ └── tsconfig.json
├── assets/ # Built Widgets
│ ├── carri-events.html
│ ├── carri-events.js
│ └── carri-events.css
└── README.mdFirebase 设置
所需的 Firestore 索引
确保在您的 Firebase 控制台中存在这些索引:
events收藏:parentIds(array-contains) 翻译为中文是:(数组包含),eventType(==),isDeleted(==)events收藏集:parentIds(array-contains) 翻译为中文是:(数组包含),childId(==),isDeleted(==)events收藏:parentIds(array-contains) 翻译为中文是:(数组包含),eventDate大于等于(>=),isDeleted(==)
服务帐户密钥
将您的Firebase服务帐户密钥添加到 parent-pal_server_node/src/serviceAccountKey.json:
{
"type": "service_account",
"project_id": "parent-pal-97ae2",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "...",
"token_uri": "..."
}发展
构建小部件
# Build the React widget
cd parent-pal-events
# Widget is already built and available in assets/测试
# Test server endpoints
curl http://localhost:8001/mcp
# View widget
open assets/parent-pal-events.html安全
- 所有数据访问均需用户身份验证
- 按以下条件筛选活动
parentIds数组(用户必须是家长) - 查询中排除已软删除的记录
- Firebase安全规则合规性
- 所有数据在传输过程中和静止状态下均经过加密
维护与更新
当前状态: 积极维护 更新时间表: 随着Carri应用的发布,定期更新 问题回应: 在工作日的24-48小时内 重大变更: 我们为任何重大变更提前通知
许可证
MIT 许可证 - 详情请参见 LICENSE 文件。
做出贡献
- 克隆(或“分叉”)该仓库
- 创建一个特性分支
- 做出你的更改
- 彻底测试
- 提交拉取请求
支持
如遇问题或疑问,请联系:
- 电子邮箱:support@carri.app
- GitHub Issues(问题追踪): 报告错误或请求功能
