MedPrice AI について
MedPrice AIは、米国の病院別診療費を調べるホスト型MCPサーバーです。病院単位の検索、病院間の比較、価格分布の確認に対応します。
主な機能
- 01病院と請求コード別の費用検索
- 02病院間での同一コード価格の比較
- 03価格の分位点とヒストグラム表示
- 04病院とコード一覧の参照
- 05病院データの過去版の検索
活用シーン
- 01特定病院での診療費の確認
- 02請求コードごとの病院間価格比較
- 03価格分布における位置の評価
MCP 対応
病院の請求データ、病院・コード一覧、病院間の価格、価格分布を検索するツールをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.medprice.ai/mcpclaude mcp add --transport http medprice-ai-mcp-medprice-ai https://mcp.medprice.ai/mcp{"mcpServers":{"medprice-ai-mcp-medprice-ai":{"type":"http","url":"https://mcp.medprice.ai/mcp"}}}Cursor で開く{"servers":{"medprice-ai-mcp-medprice-ai":{"type":"http","url":"https://mcp.medprice.ai/mcp"}}}VS Code で開く{"mcpServers":{"medprice-ai-mcp-medprice-ai":{"type":"http","url":"https://mcp.medprice.ai/mcp"}}}{"mcpServers":{"medprice-ai-mcp-medprice-ai":{"serverUrl":"https://mcp.medprice.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | |
| code_type | string | はい | chargemaster/請求コードが属するコード体系。例:APR-DRG、CDM、CPT、HCPCS、MS-DRG、RC。病院によっては、ここに記載されていない独自のコードタイプもサポートしています。 |
| hospital_id | string | はい | list_hospitals から取得した不透明な病院識別子。 |
| revision_id | string | いいえ | 任意。list_hospitals の病院ごとの revisions 配列にある revision_id。病院の最新リビジョンではなく、指定した過去のリビジョンの価格を取得します。省略すると最新のリビジョンが使用されます。 |
| methodologies | array | いいえ | 価格を算出する料金体系。リクエストの各項目につき、指定順に 1 件の結果を返します。省略するか空の配列を渡すと、すべての料金体系を対象とする集計結果を 1 件返します。 |
詳細
mcp-medprice-ai
米国の病院のチャージマスター料金データをAIアシスタントに提供する、ホスト型MCPサーバーです。
- MCPエンドポイント:
https://mcp.medprice.ai/mcp - gRPCバックエンド:
api.medprice.ai:443
Claude Code へのインストール
claude mcp add --transport http mcp-medprice-ai https://mcp.medprice.ai/mcp
プロジェクト内の全員と共有するには、--scope projectを追加します(.mcp.jsonに書き込みます)。すべてのプロジェクトで利用できるようにするには、--scope userを使用します。
使い方
このサーバーは5つのツールを提供します。
list_hospitals— 対応している病院と、それぞれのhospital_id、EIN、名前、structured_locations(利用可能な場合はジオコーディング済みの座標を含む住所)、last_updated_on、改訂履歴(各改訂の日付、revision_id、支払者別料金データの有無)を返します。get_hospital_chargemaster_cost— 単一の病院について、請求コードの料金統計を検索します。list_hospital_code_costs— 該当するチャージマスター項目があるすべての病院について、請求コードの料金統計をページ分割して検索します。複数の病院で同じ処置の料金を比較する場合は、病院ごとにget_hospital_chargemaster_costを呼び出す代わりにこちらを使用してください。get_code_price_distribution— 請求コードについて、各病院の料金分布(パーセンタイル、ヒストグラム、各パーセンタイルに該当する実際の病院)をサーバー側で計算して返します。「この料金は高いですか?」という質問では、list_hospital_code_costsをページ分割して呼び出す代わりにこちらを使用してください。list_code_types— カタログに登録されている料金データを持つ請求コード種別(CPT、MS-DRGなど)をすべて、その種別ごとの固有コード数および病院からの報告総数とともに一覧表示します。list_codes— 指定したコード種別に属するすべての固有コードを、ページ分割して一覧表示します。各コードについて、チャージマスターの説明文と報告病院数を返します。料金を調べる前に、コード体系にどのコードが存在するかを確認するために使用してください。
通常はまずlist_hospitalsを呼び出して、利用可能な病院とそのIDを確認します。次に、希望するhospital_idを指定してget_hospital_chargemaster_costを呼び出します。特定の病院ではなく、複数の病院にわたるコードについて質問する場合は、list_hospital_code_costsを直接呼び出してください。インストール後は、次のようにアシスタントに尋ねるだけで構いません。
Medical City AllianceにおけるMS-DRG 652の料金表上の費用はいくらですか?
アシスタントはlist_hospitalsを呼び出して病院のIDを確認し、次の値を指定してget_hospital_chargemaster_costを呼び出します。
{
"hospital_id": "3f9a1c2b8e4d5f6a7b8c9d0e1f2a3b4c",
"code_type": "MS-DRG",
"code": "652",
"methodologies": ["fee schedule"]
}
そして、次の結果を返します。
{
"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"
}
}
]
}
ツールリファレンス
list_hospitals
page_size(任意)— 返す病院の最大数です。既定値は500(現在の登録病院すべてを1回の呼び出しで取得)で、上限も500です。page_token(任意)— ページ分割に使用する、前回の応答のnext_page_tokenから取得した不透明なトークンです。next_page_tokenが空でない場合は、1ページで全リストを取得できると仮定せず、空になるまでその値を指定して呼び出しを続けてください。
各病院のrevisions配列には、各改訂のrevision_idが含まれるようになりました(revision_dateおよびhas_payer_dataに加えて)。病院の最新の改訂ではなく、特定の過去の改訂の料金を調べるには、この値をget_hospital_chargemaster_costのrevision_idとして渡してください。
get_hospital_chargemaster_cost
hospital_id(必須)—list_hospitalsが返す不透明な病院識別子。code_type(必須)— コード体系。例:APR-DRG、CDM、CPT、HCPCS、MS-DRG、RC。病院によっては、独自の追加コード体系に対応している場合もあります。code(必須)— 請求/チャージマスターコード。methodologies(任意)—case rate、fee schedule、other、percent of total billed charges、per diemの配列です。リクエストの順に、各項目について独自のfound/cost/descriptionを持つ結果が1件ずつ返されます。すべての方法を集計した単一の結果を取得するには、省略するか、空の配列を渡してください。revision_id(任意)—list_hospitalsが返すrevision_id。病院の最新の改訂ではなく、指定した過去の改訂の価格を取得します。
hospital、found(results 内に1件以上の結果が見つかった場合は true)、hospital_id、および results を返します。results は、指定した方法ごとに1件(methodologies を省略した場合は集計結果1件)で、それぞれ { methodology, found, cost, description } の形式です。
list_hospital_code_costs
get_hospital_chargemaster_cost と同様ですが、事前に hospital_id を指定する必要はなく、該当するチャージマスター項目がある病院ごとに結果を1件返します。「X の費用が最も安い病院はどこか」といった質問に、list_hospitals と N × get_hospital_chargemaster_cost の往復なしで答える場合に便利です。
code_type(必須)— 上記と同じです。code(必須)— 上記と同じです。methodology(任意)— 上記と同じ選択肢から指定する単一の方法文字列です。get_hospital_chargemaster_costとは異なり、このフィルターは単一のままです。集計するか、1つの方法に絞り込むものであり、病院ごとに複数のresults項目を展開して返すことはありません。page_size(任意)— 返す結果の最大数です。デフォルトは500(現在のレジストリ規模では、該当するすべての病院が1回の呼び出しで返されます)で、上限も500です。page_token(任意)— ページネーション用の、前回のレスポンスのnext_page_tokenから取得した不透明なトークンです。next_page_tokenが空でない場合は、1ページで一覧全体が返されたと仮定せず、空になるまでこのトークンを指定して呼び出しを続けてください。
results(各病院は get_hospital_chargemaster_cost のレスポンスと同じ形式で、hospital、found、hospital_id、および単一の methodology フィルターに基づく項目がちょうど1件の results 配列を含みます)と、next_page_token を返します。該当する項目がある病院(最新の改訂)のみが含まれます。found: false の項目はありません。
get_code_price_distribution
このコードを報告しているすべての病院について、病院ごとの価格を1つずつ取得し、その分布をサーバー側で1回の呼び出しで計算します。
code_type(必須)、code(必須)— 上記と同じです。methodology(任意)—list_hospital_code_costsと同じ選択肢です。すべての方法を集計するには省略してください。min_sample_count(任意)—list_hospital_code_costsと同じセマンティクスです。bin_count(任意)— ヒストグラムの棒の数です。デフォルトは16、最大値は200です。reference_price(任意)— 正の値を指定すると、hospitals_below_referenceはその価格を厳密に下回る価格の病院数を数えます。statistic(任意)—PRICE_STATISTIC_AVERAGE(デフォルト)、PRICE_STATISTIC_MEDIAN、PRICE_STATISTIC_MIN、PRICE_STATISTIC_MAXのいずれかです。分布の対象となる病院ごとの価格を指定します。
hospital_count、min/p10/q1/median/q3/p90/max、std_dev、ヒストグラム(histogram_lo、histogram_hi、histogram_bins、overflow_count)、各パーセンタイルの *_hospital 項目(hospital_id、hospital_name、location、price)、および hospitals_below_reference を返します。hospital_count が0の場合、価格を報告している病院はありません。
list_code_types
引数はありません。カタログに存在するコードタイプごとに1件のエントリーを含むcode_typesを返します(コード数が多い順)。各エントリーには、code_type、code_count(そのタイプでカタログ化されているコードの種類数)、total_hospital_reports(そのタイプのすべてのコードのhospital_countの合計。病院の重複を除いた数ではありません)が含まれます。ページ分割はありません。
list_codesで詳細を確認する前に、どのコード体系にデータがあるかを調べるために使用します。
list_codes
code_type(必須)— 一覧表示するコード体系。例:CPT。list_code_typesで確認できます。page_size(任意)— 返す結果の最大数。デフォルトは500で、上限も500です。page_token(任意)— ページ分割に使用する、前回のレスポンスのnext_page_tokenから取得した不透明なトークンです。next_page_tokenが空でない場合は、1ページで全件取得できたと仮定せず、空になるまでトークンを指定して呼び出しを続けてください。
codes(各要素には、code、raw_description(生のチャージマスターのテキストであり、人が読める処置名とは限りません)、hospital_count(そのコードを最新の改訂版で報告している病院の数)が含まれます)、next_page_token、total_count(全ページにわたる一致コードの合計数)を返します。コード体系の料金をget_hospital_chargemaster_costまたはlist_hospital_code_costsで調べる前に、どのコードが存在するかを確認するために使用します。
開発
本番用gRPCバックエンドに接続してローカルで実行する
GRPC_HOST=api.medprice.ai:443 npx tsx src/index.ts
カスタムgRPCバックエンドに接続してローカルで実行する
GRPC_HOST=<host:port> npx tsx src/index.ts
HTTPサーバーとして実行する
TRANSPORT=http GRPC_HOST=api.medprice.ai:443 npx tsx src/index.ts
すべてのMCPリクエストはPOST /mcpに送信されます。PORTのデフォルト値は3000です。
gRPC接続をテストする
GRPC_HOST=api.medprice.ai:443 npx tsx src/test.ts
Docker
ビルド
docker build -t mcp-medprice-ai .
実行
docker run --rm -p 3000:3000 \
-e GRPC_HOST=api.medprice.ai:443 \
mcp-medprice-ai
イメージでは、デフォルトでTRANSPORT=httpとPORT=3000が設定されています。必要に応じてPORTを上書きしてください。
docker run --rm -p 8080:8080 \
-e GRPC_HOST=api.medprice.ai:443 \
-e PORT=8080 \
mcp-medprice-ai
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。