SkillTide Submit
Official description7 sourcesMCP servers8d ago
Rajskij/oura-mcp

Rajskij/oura-mcp

Read-only, self-hosted access to Oura Ring slee
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add oura-mcp -- npx -y oura-mcp
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
1 ★ · Rajskij/oura-mcp · read from the repository page · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 1 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository Rajskij/oura-mcp;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

oura-mcp

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

**Ask your Oura Ring anything. In ChatGPT or Claude, in any language.**
A remote MCP server that connects Oura Ring data to any MCP client. No UI, no app, no model of its own: the assistant you already pay for calls the tools and explains your data in whatever language you speak.
> **You:** how did I sleep this week?
>
> **ChatGPT:** Your week was uneven, averaging 65/100. Best night was June 29 (77) with strong deep sleep. The rough one was July 2 (47): little REM, low efficiency, and your bedtime drifted way off schedule. The main pattern to fix is sleep timing.
**Get started in two clicks:** download oura-mcp.mcpb from the latest release and double-click it — Claude Desktop installs the extension, and **demo mode works instantly with zero setup** (fake sample data, no Oura account needed). Connecting your own ring takes ~5 minutes: Run locally.
Things to try once connected:
How it works
One small Node.js process, stateless — a fresh MCP server instance per request. The client model picks the right tools, the server returns compact, pre-shaped JSON, the model does the talking. Curious how it's put together and why? See docs/ARCHITECTURE.md.
**When you don't need this:** if you want dashboards and charts, the Oura app already does that; if you want raw data for scripts, call the Oura API directly. This server exists for one thing: making your ring data conversational in the chat client you already use.
Tools
| Tool | Ask things like |
|---|---|
| oura_get_sleep | "How did I sleep this week?" |
| oura_get_sleep_detail | "When did I fall asleep? How much deep sleep? Night heart rate?" |
| oura_get_readiness | "Should I train today? Is my temperature elevated?" |
| oura_get_activity | "How many steps and calories yesterday?" |
| oura_get_stress | "How stressed was I on Monday?" |
| oura_get_vitals | "What's my SpO2, VO2 max, cardiovascular age?" |
| oura_get_workouts | "How was my run? Did I meditate this week?" |
| oura_get_tags | "Did coffee affect my sleep?" (reads tags you log in the Oura app) |
| oura_get_heartrate | "What was my pulse this afternoon?" (hourly aggregates) |
| oura_get_profile | "How charged is my ring?" |
All tools are read-only and marked with readOnlyHint, so ChatGPT does not nag you for confirmation on every call.
Designed for LLMs, not for dashboards
- **Task-oriented tools, not 1:1 endpoint wrappers.** 18 Oura endpoints grouped into 10 tools that match how people actually ask questions.
- **Token-efficient responses.** Durations converted to minutes server-side, units baked into field names (deep_min, efficiency_pct), raw time series and internal IDs stripped. A tool response is 0.2–3 KB, not 50.
- **response_format: concise | detailed** on data-heavy tools. Concise by default, breakdowns on demand.
- **Actionable errors.** A too-wide heart rate query returns "ask for 3 days or less, or use oura_get_readiness for trends", not a 400.
- **Sane defaults.** Every tool works with zero arguments (last 7 days).
Requirements
- An Oura Ring with an active Oura subscription (the API returns 403 without one) — or nothing at all for the sandbox demo mode
- Node 22+ or Docker
- 5 minutes to register your own Oura OAuth app (below)
- Only for the remote path (ChatGPT, claude.ai web): any host with public HTTPS — a free-tier VM behind Caddy works fine. Avoid free tiers that sleep between requests: ChatGPT times out on cold starts
Why do I need my own Oura app?
Oura deprecated personal access tokens in December 2025, so an OAuth app is the only supported way to access your data — this is Oura's rule, not this project's. Registering one is free, instant, and needs no review for personal use. It is also the best part of the design: your tokens are issued to *your* app and live on *your* server, so your health data never depends on anyone else's infrastructure — including mine.
Source
awesome · https://github.com/Rajskij/oura-mcp
Browse by field
MCP servers
Traction
1 ★
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index