MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

MedPrice AI

Hosted MCP server exposing US hospital procedure cost data to AI assistants

Checks passed
13 / 22

1 failed · 8 not measured

Median response
607 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
16

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 607 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name mcp-medprice-ai.

  • Pass
    Lists tools

    tools/list returned 16 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 607 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 607 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    71 of 107 parameters have a description (66%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-06-19T19:40:32.192507Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using MedPrice AI

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http medprice-ai https://mcp.medprice.ai/mcp

Capabilities

Tools 16

batch_get_hospital_chargemaster_cost

Looks up cost stats for several (code_type, code) pairs at one hospital (identified by hospital_id) in a single call - the batch counterpart to get_hospital_chargemaster_cost. Use this instead of calling get_hospital_chargemaster_cost once per code when pricing a fixed set of codes at one hospital (e.g. cross-linking a curated list of procedures on a hospital's page). Capped at 100 codes per call; a request over that is rejected with INVALID_ARGUMENT rather than silently truncated. Served from the hospital-prices serving snapshot, which pools exactly (exact medians), so figures can differ slightly from earlier results of this tool. Like those, each figure still combines facility and professional charges (and all settings) into one number; use batch_get_hospital_provider_code_costs for a per-billing-class breakdown instead.

Discovered
batch_get_hospital_provider_code_costs

Batch counterpart to get_hospital_provider_code_costs: one hospital's provider charges for 1 to 100 codes in a single call, results in request order. A code the hospital doesn't charge is an entry with no costs, not an error. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
get_code_price_distribution

Returns the distribution of every hospital's price for a code_type/code, computed server-side: min/p10/q1/median/q3/p90/max, standard deviation, a histogram, and the real hospital nearest each percentile. Use this instead of paging through list_hospital_code_costs when you want to know how prices spread across hospitals (e.g. "is $12k high for MS-DRG 788?" - pass reference_price to get the number of hospitals priced below it). All figures are in terms of the chosen statistic (default: each hospital's average price). Served from the hospital-prices serving snapshot, which pools exactly (exact medians), so figures can differ slightly from earlier results of this tool. Like those, each figure still combines facility and professional charges (and all settings) into one number; use get_code_provider_price_distribution for a per-billing-class breakdown instead. With statistic MIN/MAX the figure is now the hospital's lowest/highest charge itself, not widened by the filing's per-item minimum/maximum.

Discovered
get_code_provider_price_distribution

Distribution (min/p10/q1/median/q3/p90/max, std dev, histogram, nearest hospital per percentile) of one figure per hospital for a code, never blending billing classes. The filter must name every term the group_by grouping keeps (all three of billing_class, methodology and setting for the default; the billing class or the methodology for those groupings; nothing for GROUP_BY_ALL), else INVALID_ARGUMENT; use *_UNSPECIFIED for 'not filed'. Counterpart to get_code_price_distribution. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
get_code_provider_terms_summary

Which billing classes, methodologies and settings hospitals file a (code_type, code) under, and how many hospitals each group has, so a caller can offer the choices before calling list_code_provider_hospitals or get_code_provider_price_distribution. group_by sets what each entry is a group of (default: one set of terms). A hospital filing several groups is counted in each, so don't sum the entries' hospital_count; use the top-level hospital_count for distinct hospitals. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
get_hospital_chargemaster_cost

Looks up one hospital's cost stats (min/max/avg/median/std_dev and sample counts) for a code_type/code: a single all-terms figure, or one entry per requested methodology. Served from the hospital-prices serving snapshot, which pools exactly (exact medians), so figures can differ slightly from earlier results of this tool. Like those, each figure still combines facility and professional charges (and all settings) into one number; use get_hospital_provider_code_costs for a per-billing-class breakdown instead. Fails with UNAVAILABLE until the server has opened a snapshot. Fields without a counterpart in the snapshot data are left empty (description.methodology_note).

Discovered
get_hospital_code_payer_rates

Every plan rate (per payer and plan, with price terms) one hospital files for a (code_type, code), cheapest average first. Pass revision_id (from list_hospitals) to answer for a past filing. NOT_FOUND when the hospital has no payer rates at all; an empty rates list when it has some but none for this code. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
get_hospital_provider_code_costs

Returns one hospital's own charges for a (code_type, code), one entry per row of the group_by grouping (default: per billing class, methodology and setting; never blended unless GROUP_BY_ALL), plus an all_terms figure over all of them regardless of grouping. Unlike get_hospital_chargemaster_cost, billing classes are not mixed into one figure. Pass revision_id to answer for a past filing. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
list_code_payer_hospitals

One payer's rate for a (code_type, code) at each hospital, one row per hospital and billing class/methodology/setting, paginated, rolled up across the payer's plans there. Good for 'which hospital is cheapest for Aetna members'. Defaults/caps page_size at 500; includes total_count. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
list_code_payers

Every insurer (payer) with a negotiated rate for a (code_type, code), one summary per payer and billing class/methodology/setting, across hospitals, most hospitals first: hospital_count, n, min/avg/median-of-hospital-averages/max rate and the price terms. Billing classes, methodologies and settings are never blended. Use the returned payer_slug (e.g. "aetna") with list_code_payer_hospitals. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
list_code_provider_hospitals

Each hospital's charges for a (code_type, code), one row per hospital and group of the group_by grouping (default: per billing class, methodology and setting; GROUP_BY_ALL gives one row per hospital), paginated. The billing-class-aware counterpart to list_hospital_code_costs, good for 'which hospital is cheapest for X'. Defaults/caps page_size at 500; includes total_count and hospital_count. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
list_code_types

Returns every distinct code_type (e.g. CPT, MS-DRG) with catalogued cost data, along with each type's distinct code count and total hospital reports. Unpaginated. Use this to discover which code systems have data before drilling into list_codes.

Discovered
list_codes

Returns every distinct code catalogued under a given code_type, paginated, with each code's raw chargemaster description and the number of hospitals reporting it. Use this to discover which codes exist under a code system (e.g. all CPT codes) before looking up prices with get_hospital_chargemaster_cost or list_hospital_code_costs. Pass query to text-search codes/descriptions instead of listing a whole code_type. Pass hospital_id to restrict results to codes that one hospital actually reports.

Discovered
list_hospital_code_costs

Returns cost stats for every hospital with a matching chargemaster entry for a code_type/code. Use this instead of calling get_hospital_chargemaster_cost once per hospital when comparing prices for the same procedure across hospitals (e.g. "which hospital has the cheapest MS-DRG 652?"). Defaults to returning every matching hospital (currently at most a few hundred) in one call. If the response's next_page_token is non-empty, the result set was truncated: call this tool again passing that exact value as page_token to get the next page, and keep doing so until next_page_token is empty - do not stop after one page and conclude a hospital has no data for this code. The response's total_count field (total across all pages) can be compared against how many results you've accumulated so far as a completeness check. Served from the hospital-prices serving snapshot, which pools exactly (exact medians), so figures can differ slightly from earlier results of this tool. Like those, each figure still combines facility and professional charges (and all settings) into one number; use list_code_provider_hospitals for a per-billing-class breakdown instead. page_tokens from before this change are not valid.

Discovered
list_hospital_provider_codes

Lists the codes one hospital reports on its latest (or a given) revision, as list_codes does, each with that hospital's own all-terms sample counts. Paginated; supports query, sort and code_type like list_codes. Backed by the hospital-prices serving snapshot; fails with UNAVAILABLE until the server has opened one.

Discovered
list_hospitals

Returns the hospitals supported by the medprice.ai API, with their hospital_id (opaque handle), EIN, name, structured_locations (addresses with geocoded coordinates where available), last_updated_on, and revision history (with per-revision has_payer_data, revision_id, and added_at - when medprice itself ingested that revision, as opposed to revision_date's source-file-reported update date). Defaults to returning the entire registry (currently a few hundred hospitals) in one call. If the response's next_page_token is non-empty, the result set was truncated: call this tool again passing that exact value as page_token to get the next page, and keep doing so until next_page_token is empty - do not stop after one page and conclude the list is complete. The response's total_count field (total across all pages) can be compared against how many hospitals you've accumulated so far as a completeness check, e.g. before answering questions like 'does medprice.ai cover any hospitals in Iowa'.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected607 ms16