MedPrice AI

io.github.medprice-ai由 GitHub 帳號 medprice-ai 發布v0.0.1更新於 Oct 24, 2026

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

發布方自己的服務:PriceWin

已驗證Streamable HTTP可網頁執行金融資料與分析

概覽

AI 產生的概覽

託管型 MCP 伺服器,讓助理查詢美國醫院收費主表(chargemaster)中的項目價格、跨醫院比價並檢視價格分布。

可以做什麼
  • 列出支援的醫院及其 ID、EIN、地址與版本歷程
  • 查詢某家醫院某個計費代碼的費用統計,可指定歷史版本或計價方式
  • 跨所有回報該代碼的醫院比較費用,支援分頁
  • 取得伺服器端計算的價格分布(百分位、直方圖、各百分位對應的真實醫院)
  • 探索可用的代碼類型及每種類型下已收錄的代碼
適用情境
適合回答美國醫院項目價格問題:某代碼在指定醫院的費用、哪家醫院做某項處置最便宜,或某個報價相對其他醫院是否偏高。
執行需求
只需遠端 streamable HTTP 端點;未宣告本機執行環境、套件、API 金鑰或環境變數。助理需能連線該託管端點。
安裝前請注意
僅對公開的收費主表資料做唯讀查詢,不索取憑證,也不會代你寫入或傳送資料。資料為醫院自行申報的收費主表價格,並非病患實際支付金額;README 亦提醒代碼描述為原始收費主表文字,未必是可讀的項目名稱。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 MedPrice AI,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.medprice-ai%2Fmcp-medprice-ai/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "medprice-ai": {
      "type": "http",
      "url": "https://mcp.medprice.ai/mcp"
    }
  }
}

README

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

bash
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:

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

and returns:

json
{  "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

bash
GRPC_HOST=api.medprice.ai:443 npx tsx src/index.ts

Run locally against a custom gRPC backend

bash
GRPC_HOST=<host:port> npx tsx src/index.ts

Run as HTTP server

bash
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

bash
GRPC_HOST=api.medprice.ai:443 npx tsx src/test.ts

Docker

Build

bash
docker build -t mcp-medprice-ai .

Run

bash
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:

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

來源:README.md,提交 29aa965

工具

7

get_hospital_chargemaster_cost

Get hospital chargemaster cost

Lookup hospital chargemaster cost

輸入參數code必填code_type必填hospital_id必填revision_idmethodologies

batch_get_hospital_chargemaster_cost

Batch get hospital chargemaster costs

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.

輸入參數codes必填hospital_id必填revision_id

list_hospitals

List supported 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'.

輸入參數querypage_sizepage_token

list_hospital_code_costs

List hospital costs for a billing code

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.

輸入參數code必填queryorder_bycode_type必填page_sizepage_tokenmethodologymin_sample_count

get_code_price_distribution

Get price distribution for a billing code

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).

輸入參數code必填bin_countcode_type必填statisticmethodologyreference_pricemin_sample_count

list_code_types

List billing 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.

無需輸入參數。

list_codes

List billing codes for a code type

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.

輸入參數sortquerycode_typepage_sizepage_tokenhospital_id

版本歷史

1
  1. v0.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Price 整合