Fernanda Health
by feneute
README.md
# Fernanda Health — private health-data MCP server
A private, read-only [Model Context Protocol](https://modelcontextprotocol.io) server that lets Claude
retrieve your own Oura Ring (and later Withings) health data for a daily check-in.
- **Private & self-hosted** on your own Cloudflare account.
- **Read-only.** It only *reads* your data; it can never change anything.
- **Authenticated.** Claude connects only after passing an OAuth login gated by a password you set.
Nothing is exposed without authentication.
- **No secrets in code.** All tokens/passwords live as encrypted Cloudflare secrets.
## What it exposes
| Tool | What it returns |
|------|-----------------|
| `get_daily_health_summary(date?)` | Normalized daily metrics + 7/30-day baselines (Oura now; Withings reserved). |
| `get_oura_trends(days?, endDate?)` | Daily time-series + latest/7-day/30-day summaries for key Oura metrics. |
| `oura_connection_check()` | Confirms the server can reach Oura and which data collections are returning. |
The server only retrieves and normalizes data. All interpretation is done by Claude.
## Deploy (one click)
[](https://deploy.workers.cloudflare.com/?url=https://github.com/feneute/fernanda-health-mcp)
Clicking the button copies this repo into your GitHub, creates the KV namespaces and Durable Object
automatically, and deploys the Worker.
## After deploying — set your secrets
In the Cloudflare dashboard: **Workers & Pages → your Worker → Settings → Variables and Secrets**,
add these as type **Secret**:
| Secret | Value |
|--------|-------|
| `LOGIN_PASSWORD` | A strong password. You'll type this once when connecting Claude. |
| `OURA_TOKEN` | Your Oura [Personal Access Token](https://cloud.ouraring.com/personal-access-tokens) (read-only). |
(Optional: `TIMEZONE`, defaults to `America/Los_Angeles`.)
## Connect Claude
Claude → **Settings → Connectors → Add custom connector** →
Name: `Fernanda Health`, URL: `https://<your-worker>.<subdomain>.workers.dev/mcp`.
Claude will open the login page; enter your `LOGIN_PASSWORD` to authorize.
## Tech
Cloudflare Workers · `agents` McpAgent (Durable Object) · `@cloudflare/workers-oauth-provider` ·
`@modelcontextprotocol/sdk` · TypeScript. Deployed via GitHub.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues