Token导航 LogoToken导航TokenDH.com
finnberry (Bckenstler) logo
运维云端未说明官方级别未说明来源级核验

finnberry (Bckenstler)

MCP Server

Finnberry是一款开源的婴儿追踪应用,支持睡眠、喂养、尿布更换等多种活动记录,并集成了AI聊天界面和MCP协议。

工具数

12

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bckenstler

提供方

bckenstler

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

芬伯里

一个集成了MCP(模型上下文协议)的开源婴儿跟踪应用程序。

特性

  • 睡眠跟踪:基于定时器的午睡和夜间睡眠跟踪,并提供质量评级
  • 喂食追踪:母乳喂养,每侧持续时间跟踪和侧切换,奶瓶(含量)和固体
  • 尿布追踪:湿的、脏的或两者都有,颜色/稠度/数量可选
  • 泵送跟踪:基于定时器的泵送会话,具有左/右量
  • 增长跟踪:重量、身高和头围,采用英制/公制支撑
  • 温度跟踪:体温记录,包括C/F转换和发烧状态
  • 活动跟踪:沐浴、腹部时间、户外游戏、屏幕时间等,支持计时器
  • 药物追踪:使用定制药物记录药物剂量并跟踪剂量
  • 多护理人员支持:与家人和护理人员共享访问权限
  • 实时同步:更改在所有设备上立即同步
  • 多个报表视图:活动历史记录的日视图、周视图和列表视图
  • 视觉时间轴:每日活动时间表,直观地表示所有活动类型
  • 活动编辑:使用持续时间滑块和详细控件编辑记录的活动
  • AI聊天界面:用于记录和查询婴儿数据的自然语言交互
  • MCP集成:用于记录和分析婴儿数据的AI代理集成

技术栈

  • 框架:Next.js 15(应用路由器)
  • 语言:TypeScript
  • API:tRPC v11
  • 数据库:Supabase(PostgreSQL)
  • 对象关系映射:Prisma
  • 实时:Supabase实时
  • 认证:NextAuth.js v5
  • 样式:顺风CSS 4+shadcn/ui
  • 主控程序:@modelcontextprotocol/sdk
  • 状态状态:
  • 单体仓库:Turborepo

项目结构

finnberry/
├── apps/
│   ├── web/                 # Next.js webapp
│   └── mcp-server/          # MCP Server
├── packages/
│   ├── db/                  # Prisma schema + client
│   ├── api/                 # tRPC routers
│   ├── schemas/             # Shared Zod schemas
│   └── utils/               # Shared utilities
└── turbo.json

部署到 Vercel

部署Finnberry最简单的方法是使用Vercel:

![Deploy with Vercel](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fbckenstler%2Ffinnberry&env=DATABASE_URL,DIRECT_URL,AUTH_SECRET,NEXTAUTH_URL&envDescription=Required%20environment%20variables%20for%20Finnberry&envLink=https%3A%2F%2Fgithub.com%2Fbckenstler%2Ffinnberry%23environment-variables&project-name=finnberry&repository-name=finnberry&root-directory=apps/web)

手动Vercel设置

  1. 将您的存储库导入 Vercel仪表板
  2. 根目录apps/web
  3. 配置所需的环境变量(请参阅 环境变量)
  4. 部署

API超时(Vercel计划)

AI聊天功能使用流式响应。默认超时为60秒(专业版)。对于Hobby(免费)计划,编辑 apps/web/src/app/api/chat/route.ts 和改变 maxDuration10.

计划最长持续时间
爱好(免费)10秒
Pro60秒
企业版900秒

入门指南

对于当地发展:

先决条件

  • Node.js 20+
  • pnpm 9+
  • Supabase项目(或本地PostgreSQL)

安装

  1. 克隆存储库:
   git clone https://github.com/yourusername/finnberry.git
   cd finnberry
  1. 安装依赖项:
   pnpm install
  1. 设置环境变量:
   cp apps/web/.env.example apps/web/.env
  1. 配置您的 apps/web/.env 文件(参见 环境变量 在......下面
  1. 生成Prisma客户端并推送架构:
   pnpm db:generate
   pnpm db:push
  1. 启动开发服务器:
   pnpm dev

该应用程序将在 http://localhost:3000.

环境变量

必需

变量描述
DATABASE_URLSupabase PostgreSQL池器连接字符串
DIRECT_URLPostgreSQL直接连接(用于迁移)
AUTH_SECRETNextAuth secret-使用生成 openssl rand -base64 32

可选的

变量描述
NEXTAUTH_URL应用程序URL-生产所需,在开发中自动检测
GOOGLE_CLIENT_ID谷歌OAuth客户端ID
GOOGLE_CLIENT_SECRETGoogle OAuth客户端密钥
NEXT_PUBLIC_SUPABASE_URLSupabase项目URL(实时)
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase匿名密钥(实时)
SUPABASE_SERVICE_ROLE_KEYSupabase服务角色密钥(服务器端访问)
EMAIL_SERVER魔术链接电子邮件的SMTP连接字符串
EMAIL_FROM魔术链接的发件人电子邮件地址
ANTHROPIC_API_KEY人工智能聊天功能的Anthropic API密钥

邮件配置

对于魔术链接身份验证,请配置 EMAIL_SERVER 使用您的SMTP提供商:

# Resend
EMAIL_SERVER="smtps://resend:re_YOUR_API_KEY@smtp.resend.com:465"

# Gmail (requires app password)
EMAIL_SERVER="smtps://you@gmail.com:app-password@smtp.gmail.com:465"

Supabase设置

  1. 在以下位置创建新项目 网站 supabase.com
  1. 从项目设置中获取连接字符串→ 数据库:

- 连接字符串(池器)DATABASE_URL - 连接字符串(直接)DIRECT_URL

  1. 从项目设置获取API密钥→ API:

- 项目网址NEXT_PUBLIC_SUPABASE_URL - 匿名公开NEXT_PUBLIC_SUPABASE_ANON_KEY - service_roleSUPABASE_SERVICE_ROLE_KEY

  1. 为表启用实时(可选,用于实时同步):

- 转到数据库→ 复制 - 为以下对象启用复制: sleep_records, feeding_records, diaper_records, pumping_records, growth_records, activity_records, temperature_records, medicine_records

数据库命令

命令用例
pnpm db:push开发-快速模式同步,无需迁移文件
pnpm db:migrate生产-创建迁移历史
pnpm db:generate架构更改后重新生成Prisma客户端
pnpm db:studio打开Prisma Studio浏览数据

从其他设备访问

发展模式

发展中(NODE_ENV=development),为了方便起见,该应用程序会自动从请求标头中检测主机:

  • 本地主机:工作地点 http://localhost:3000
  • 局域网接入:工作地点 http://:3000 (例如,通过手机)
  • 测试服务器:工作地点 http://:3000

Magic links将自动使用您访问应用程序的正确URL。

生产/自托管部署

重要:在制作或接触互联网时,你 必须NEXTAUTH_URL 明确地在你的 .env 安全文件:

# For a home server on your LAN
NEXTAUTH_URL="http://192.168.1.100:3000"

# For a cloud server (EC2, DigitalOcean, etc.)
NEXTAUTH_URL="http://your-server-ip:3000"

# For production with a domain
NEXTAUTH_URL="https://finnberry.yourdomain.com"

这可以防止主机头注入攻击。

网络接入

对于远程服务器(例如EC2):

  • 打开安全组/防火墙中的端口3000
  • NEXTAUTH_URL 到服务器的公共IP或域
  • 考虑使用带有SSL的反向代理(nginx/caddy)进行面向互联网的部署

安全最佳实践:

  • 在生产环境中使用HTTPS(通过Let's Encrypt的反向代理)
  • 没有适当的安全措施,不要将应用程序直接暴露在互联网上
  • 为数据库和 NEXTAUTH_SECRET
  • 保持依赖关系更新

AI聊天界面

仪表板包括一个聊天选项卡,允许与您的婴儿跟踪数据进行自然语言交互。

特性

  • 自然语言日志:说“给婴儿换一块湿尿布”或“给婴儿打个盹”
  • 查询数据:问“宝宝今天做了什么?”或“宝宝本周睡了多久?”
  • 流媒体响应:通过工具执行可视化实时流式传输AI响应
  • 模型选择:在俳句(快速)、十四行诗(平衡)或Opus(最有能力)之间进行选择

设置

  1. 从获取Anthropic API密钥 console.anthropic.com
  2. 添加到您的 .env 文件:
   ANTHROPIC_API_KEY=sk-ant-...
  1. 聊天选项卡将出现在仪表板上的主页和报告旁边

交互示例

  • “把尿布弄湿”
  • “开始跟踪睡眠”
  • “记录一瓶4盎司的配方奶粉”
  • “上次喂食是什么时候?”
  • “给我总结一下今天的活动”

MCP 服务器

MCP服务器允许AI代理(如克劳德)与您的婴儿跟踪数据进行交互。

可用工具

工具说明
start-sleep启动睡眠定时器
end-sleep结束主动睡眠会话
log-sleep记录已完成的睡眠
get-sleep-summary获取睡眠统计数据
log-breastfeeding记录母乳喂养会话
log-bottle原木奶瓶喂养
log-solids原木固体食物
get-feeding-summary获取喂养统计数据
log-diaper记录尿布更换
get-diaper-summary获取尿布统计数据
list-children列出所有孩子
get-daily-summary获取一天的所有活动

可用资源

URI描述
finnberry://children列出所有孩子
finnberry://children/{id}儿童档案
finnberry://children/{id}/today今天的活动
finnberry://children/{id}/sleep?period=week睡眠记录
finnberry://children/{id}/feeding?period=week喂食记录

可用提示

提示描述
analyze-sleep-patterns获取有关睡眠模式的人工智能见解
daily-summary生成适合家长的每日摘要

与Claude Desktop一起使用

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "finnberry": {
      "command": "node",
      "args": ["/path/to/finnberry/apps/mcp-server/dist/index.js"],
      "env": {
        "DATABASE_URL": "your-database-url"
      }
    }
  }
}

首先构建MCP服务器:

cd apps/mcp-server
pnpm build

脚本

脚本描述
pnpm dev启动开发服务器
pnpm build构建所有包
pnpm lint跑linting
pnpm type-check运行TypeScript检查
pnpm db:generate生成Prisma客户端
pnpm db:push将架构推送到数据库
pnpm db:migrate运行数据库迁移

测试

pnpm test           # Run all tests (Vitest)
pnpm test:e2e       # Run Playwright E2E tests (requires dev server)
pnpm test:coverage  # Run tests with coverage report

CLAUDE.md 获取详细的测试文档。

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude云端部署婴儿护理本地部署健康追踪多设备同步AI集成开源应用

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP