健康AI插件
Claude Code的低摩擦营养跟踪系统。通过文字或照片描述你吃了什么,并获得计算出的营养信息和置信度得分。
运作原理
两个组件协同工作:
- 远程MCP服务器 -处理营养数据查找(USDA FoodData Central+Open Food Facts)、缓存、单位转换和确定性数学计算
- Claude代码插件 -引导对话的技能:提出澄清问题,解释图像,并用信心评分呈现结果
LLM的原因 _什么_ 你吃了 _多少_MCP服务器执行以下操作 _计算_ -没有营养数学依赖于LLM概率。
例子
- “我的咖啡加牛奶和糖有多少卡路里?”
- “我喝了一杯蛋白奶昔——两勺金标、330克全脂牛奶、半根香蕉”
- 用半盒意大利面、一磅碎牛肉和一罐拉奥的腌料做意大利面
- \[营养标签照片\]“用牛奶喝了两勺这个”
- “吃了一个巨无霸和中薯条”
设置
先决条件
- 布置 用于节点版本管理和任务运行
入门指南
mise install # Install Node 24.11.0
npm install # Root: install git hooks (husky + lint-staged)
cd server
cp .env.example .env # Add your USDA API key (free from https://fdc.nal.usda.gov/api-key-signup)
npm install # Server: install project dependencies两者 npm install 需要步骤——root安装repo范围内的工具(git钩子), server/ 安装项目依赖关系。
跑步
mise run dev # Dev server with hot reload (from repo root)
# or
cd server && npm run dev # Equivalent服务器启动于 http://localhost:3000 健康检查在 /health MCP终点位于 /mcp.
插件安装
- 更新
plugin/.mcp.json使用部署的服务器URL(替换PLACEHOLDER_URL) - 安装插件:
claude plugin add ./plugin如果服务器启用了OAuth(AUTH_ENABLED=true),Claude Code在第一次连接时自动处理OAuth 2.1流。如果禁用身份验证,则不需要身份验证。
运行测试
mise run test # From repo root
# or
cd server && npm test # Equivalent代码质量
预提交钩子会自动对暂存文件运行ESLint、Prettier、类型检查和测试。要手动运行,请执行以下操作:
mise run quality # Lint + format + type-check
mise run lint # ESLint --fix
mise run format # Prettier --write
mise run type-check # tsc --noEmit部署
服务器通过GitHub Actions工作流(手动触发)部署到AWS ECS Fargate。看 infra/README.md 获取完整的设置说明,包括Terraform配置、GitHub Actions变量配置和操作命令。
mise run deploy # Opens the deploy workflow in GitHub状态
积极发展。MCP服务器核心采用 search_food, get_nutrition, calculate_meal,以及 save_food 工具、SQLite缓存和USDA/Open Food Facts集成。看 要求.md 为了获得完整的规格。
已实施:
- 具有流式HTTP传输的MCP服务器
- 跨USDA和Open Food Facts的食品搜索,具有跨源重复数据删除功能
- 单位转换的营养查找:重量(g、kg、oz、lb)、体积(杯、汤匙、茶匙、fl_oz、mL、L)和描述性尺寸(片、片、小、中、大)
- 膳食计算(
calculate_meal)具有确定性营养总结和覆盖率报告 - 带TTL重新验证和优雅降级的SQLite缓存
- 定制食品储存(
save_food)用于餐厅商品和营养标签,具有90天TTL和追加销售语义 - MCP OAuth 2.1使用PKCE进行身份验证,动态客户端注册(可选通过
AUTH_ENABLED任何人) - 克劳德代码插件
nutrition-tracker技能(见plugin/README.md用于设置) - 使用EFS持久性和GitHub Actions CI/CD在ECS Fargate上部署AWS——支持HTTPS+身份验证(自定义域)和仅HTTP(ALB DNS)模式(请参阅
infra/README.md)
许可证
此项目根据GNU通用公共许可证v3.0获得许可-请参阅 许可证 文件以获取详细信息。
