mcpField
C
Calorie Tracker MCP Server

Calorie Tracker MCP Server

本地服务
github.com/thitiph0n健康医疗455 周前更新

关于 Calorie Tracker MCP Server

Calorie Tracker MCP Server 面向记录饮食和身体指标的人群,可管理食物营养素数据,并使用 Mifflin-St Jeor 方程计算 BMR 和 TDEE。

主要功能

  1. 01记录含宏量营养素的食物
  2. 02计算 BMR 和 TDEE
  3. 03更新个人资料与活动水平
  4. 04追踪体重和身体成分历史
  5. 05支持带 PKCE 的 OAuth 2.1

适用场景

  1. 01记录每日食物摄入
  2. 02根据个人资料估算能量需求
  3. 03查看体重和身体成分变化

MCP 相关

向 MCP 客户端提供食物记录、个人资料、历史数据和用户管理工具。支持带 PKCE 的 OAuth 2.1 身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"calorie-tracker": {
"command": "npx",
"args": [
"-y",
"wrangler"
]
}
}
}
启动命令npx -y wrangler

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmwrangler

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Calorie Tracker MCP Server

Calorie Tracker MCP Server

用于追踪每日卡路里摄入量的 MCP 服务,提供准确的 BMR/TDEE 计算。基于 Cloudflare Workers 和 D1 数据库构建。

功能

  • 食物追踪:添加、更新和删除食物记录,并记录宏量营养素
  • 个人资料管理:使用 Mifflin-St Jeor 公式计算 BMR/TDEE
  • 历史数据:追踪体重和身体成分的变化
  • 安全性:采用 OAuth 2.1 身份验证,支持 PKCE

快速设置

pnpm install

# Create resources and update wrangler.jsonc with IDs
npx wrangler d1 create calorie-tracker
npx wrangler kv:namespace create OAUTH_KV

# Run migrations and start dev server
npx wrangler d1 migrations apply calorie-tracker --local
pnpm run dev

OAuth 客户端注册

设置管理员 API 密钥:

# Development: Update wrangler.jsonc vars.ADMIN_API_KEY
# Production: Use secrets
npx wrangler secret put ADMIN_API_KEY

注册 OAuth 客户端以获取凭据:

curl -X POST http://localhost:8787/oauth/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_ADMIN_API_KEY" \
  -d '{
    "client_name": "Claude Desktop",
    "redirect_uris": ["http://127.0.0.1/callback", "http://localhost/callback"],
    "user_id": "admin"
  }'

注意:Claude Desktop 会在 OAuth 流程中指定其回调 URL。如果遇到重定向 URI 不匹配错误,请查看 Claude Desktop 的 OAuth 日志,确认其实际要求的回调 URL。

响应:

{
  "client_id": "uuid-client-id",
  "client_secret": "generated-secret",
  "client_name": "Claude Desktop"
}

Claude 配置

选项 1:Bearer Token(Personal/Pro/Max)

使用客户端密钥作为 Bearer Token 进行简单身份验证:

  1. 注册 OAuth 客户端:

    curl -X POST http://localhost:8787/oauth/register \
      -H "Content-Type: application/json" \
      -H "X-API-Key: YOUR_ADMIN_API_KEY" \
      -d '{
        "client_name": "Claude Desktop",
        "redirect_uris": ["https://claude.ai/api/mcp/auth_callback"],
        "user_id": "admin"
      }'
    

    保存响应中的 client_secret。

  2. Claude Desktop 配置(claude_desktop_config.json):

    {
      "mcpServers": {
        "calorie-tracker": {
          "command": "npx",
          "args": ["mcp-remote", "http://localhost:8787/sse"],
          "env": {
            "BEARER_TOKEN": "<client_secret from registration>"
          }
        }
      }
    }
    
选项 2:使用客户端凭据进行 OAuth(仅限 Team/Enterprise)

使用客户端 ID/密钥的私有连接器:

  1. 注册 OAuth 客户端,并使用回调 URL https://claude.ai/api/mcp/auth_callback

  2. 在 Claude 中添加自定义连接器:

    • 名称:Calorie Tracker
    • 远程 MCP 服务 URL:https://YOUR-WORKER.workers.dev/sse
    • OAuth 客户端 ID:<client_id from registration>
    • OAuth 客户端密钥:<client_secret from registration>
生产环境部署

部署到 Cloudflare Workers,以便通过移动设备或 Web 访问:

pnpm run deploy
pnpm run migrate
npx wrangler secret put ADMIN_API_KEY

工具

食物追踪:

  • list_entries - 使用分页列出食物记录
  • add_entry - 添加食物记录并记录宏量营养素
  • update_entry - 更新现有记录
  • delete_entry - 删除记录

个人资料管理:

  • get_profile - 获取个人资料及 BMR/TDEE 计算结果
  • update_profile - 更新个人资料数据(身高、体重、活动水平)
  • get_profile_history - 获取历史追踪数据

管理:

  • register_user - 注册新用户
  • revoke_user - 撤销用户访问权限

BMR/TDEE 计算

使用 Mifflin-St Jeor 公式(黄金标准):

男性: BMR = (10 × weight) + (6.25 × height) - (5 × age) + 5
女性: BMR = (10 × weight) + (6.25 × height) - (5 × age) - 161

TDEE: BMR × Activity Multiplier(1.2 - 1.9)

开发

pnpm test           # Run tests
pnpm run type-check # TypeScript validation
pnpm run deploy     # Deploy to production
pnpm run migrate    # Run migrations on remote

技术栈

  • 运行时:Cloudflare Workers
  • 数据库:D1(SQLite)
  • 语言:TypeScript
  • 验证:Zod
  • 测试:Vitest

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。