MedPrice AI

السجل الرسمي الصحة

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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http medprice-ai 'https://mcp.medprice.ai/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "medprice-ai": {
            "type": "http",
            "url": "https://mcp.medprice.ai/mcp"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. mcp-medprice-ai
  2. Install in Claude Code
  3. Usage
  4. Development
  5. Docker

mcp-medprice-ai

A hosted MCP server exposing US hospital chargemaster cost data to AI assistants.

  • MCP endpoint: https://mcp.medprice.ai/mcp
  • gRPC backend: api.medprice.ai:443

Install in Claude Code

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

To share with everyone in a project, add --scope project (writes to .mcp.json). To make it available across all your projects, use --scope user.

Usage

The server exposes five tools:

  • list_hospitals — returns the supported hospitals with their hospital_id, EIN, name, structured_locations (addresses with geocoded coordinates where available), last_updated_on, and revision history (each revision's date, revision_id, and whether it has payer-specific rate data).
  • get_hospital_chargemaster_cost — looks up cost stats for a billing code at a single hospital.
  • list_hospital_code_costs — looks up cost stats for a billing code across every hospital that has a matching chargemaster entry, paginated. Use this instead of calling get_hospital_chargemaster_cost once per hospital when comparing prices for the same procedure across hospitals.
  • get_code_price_distribution — returns the distribution of every hospital's price for a billing code (percentiles, histogram, and the real hospital at each percentile), computed server-side. Use instead of paging through list_hospital_code_costs for "is this price high?" questions.
  • list_code_types — lists every distinct billing code type (e.g. CPT, MS-DRG) with catalogued cost data, along with each type's distinct code count and total hospital reports.
  • list_codes — lists every distinct code under a given code type, paginated, with a raw chargemaster description and reporting-hospital count per code. Use this to discover which codes exist under a code system before pricing them.

The typical flow is to call list_hospitals first to discover available hospitals and their IDs, then call get_hospital_chargemaster_cost with the desired hospital_id — or call list_hospital_code_costs directly when the question is about a code across hospitals rather than one specific hospital. Once installed, you can just ask your assistant something like:

What's the fee schedule cost of MS-DRG 652 at Medical City Alliance?

The assistant will call list_hospitals to find the hospital's ID, then call get_hospital_chargemaster_cost with:

{
  "hospital_id": "3f9a1c2b8e4d5f6a7b8c9d0e1f2a3b4c",
  "code_type": "MS-DRG",
  "code": "652",
  "methodologies": ["fee schedule"]
}

and returns:

{
  "hospital": "MEDICAL CITY ALLIANCE",
  "found": true,
  "hospital_id": "3f9a1c2b8e4d5f6a7b8c9d0e1f2a3b4c",
  "results": [
    {
      "methodology": "fee schedule",
      "found": true,
      "cost": {
        "code_type": "MS-DRG",
        "code": "652",
        "min": "26851.11",
        "max": "190885.00",
        "avg": "34387.70",
        "median": "28084.07",
        "std_dev": "13735.94"
      },
      "description": {
        "hospital_name": "MEDICAL CITY ALLIANCE",
        "location": "3101 N Tarrant Pkwy, Fort Worth, TX, 76177",
        "code_description": "KIDNEY TRANSPLANT",
        "methodology_note": "fee schedule"
      }
    }
  ]
}
Tool reference
list_hospitals
  • page_size (optional) — maximum number of hospitals to return. Defaults to 500 (the entire current registry in one call), capped at 500.
  • page_token (optional) — opaque token from a previous response's next_page_token, for pagination. If next_page_token is non-empty, keep calling with it until it's empty rather than assuming one page is the full list.

Each hospital's revisions array now includes a revision_id per revision (in addition to revision_date and has_payer_data) — pass it as get_hospital_chargemaster_cost's revision_id to price that specific past revision instead of the hospital's latest one.

get_hospital_chargemaster_cost
  • hospital_id (required) — opaque hospital identifier from list_hospitals.
  • code_type (required) — code system, e.g. APR-DRG, CDM, CPT, HCPCS, MS-DRG, RC. Hospitals may also support additional proprietary code types.
  • code (required) — the billing/chargemaster code.
  • methodologies (optional) — array of case rate, fee schedule, other, percent of total billed charges, per diem. One result per entry, in request order, each with its own found/cost/description. Omit or pass an empty array to get a single aggregate result across all methodologies.
  • revision_id (optional) — a revision_id from list_hospitals, to price that specific past revision instead of the hospital's latest one.

Returns hospital, found (true if at least one entry in results was found), hospital_id, and results — one entry per requested methodology (or one aggregate entry when methodologies is omitted), each shaped like { methodology, found, cost, description }.

list_hospital_code_costs

Like get_hospital_chargemaster_cost, but returns one result per hospital that has a matching chargemaster entry for the code, instead of requiring a hospital_id up front — useful for "which hospital is cheapest for X" questions without a list_hospitals + N × get_hospital_chargemaster_cost round trip.

  • code_type (required) — same as above.
  • code (required) — same as above.
  • methodology (optional) — single methodology string, same options as above. Unlike get_hospital_chargemaster_cost, this filter stays singular — it still only aggregates or narrows to one methodology, it doesn't fan out to multiple results entries per hospital.
  • page_size (optional) — maximum number of results to return. Defaults to 500 (every matching hospital in one call at the current registry size), capped at 500.
  • page_token (optional) — opaque token from a previous response's next_page_token, for pagination. If next_page_token is non-empty, keep calling with it until it's empty rather than assuming one page is the full list.

Returns results (each hospital shaped like a get_hospital_chargemaster_cost response — hospital, found, hospital_id, and a results array with exactly one entry given the singular methodology filter) and next_page_token. Only hospitals with a matching entry (their latest revision) are included — there are no found: false entries.

get_code_price_distribution

Distribution of one per-hospital price figure across every hospital reporting the code, computed server-side in one call.

  • code_type (required), code (required) — same as above.
  • methodology (optional) — same options as list_hospital_code_costs; omit to aggregate across all.
  • min_sample_count (optional) — same semantics as list_hospital_code_costs.
  • bin_count (optional) — histogram bars; defaults to 16, max 200.
  • reference_price (optional) — when positive, hospitals_below_reference counts hospitals priced strictly below it.
  • statistic (optional) — PRICE_STATISTIC_AVERAGE (default), PRICE_STATISTIC_MEDIAN, PRICE_STATISTIC_MIN or PRICE_STATISTIC_MAX: the per-hospital figure being distributed.

Returns hospital_count, min/p10/q1/median/q3/p90/max, std_dev, histogram (histogram_lo, histogram_hi, histogram_bins, overflow_count), a *_hospital point (hospital_id, hospital_name, location, price) for each percentile, and hospitals_below_reference. hospital_count 0 means no hospital reports a price.

list_code_types

No arguments. Returns code_types, one entry per distinct code type present in the catalog (most code-rich first), each with code_type, code_count (distinct codes catalogued under that type), and total_hospital_reports (sum of hospital_count across every code under that type — not a distinct-hospital count). Unpaginated.

Use this to discover which code systems have data before drilling into list_codes.

list_codes
  • code_type (required) — code system to list codes for, e.g. CPT. From list_code_types.
  • page_size (optional) — maximum number of results to return. Defaults to 500, capped at 500.
  • page_token (optional) — opaque token from a previous response's next_page_token, for pagination. If next_page_token is non-empty, keep calling with it until it's empty rather than assuming one page is the full list.

Returns codes (each with code, raw_description — raw chargemaster text, not necessarily a human-readable procedure name — and hospital_count, distinct hospitals reporting that code on their latest revision), next_page_token, and total_count (total matching codes across all pages). Use this to discover which codes exist under a code system before pricing them with get_hospital_chargemaster_cost or list_hospital_code_costs.

Development

Run locally against the production gRPC backend
GRPC_HOST=api.medprice.ai:443 npx tsx src/index.ts
Run locally against a custom gRPC backend
GRPC_HOST=<host:port> npx tsx src/index.ts
Run as HTTP server
TRANSPORT=http GRPC_HOST=api.medprice.ai:443 npx tsx src/index.ts

All MCP requests go to POST /mcp. PORT defaults to 3000.

Test gRPC connectivity
GRPC_HOST=api.medprice.ai:443 npx tsx src/test.ts

Docker

Build
docker build -t mcp-medprice-ai .
Run
docker run --rm -p 3000:3000 \
  -e GRPC_HOST=api.medprice.ai:443 \
  mcp-medprice-ai

TRANSPORT=http and PORT=3000 are set by default in the image. Override PORT if needed:

docker run --rm -p 8080:8080 \
  -e GRPC_HOST=api.medprice.ai:443 \
  -e PORT=8080 \
  mcp-medprice-ai

الأسئلة الشائعة

ما هو MedPrice AI؟

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

كيف أثبّت MedPrice AI؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http medprice-ai 'https://mcp.medprice.ai/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج MedPrice AI إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل MedPrice AI مفتوح المصدر؟

شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.

من يصون MedPrice AI؟

ينشره medprice-ai. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.