# Recovr MCP — Top-level reference

This server bundles multiple data **providers**, each contributing its
own tools, resources, and prompts. Both cover the same customer, but
they read **different stores at different grains**, so picking the wrong
one does not raise an error -- it returns a plausible answer computed
from the wrong source.

## Which provider answers which question

| Provider | Data source | Grain | Answers |
|---|---|---|---|
| `firestore` | Firestore, under `customers/{your_id}/` | one document per claim / run / ticket | Per-claim facts: a claim's documents, its edit history, eligibility, Optum tickets, agent runs. Also the only plane that writes. |
| `bigquery` | The PayPredict KPI mart in BigQuery, dataset `{your_id}_kpi` | pre-aggregated rows by day, payer, denial reason, CPT, specialty | Aggregated metrics: how many, how much, what rate, which ranked highest, how it trended. Read-only. |

Rules of thumb:

- A question about **one claim** -- by ACN, by ticket, by run -- is
  `firestore`. Never reconstruct claim-level state from the mart.
- A question with **how many / how much / what rate / top N / over time**
  is `bigquery`. Never count by walking Firestore documents: it is slow
  and it disagrees with the mart, which is the reported number.
- The two compose through the ACN, which appears in both. Find a metric
  in `bigquery`, then pull that claim's operational record from
  `firestore`.

To learn what's available in each, read its help blurb:

- `recovr://firestore/help` — customer-scoped Firestore access. Read
  family: `firestore_get`, `firestore_exists`, `firestore_list`,
  `firestore_query`, `firestore_count`, `firestore_paginate`,
  `firestore_list_collections`. Writes: `firestore_write`,
  `firestore_write_batch`. Destructive (gated): `firestore_archive`,
  `firestore_delete`.
- `recovr://bigquery/help` -- customer-scoped KPI metrics.
  `bigquery_tables`, `bigquery_columns`, `bigquery_query`,
  `bigquery_fetch`. No SQL parameter: you describe the shape of the
  answer and the server compiles it.

Provider-specific guides and schemas live under each provider's
namespace, e.g. `recovr://firestore/guides/read`,
`recovr://firestore/schemas/eligibility`,
`recovr://bigquery/guides/semantics`.

## Always-available
- `recovr://customer/info` — your authenticated identity and scopes.
- `getting_started` prompt — orientation pointing at provider helps.
- `request_delete_permission` prompt (when destructive scope held) —
  one-time elicitation that unlocks a provider's destructive tool.

Reusable workflow templates ("skills") are exposed under `skill://...`
URIs — see `skill://claim-recovery-walkthrough/SKILL.md`.
