](https://mseep.ai/app/taxuspt-garmin-mcp)
Garmin MCP服务器
此模型上下文协议(MCP)服务器连接到Garmin Connect,并将您的健身和健康数据暴露给Claude和其他兼容MCP的客户端。
特性
- 列出最近的活动
- 获取详细的活动信息
- 访问健康指标(步数、心率、睡眠)
- 查看车身成分数据
设置
本地开发
- 在新环境中安装所需的软件包:
uv sync远程部署(铁路)
想要远程托管此MCP服务器并从Poke等AI助手访问它吗?请参阅:
- SETUP_GUIDE.md -快速入门指南
- 铁路_部署.md -详细的部署说明
- 快速部署: 跑
./deploy_to_railway.sh(需要铁路CLI)
运行服务器
配置
您的Garmin Connect凭据是从环境变量中读取的:
GARMIN_EMAIL:您的Garmin Connect电子邮件地址GARMIN_EMAIL_FILE:包含您的Garmin Connect电子邮件地址的文件路径GARMIN_PASSWORD:您的Garmin Connect密码GARMIN_PASSWORD_FILE:包含Garmin Connect密码的文件路径
基于文件的秘密在某些环境中很有用,例如在Docker容器中。请注意,您不能同时设置这两个 GARMIN_EMAIL 和 GARMIN_EMAIL_FILE,同样,您不能同时设置这两个 GARMIN_PASSWORD 和 GARMIN_PASSWORD_FILE.
使用克劳德桌面
- 在Claude Desktop中创建配置:
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
添加此服务器配置:
{
"mcpServers": {
"garmin": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"git+https://github.com/Taxuspt/garmin_mcp",
"garmin-mcp"
],
"env": {
"GARMIN_EMAIL": "YOUR_GARMIN_EMAIL",
"GARMIN_PASSWORD": "YOUR_GARMIN_PASSWORD"
}
}
}
}将路径替换为服务器文件的绝对路径。
- 重新启动克劳德桌面
与MCP检查员一起
对于测试,您可以从项目根目录使用MCP检查器:
npx @modelcontextprotocol/inspector uv run garmin-mcp用法示例
在Claude中连接后,您可以提出以下问题:
- “显示我最近的活动”
- “我昨晚睡得怎么样?”
- “我昨天走了几步?”
- “显示我最近跑步的详细信息”
安全说明
故障排除
如果您遇到登录问题:
- 验证您的凭据是否正确
- 检查Garmin Connect是否需要额外验证
- 确保garminconnect包是最新的
有关其他问题,请查看Claude Desktop日志:
- macOS:
~/Library/Logs/Claude/mcp-server-garmin.log - 窗户:
%APPDATA%\Claude\logs\mcp-server-garmin.log
Garming Connect一次性代码
如果您的帐户中启用了一次性代码,则需要先在命令行登录,在交互式cli中设置令牌。
该应用程序需要环境变量GARMIN_EMAIL或GARMIN_EMAIL_FILE。您可以使用以下命令将这些存储在文件中。
echo "your_email@example.com" > ~/.garmin_email
echo "your_password" > ~/.garmin_password
chmod 600 ~/.garmin_email ~/.garmin_password然后,您可以手动运行登录脚本。
GARMIN_EMAIL_FILE=~/.garmin_email GARMIN_PASSWORD_FILE=~/.garmin_password uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp你可能会看到
Garmin Connect MFA required. Please check your email/phone for the code.
Enter MFA code: XXXXXX
Oauth tokens stored in '~/.garminconnect' directory for future use. (first method)
Oauth tokens encoded as base64 string and saved to '~/.garminconnect_base64' file for future use. (second method)在cli上设置令牌后,您可以在Claude中使用以下内容,而不需要env变量,因为Oauth令牌已经设置。
"garmin": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"git+https://github.com/Taxuspt/garmin_mcp",
"garmin-mcp"
]
}