# MedRates (remote · mcp.medrates.fyi)

Search US hospital prices, compare costs, and find insurance-negotiated rates.

- Trust score: 60/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.medrates.fyi`: 60/100 (this document), [markdown](https://verifymcp.io/servers/fyi-medrates-mcp/mcp.md), [page](https://verifymcp.io/servers/fyi-medrates-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.medrates.fyi/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 6 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 56/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2604 tokens (~434/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http fyi-medrates-mcp https://mcp.medrates.fyi/mcp
```

### Codex

```toml
[mcp_servers.fyi-medrates-mcp]
url = "https://mcp.medrates.fyi/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fyi-medrates-mcp": {
      "type": "remote",
      "url": "https://mcp.medrates.fyi/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add fyi-medrates-mcp --url https://mcp.medrates.fyi/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  fyi-medrates-mcp:
    url: "https://mcp.medrates.fyi/mcp"
```

### Other

```json
{
  "mcpServers": {
    "fyi-medrates-mcp": {
      "type": "http",
      "url": "https://mcp.medrates.fyi/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 59, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 57, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 56, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 55, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 54)

First indexed and scored.

## MCP tools (6)

### `search` (~585 tokens)

Search for medical procedure prices by code or description.

    Use this for direct lookups when you know a CPT/HCPCS code (e.g. "70551")
    or want to search by keyword (e.g. "MRI", "knee replacement").

    For code-like queries → exact match on procedure code.
    For text queries → searches code, description, and code_type fields.

    Supports filtering by insurance payer, clinical setting, and location
    (via zip code or lat/lng coordinates with a radius).

    NOTE: Results are from US HOSPITALS only — not non-US providers, independent
    imaging centers, ambulatory surgery centers (ASCs), or other freestanding facilities.

    Args:
        query: CPT/HCPCS code (e.g. "70551") or text search (e.g. "MRI brain").
               Must be at least 2 characters.
        code_type: Filter by code type: "CPT", "HCPCS", "MS-DRG", "RC", etc.
        hospital_id: Filter to a specific hospital (use the hospitals tool to find IDs).
        payer_name: Filter by insurance payer name (e.g. "Blue Cross", "Aetna").
        plan_name: Filter by plan name (e.g. "PPO", "HMO").
        setting: Filter by clinical setting: "inpatient" or "outpatient".
        zip_code: US zip code for geographic filtering (alternative to lat/lng).
        lat: Latitude for geographic filtering (use with lng and radius_miles).
        lng: Longitude for geographic filtering (use with lat and radius_miles).
        radius_miles: Search radius in miles from the zip code or lat/lng location.
        page: Page number (default 1).
        page_size: Results per page (default 25, max 100).

    Returns:
        JSON with matching charge items including procedure codes, descriptions,
        gross charges, cash prices, and negotiated rate ranges per hospital.
        Only high-confidence results (with at least one usable price) are included.
        Each result includes last_updated (ISO date of the per-hospital MRF ingest)
        and mrf_date (ISO date the hospital self-reported in the MRF file)…

Input parameters:

- `code_type`
- `hospital_id`
- `lat`
- `lng`
- `page` (integer)
- `page_size` (integer)
- `payer_name`
- `plan_name`
- `query` (string, required)
- `radius_miles`
- `setting`
- `zip_code`

Output parameters:

- `result` (string)

### `search_nlp` (~546 tokens)

Natural language search for medical procedure prices.

    Understands free-text queries like:
      - "MRI brain near San Jose with Blue Cross PPO"
      - "How much does a colonoscopy cost in Palo Alto?"
      - "knee replacement, no insurance, Mountain View"

    Extracts procedure, location, and insurance from the query, resolves
    CPT/DRG codes (using static synonyms + LLM), geocodes the city,
    and searches with optional geo-filtering and payer matching.

    You can provide structured fields (lat/lng, payer, setting) to override
    or supplement what the NLP extraction detects from the query text.

    NOTE: Results are from US HOSPITALS only — not non-US providers, independent
    imaging centers, ambulatory surgery centers (ASCs), or other freestanding facilities.
    For outpatient procedures (MRIs, CTs, minor surgeries), independent
    facilities may offer lower prices than hospitals.

    Args:
        query: Natural language query describing what you're looking for.
        radius_miles: Search radius from the detected city (default 25 miles).
        code_type: Filter by code type: "CPT", "HCPCS", "MS-DRG".
        setting: Filter by clinical setting: "inpatient" or "outpatient".
        lat: Override latitude (e.g. from browser geolocation). Skips geocoding.
        lng: Override longitude (e.g. from browser geolocation). Skips geocoding.
        zip_code: 5-digit ZIP to search near — alternative to lat/lng.
        payer: Insurance payer name (e.g. "Blue Cross"). Overrides NLP extraction.
        plan_type: Plan type (e.g. "PPO", "HMO"). Overrides NLP extraction.
        limit: Max results (default 25).

    Returns:
        JSON with extracted entities (procedure, city, insurance), resolved codes,
        and matching charge items with prices and hospital info.
        Only high-confidence results (with at least one usable price) are included.
        Each result includes last_updated (ISO date of the per-hospital MRF ingest)
        and mrf_…

Input parameters:

- `code_type`
- `lat`
- `limit` (integer)
- `lng`
- `payer`
- `plan_type`
- `query` (string, required)
- `radius_miles` (number)
- `setting`
- `zip_code`

Output parameters:

- `result` (string)

### `price_quote` (~674 tokens)

Get price quotes for specific procedure codes, grouped by hospital.

    This is the most detailed pricing tool. Provide exact CPT/HCPCS codes
    and get per-hospital price estimates with totals. Supports insurance
    filtering and geographic search.

    Default location is San Jose, CA if no coordinates provided — always pass the user's location for best results.

    NOTE: Quotes are from US HOSPITALS only — not non-US providers, independent
    imaging centers, ambulatory surgery centers (ASCs), or other freestanding facilities.
    For outpatient procedures, independent facilities often cost significantly
    less than hospital outpatient departments.

    Args:
        codes: Comma-separated CPT/HCPCS codes (e.g. "70551,70552,70553").
        lat: Patient latitude — always provide the user's location for best results.
        lng: Patient longitude — always provide the user's location for best results.
        radius_miles: Search radius in miles (default 25).
        payer: Insurance company name to filter rates (e.g. "Blue Cross", "Aetna").
        plan_type: Insurance plan type (e.g. "PPO", "HMO", "Indemnity").
        plan_category: Plan category filter (e.g. "Commercial", "Medicare", "Medicaid").
        plan_name: Specific plan name for exact matching.
        drg_codes: Comma-separated MS-DRG codes for inpatient bundled pricing.
        include_bundle: If true, also include ancillary procedure codes
                        (anesthesia, facility fees, etc.) in the total estimate.
        limit: Max hospitals to return (default 5).
        zip_code: Optional 5-digit ZIP the user gave, used ONLY to build a
                  localized deep link to the search page — does NOT affect
                  pricing (pricing uses lat/lng).

    Returns:
        JSON with hospitals sorted by total estimated cost. Each hospital
        includes individual line items, total estimate, distance, last_updated
        (ISO date of the per-hospital MRF ingest), and mrf_da…

Input parameters:

- `codes` (string, required)
- `drg_codes`
- `include_bundle` (boolean)
- `lat` (number)
- `limit` (integer)
- `lng` (number)
- `payer`
- `plan_category`
- `plan_name`
- `plan_type`
- `radius_miles` (number)
- `zip_code`

Output parameters:

- `result` (string)

### `hospitals` (~210 tokens)

Find hospitals by name/city/state, or list a sample of hospitals.

    Returns hospital names, IDs, EINs, NPIs, and per-campus locations with
    addresses and coordinates. Use hospital IDs to filter other search tools.

    The result is capped (~100 hospitals) for performance, so the unfiltered
    list is only a sample. To locate a SPECIFIC hospital, pass ``search`` (a
    name/city/state substring) — it filters server-side and returns the matches.

    NOTE: This lists US HOSPITALS only — not non-US providers, independent imaging
    centers, ambulatory surgery centers, clinics, or other freestanding facilities.

    Args:
        search: Optional name/city/state substring to find a specific hospital.

    Returns:
        JSON array of hospitals with id, name, display_name, ein, npi,
        cms_certification_number, and locations (address, city, state, lat/lng).

Input parameters:

- `search`

Output parameters:

- `result` (string)

### `payer_network_info` (~208 tokens)

Look up network-geography facts for a named insurance payer.

    Call this whenever an AI agent or user asks whether a plan covers
    out-of-state care, whether an insurer has nationwide coverage, or what
    BlueCard / PPO network mechanism the payer uses.

    Returns JSON with network_scope ('national', 'state', etc.),
    nationwide_via ('bluecard_ppo', 'national_ppo', 'none'), and a
    source_url to cite.  Returns {"network_scope": "unknown"} when the
    payer is not in the database.

    Args:
        payer_name: Insurance payer name as the user stated it (e.g.
                    'Blue Cross Blue Shield of Texas', 'UnitedHealthcare
                    Choice Plus', 'Aetna PPO', 'Medicare').

    Returns:
        JSON object with network_scope, home_state, nationwide_via,
        source_url, match_pattern, and notes fields.

Input parameters:

- `payer_name` (string, required)

Output parameters:

- `result` (string)

### `payers` (~151 tokens)

List available insurance payers and plan types.

    Returns all payer + plan combinations found in the hospital price data.
    Optionally filter to payers available at a specific hospital.

    Use the payer names and plan types from this list as inputs to
    the search_nlp and price_quote tools for insurance-specific rates.

    NOTE: These are payers with negotiated rates at US HOSPITALS in the database.
    The same payers may have different rates at non-hospital facilities.

    Args:
        hospital_id: Optional hospital ID to filter payers for that hospital.

    Returns:
        JSON array of {name, plan_type, display_name} objects.

Input parameters:

- `hospital_id`

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/fyi-medrates-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 60
- 2026-08-02: 60
- 2026-08-01: 59
- 2026-07-31: 59
- 2026-07-30: 57
- 2026-07-29: 56
- 2026-07-28: 55
- 2026-07-27: 55
- 2026-07-26: 54

## Links

- Remote endpoint: https://mcp.medrates.fyi/mcp
- Repository: https://github.com/dimaosipa/medrates.fyi
- Website: https://mcp.medrates.fyi/
- Changelog RSS feed: https://verifymcp.io/servers/fyi-medrates-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/fyi-medrates-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/fyi-medrates-mcp/mcp
