使用说明
项目简介
Oura MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供访问 Oura 智能戒指健康数据的能力。通过此服务器,LLM 可以查询用户的睡眠、就绪和恢复数据,从而实现更智能的健康和健身应用集成。
主要功能点
- 提供 Oura API 的数据访问接口。
- 支持查询特定日期范围或今日的睡眠、就绪和恢复数据。
- 以结构化 JSON 格式返回 Oura 数据,方便 LLM 理解和使用。
- 提供清晰的错误信息,帮助用户排查问题。
安装步骤
- 环境准备: 确保你的系统已安装 Python 3.12 或更高版本。
- 克隆仓库: 将 Oura MCP Server 仓库克隆到本地:
git clone https://github.com/tomekkorbak/oura-mcp-server.git cd oura-mcp-server - 安装 Python 包: 在仓库目录下,使用 pip 安装项目依赖:
或者,如果你希望安装可编辑版本(方便开发):pip install .pip install -e . - 获取 Oura API Token: 访问 Oura Developer Portal 创建个人访问令牌 (Personal Access Token)。
- 配置环境变量: 设置 'OURA_API_TOKEN' 环境变量,将其值设为你在上一步获取的 Oura API Token。例如,在 Linux/macOS 系统中,你可以在 '.bashrc' 或 '.zshrc' 文件中添加:
在 Windows 系统中,你可以在系统环境变量中添加 'OURA_API_TOKEN' 变量。export OURA_API_TOKEN="YOUR_OURA_API_TOKEN" # 将 YOUR_OURA_API_TOKEN 替换为你的令牌
服务器配置
为了让 MCP 客户端 (如 Claude) 连接到 Oura MCP Server,你需要在客户端的配置文件中添加服务器信息。以 Claude for Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件,通常位于:
- macOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在 'mcpServers' 字段中添加 "oura" 服务器的配置:
{ "mcpServers": { "oura": { "command": "oura-mcp-server", "args": [], "env": { "OURA_API_TOKEN": "YOUR_OURA_API_TOKEN" // 请替换为你的 Oura API Token,但实际上环境变量已全局设置,此处可以省略 } } } }
配置参数说明:
- 'server name': '"oura"' - 服务器名称,在客户端配置中用于标识该服务器。
- 'command': '"oura-mcp-server"' - 启动 Oura MCP Server 的命令。确保 'oura-mcp-server' 命令在你的 PATH 环境变量中可访问。如果安装成功,此命令通常可以直接运行。
- 'args': '[]' - 启动参数列表,此服务器不需要额外的命令行参数,因此为空列表。
- 'env': '{}' - 环境变量配置。由于 'OURA_API_TOKEN' 已经设置为全局环境变量,这里可以为空对象 '{}' 或者包含其他需要传递给服务器的环境变量。如果在 'claude_desktop_config.json' 中配置 'env',会覆盖全局环境变量,因此也可以在此处配置 'OURA_API_TOKEN',但更推荐全局环境变量方式。
基本使用方法
- 启动服务器: 打开终端,运行以下命令启动 Oura MCP Server:
服务器默认使用 stdio 作为传输协议,并开始监听 MCP 客户端的请求。oura-mcp-server - 连接客户端: 配置并启动 MCP 客户端 (如 Claude)。客户端会根据配置文件尝试连接到 Oura MCP Server。
- 自然语言查询: 在 MCP 客户端中,你可以使用自然语言向 LLM 提问关于你的 Oura 数据,例如:
- "What's my sleep score for today?" (今天我的睡眠得分是多少?)
- "Show me my readiness data for the past week" (显示我过去一周的就绪数据)
- "How was my sleep from January 1st to January 7th?" (1月1号到1月7号我的睡眠如何?)
- "What's my resilience score today?" (今天我的恢复力得分是多少?) LLM 会调用 Oura MCP Server 提供的工具来获取数据,并基于数据回答你的问题。
信息
分类
网页与API