oura-ring-mcp (FelixWag/oura-ring-mcp) is an MCP server listed on the M8ven Trust Index. M8ven has not graded it: we have no way to read this server ourselves. No publisher has claimed this listing.
Provides natural-language access to Oura health data through Claude, with a local SQLite mirror and MCP tools for analyzing patterns with personal annotations.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
FelixWag
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
HEALTH_IMPORT_TOKENecho "=$(openssl rand -hex 32)" >> .envOURA_CLIENT_IDRequired. From your Oura OAuth app.OURA_CLIENT_SECRETRequired. From your Oura OAuth app.OURA_DB_PATH~/.config/oura-ring-mcp/data.sqlite SQLite database for synced data/annotations.OURA_DEBUGunset Set to 1 for verbose stderr logs.OURA_HEALTH_LOG_PATHrepo>/logs/health.log Append-only activity log for health imports.OURA_HEALTH_PORT8771 Port the health server listens on.OURA_MCP_ENTRY_PATHrepo>/dist/index.js MCP server entry the voice agent spawns.OURA_REDIRECT_URIChange the port in , update the same redirect URI in Oura'sOURA_TOKEN_PATH~/.config/oura-ring-mcp/tokens.json OAuth token file.OURA_VOICE_LOG_PATHrepo>/logs/voice.log Append-only activity log for voice ingestion.OURA_VOICE_MODELunset (SDK default) Optional model override for the voice agent.OURA_VOICE_PORT8770 Port the voice server listens on.VOICE_LOG_TOKENecho "=$(openssl rand -hex 32)" >> .envXDG_CONFIG_HOMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
14/14 tools missing one or more hints — oura_get_daily_summary (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); oura_get_sleep (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); oura_get_activity (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +11 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool inputs are validated
8/14 tool handlers declare input schemas (57%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool test coverage
Only 4/14 tools referenced in tests (29%)
Write tests that reference each tool by name so every tool has at least one test.
Tests pass
npm test failed — tests do not pass
Make sure npm test runs cleanly. Common cause: missing build step or missing env vars.
Shell command execution
1 child_process call — runs shell commands
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/felixwag-oura-ring-mcp-1v3xuy)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check