ouraring-mcp@0.3.0
CAUTION· install onlyPublisher claims: "Enables an AI assistant to read your own Oura Ring data—sleep, readiness, activity, heart rate, SpO2, stress, workouts, and sessions—so you can ask natural-language questions and get summaries. It fetches data on demand from the Oura API v2, is read-only, and does not store or share data." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
CLIENT_SECRETOURARING_ACCESS_TOKENConfiguration, not credentials: CACHE_KEY_VERSION, OURA_API_BASE, OURA_CACHE_ENABLED, OURA_CODE, OURA_TIMEOUT_MS, OURARING_API_BASE, OURARING_CACHE_ENABLED, OURARING_CODE, OURARING_TIMEOUT_MS- Where it talks to
- ouraring.com (its own)
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it with a scoped credential, under the guard. It asks for CLIENT_SECRET, OURARING_ACCESS_TOKEN and talks to ouraring.com. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-15 and scored it 79/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
- run: npx vitest runFix: Pin versions and sources; vendor anything fetched at install time.: "No access token. Run `npm run auth:oura -- --code=...` (OAuth2, uses OURARING_CLIENT_ID/SECRET from ~/.hermes/.env).",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.* (already in ~/.hermes/.env; OURA_* names also accepted, local .env wins)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.if (!clientId || !clientSecret) throw new OuraError("Need OURARING_CLIENT_ID + OURARING_CLIENT_SECRET to refresh (already in ~/.hermes/.env).");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./** Env alias: OURARING_* (user's ~/.hermes/.env) wins, OURA_* is the fallback. */Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./** Minimal .env loader — no dependency. Local ./.env wins, ~/.hermes/.env fills gaps. */Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."or run `npm run auth:oura` for the OAuth2 flow with the OURARING_CLIENT_ID/OURARING_CLIENT_SECRET already in ~/.hermes/.env. " +Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod +x "$HOOK_DIR/pre-push"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.npx vitest runFix: Pin versions and sources; vendor anything fetched at install time.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
1 point to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim romualdoag: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- New publisher≈ +3 on the totalTime clears this on its own after 14 and 30 days. Claiming the handle (+50) is the fastest way past it.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.
- File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.