数据体MCP服务器
MCP(模型上下文协议)服务器,允许Claude使用安全的OAuth身份验证与您的DataBody健康跟踪数据进行交互。
特性
MCP服务器提供60多种工具,用于:
- 认证 -支持PKCE的安全OAuth2登录
- 健康摘要 -获取您的每日宏、目标、身体统计数据和最近的锻炼
- 营养记录 -记录食品并进行全面宏观跟踪
- 食品搜索 -搜索食物、条形码、收藏夹和最近的
- 目标管理 -通过自动计算创建和管理健身目标
- AI教练 -与AI营养教练聊天
- 用餐建议 -根据剩余的宏获取基于人工智能的用餐建议
- 照片分析 -分析食物照片以估计宏
- 训练跟踪 -记录并查看锻炼历史记录
- 笔记和记忆 -保存偏好和饮食限制
- 家庭 -与家人共享数据,以协调膳食计划
- 聊天线索 -与AI教练管理对话历史
安装
选择以下安装方法之一:
选项A:下载MCPB捆绑包(推荐)
最简单的选择。下载一个包含所有预捆绑内容的文件。不需要npm或Node.js。
- 下载最新
.mcpb文件来自 - 双击该文件或将其拖动到Claude Desktop上
- 完成!服务器是自动安装和配置的。
选项B:通过npm安装
如果你安装了Node.js 20+:
npm install -g @databody/mcp选项C:从源代码构建
对于想要定制或贡献的开发人员:
# Clone the repository
git clone https://github.com/databody-ai/databody-mcp.git
cd databody-mcp
# Install dependencies and build
npm install
npm run build配置
如果您是通过MCPB安装的
无需手动配置!安装时,服务器会自动配置 .mcpb 文件。
如果你是通过npm或源代码安装的
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
对于npm安装:
{
"mcpServers": {
"databody": {
"command": "npx",
"args": ["-y", "@databody/mcp"],
"env": {
"DATABODY_API_URL": "https://databody.ai"
}
}
}
}对于源代码安装:
{
"mcpServers": {
"databody": {
"command": "node",
"args": ["/path/to/databody-mcp/dist/index.js"],
"env": {
"DATABODY_API_URL": "https://databody.ai"
}
}
}
}替换 /path/to/databody-mcp 使用克隆存储库的实际路径。
认证
当你第一次使用DataBody工具时,你需要进行身份验证。使用 authenticate 工具:
基于浏览器的OAuth(推荐):
Use the authenticate tool with method "browser"这将:
- 在端口8787上启动本地回叫服务器
- 显示要在浏览器中打开的URL
- 登录并授权后,令牌会自动保存
基于密码(可选):
Use the authenticate tool with method "password", email "your@email.com", and password "yourpassword"令牌安全地存储在 ~/.databody_token.json 具有受限权限。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
DATABODY_API_URL | 您的DataBody API的URL | https://databody.ai |
DATABODY_CALLBACK_PORT | OAuth回调服务器的端口 | 8787 |
可用工具
认证
authenticate-通过浏览器OAuth或密码登录logout-清除存储的令牌auth_status-检查登录状态
用户档案
get_user_profile-获取配置文件设置update_user_profile-更新姓名、身高、活动水平等。change_password/change_email-账户管理
健康与总结
get_health_summary-带有宏、目标、统计数据、训练的仪表板get_health_history-体重、体脂等的历史趋势。
营养
get_today_nutrition-今天的食物日志get_nutrition_history-日期范围历史记录log_food-使用宏跟踪记录膳食update_nutrition_log/delete_nutrition_log-管理日志add_nutrition_item/delete_nutrition_item-管理项目
食品搜索
search_food-搜索FatSecret、美国农业部、OpenFoodFactsget_food_details-详细的营养信息barcode_lookup-扫描产品条形码get_favorites/add_favorite/remove_favorite-管理收藏夹get_recents-最近记录的食物
AI功能
ai_chat-与营养教练聊天get_meal_suggestions-AI膳食推荐analyze_photo-从照片中识别食物parse_food_description-将文本解析为结构化数据expand_meal_ingredients-把饭菜分成配料get_daily_greeting-个性化日常问候get_token_usage-AI使用统计
聊天线索
list_chat_threads/get_chat_thread-查看对话create_chat_thread/delete_chat_thread-管理线程generate_thread_title-AI生成线程标题get_chat_history-获取某个线程的消息
目标
get_current_goal/list_goals/get_goal-查看目标create_goal/update_goal/delete_goal-管理目标calculate_goal-根据当前统计数据重新计算
锻炼
get_recent_workouts/list_workouts/get_workout-查看训练create_workout/update_workout/delete_workout-管理训练
笔记和记忆
get_notes-查看已保存的首选项create_note/update_note/delete_note-管理笔记
家庭
get_households/get_household_summary-查看家庭create_household/update_household/delete_household-管理list_household_members/remove_household_member-管理成员suggest_meal_to_member-为家庭成员创建待处理日志
家庭邀请
list_household_invites/list_pending_invites-查看邀请create_household_invite/cancel_household_invite-发送邀请accept_invite/decline_invite/accept_invite_by_token-回答
示例用法
配置和验证后,您可以向Claude询问以下内容:
- “我今天吃了什么?”
- “记录午餐:烤三文鱼(350卡路里,40克蛋白质,0克碳水化合物,20克脂肪)”
- “我今天剩下的宏是什么?”
- “搜索希腊酸奶的营养信息”
- “你晚餐有什么建议?”
- “显示我最近的锻炼”
- “我目前的健身目标是什么?”
- “记住我有乳糖不耐症”
- “今晚为我的家人计划晚餐”
许可证管理
- 访问令牌在1小时后过期
- 刷新令牌会自动用于获取新的访问令牌
- 代币存储在
~/.databody_token.json拥有600个权限 - 使用
logout清除存储令牌的工具 - 使用
auth_status用于检查您是否已登录的工具
发展
在热重载的开发模式下运行:
npm run dev生产建设:
npm run build
npm start安全须知
- 使用OAuth 2.0和PKCE进行安全身份验证
- MCP配置中未存储任何秘密
- 令牌以受限的文件权限存储
- 过期时自动刷新令牌
- 建议使用基于浏览器的流而不是密码流
故障排除
“未通过身份验证”:运行 authenticate 登录工具。
“会话已过期”:您的令牌已过期,无法刷新。重新验证。
OAuth回调失败:确保端口8787可用或已设置 DATABODY_CALLBACK_PORT 到另一个港口。
连接被拒绝:确保在配置的URL上可以访问DataBody API。
链接
-
