# Rivendell MCP connector

Rivendell runs a remote MCP server. Once it is connected, the assistant you
already use can read your plan, your claims, your medications, provider options
and appointments, and your own Oura and WHOOP data, and can act on the workflows
you ask it to.

Connector URL: `https://rivendell.health/mcp`

Sign-in is OAuth 2.1 with PKCE against your existing Rivendell account, with
dynamic client registration, so there is no key to copy and nothing to paste
into a config file.

## Install

### Claude Code

Add the connector, then approve the scopes in the browser.

```
claude mcp add --transport http rivendell https://rivendell.health/mcp
```

### Claude desktop and web

Settings, then Connectors, then Add custom connector. Paste the URL below and sign in with your Rivendell account.

```
https://rivendell.health/mcp
```

### ChatGPT

Settings, then Connectors, then Create. Choose an MCP server, paste the URL below, and authenticate when prompted.

```
https://rivendell.health/mcp
```

Raw invoice uploads stay in the Rivendell app; everything else on the shared connector surface works here.

### Cursor, Windsurf, and other MCP clients

Add the server to the client's MCP config. The shape below is the common one.

```
{
  "mcpServers": {
    "rivendell": {
      "url": "https://rivendell.health/mcp"
    }
  }
}
```

## Permissions

You approve scopes once, in the browser, during sign-in.

| Scope | What it allows |
|---|---|
| `plan:read` | Read the signed-in member's current plan details, balances, and stipend availability. |
| `account:read` | Read the signed-in member's account profile, dependents, sign-in email status, and payout accounts. |
| `account:write` | Update low-risk member account workflows such as primary payout selection and dependent invite management. |
| `claims:read` | Read the signed-in member's claims, claim details, and invoice follow-up status. |
| `claims:write` | Create reimbursement claims on behalf of the signed-in member. |
| `medications:read` | Read medication search results and pharmacy handoff details for the signed-in member. |
| `care:read` | Read provider matches, reviews, and known pricing context for the signed-in member. |
| `appointments:read` | Read the signed-in member's Rivendell appointment requests and booked appointments. |
| `appointments:write` | Create and cancel the signed-in member's Rivendell appointment workflows. |
| `pricing:quote` | Queue cash-pay quote follow-up requests on behalf of the signed-in member. |
| `employer:quote` | Price employer census files when the signed-in user is Rivendell staff or an activated broker. |
| `wearables:read` | Read the signed-in member's own Oura and WHOOP data: sleep, recovery, daily activity, workouts, and body metrics. |

`wearables:read` is deliberately not part of the default grant.
Consent is all-or-nothing per registration, so including it would hand
continuous biometrics to any client that registered without naming a scope. Ask
for it explicitly, and connect a device first at https://rivendell.health/wearables.

## Tools

- `get_plan_summary` — the member asks what plan they have, what is covered, or how their deductible and stipends are tracking
- `get_benefit_balances` — the member asks for remaining deductible, out-of-pocket, fitness stipend, or wearable stipend balances
- `list_claims` — the member asks to see claims, claim history, pending items, or reimbursement status at a list level
- `get_claim_details` — the member asks about a specific claim ID, invoice parsing state, or what action is needed for that claim
- `list_claims_needing_invoices` — the member asks which claims still need receipts, invoices, substantiation, or follow-up documentation
- `submit_reimbursement_claim` — the member clearly asks to submit a reimbursement for an out-of-pocket expense they already paid
- `get_current_member_identity` — you need to confirm which member the current MCP token represents or debug enrollment context
- `get_account_profile` — the member asks about their Rivendell profile, contact status, address, onboarding state, or dependent summary
- `get_sign_in_email_status` — the member asks which email they use to sign in or whether that email is verified
- `list_payout_accounts` — the member asks which reimbursement payout accounts are linked or which one is primary
- `get_dependents` — the member asks to review dependents, adult dependents, activation state, or invite readiness
- `set_primary_payout_account` — the member clearly asks to make a specific linked bank account the primary reimbursement destination
- `update_dependent_email` — the member clearly asks to set or clear the email address for a specific dependent before activation
- `send_dependent_invite` — the member clearly asks to send or resend an invite to a specific adult dependent
- `search_medications` — the member asks whether a medication is in the catalog, needs strength or form matches, or needs Cost Plus pricing links
- `get_pharmacy_details` — the member needs the Cost Plus Drugs pharmacy name, NCPDP identifier, or account links for prescription handoff
- `find_care_options` — the member asks to find providers or care options by location, specialty, symptoms, urgency, or visit type
- `get_provider_details` — the member asks about a selected provider, doctor details, or known cash-pay rates for a service
- `list_appointments` — the member asks to see upcoming, past, or all appointment requests and booked appointments
- `book_appointment` — the member clearly asks Rivendell to book or request an appointment with selected provider options and availability
- `cancel_appointment` — the member clearly asks to cancel a specific appointment request or booked appointment
- `request_cash_pay_quote` — the member asks Rivendell to get or refresh a cash-pay quote for a selected provider and service
- `start_find_health_plan_advisor` — a broker or advisor wants to run the small-group health plan advisor workflow for California or New York employer groups
- `quote_census` — a broker or staff member supplies an employee census and wants deterministic employer premiums from Rivendell's published plan design
- `list_wearable_connections` — the member asks which wearables are connected, or a wearable tool reported that data is unavailable and you need to know why
- `get_sleep_summary` — the member asks about their sleep: duration, stages, efficiency, HRV during sleep, or how a recent night compared to others
- `get_recovery_summary` — the member asks how recovered or ready they are, or about HRV, resting heart rate, or body-temperature trends across days
- `get_activity_summary` — the member asks about daily training load, strain, steps, or calories burned across days
- `list_workouts` — the member asks about individual training sessions: what they did, how long, how hard, distance, or heart-rate zones
- `get_wearable_profile` — the member asks about the body metrics their wearable holds, such as height, weight, or max heart rate, or you need them to interpret another wearable metric

## Try it

- "How did I sleep this week?"
- "Has my HRV trended down over the last two weeks?"
- "What is left on my deductible, and what have I been reimbursed this year?"
- "Find me a dermatologist near me who takes cash pay, and book something on Thursday."

## Notes

- Wearable data is read-only, and it is never shared with your employer.
- Both wearable providers rate-limit per application rather than per member, so
  ask for the smallest date range that answers the question.
- The plan itself is published without authentication: https://rivendell.health/plan.json for the
  machine-readable design, https://rivendell.health/llms.txt for the index.
- This document lives at https://rivendell.health/docs/mcp.md.
