mcpField
M
medprice

medprice

ローカル
github.com/CloudCorpRecordsヘルスケア01 週間前に更新

medprice について

medprice は、米国の処方薬価格の比較や薬の対応関係の調査に使うローカルブリッジです。価格、薬局、医薬品の検索を FineRx のホスト型サービスに転送し、メール送信ツールは公開しません。

主な機能

  1. 01薬局チェーン間の医薬品価格比較
  2. 02場所を指定した近隣薬局の検索
  3. 03複数医薬品の価格一括比較
  4. 04医薬品と購入可能な包装の検索
  5. 05海外ブランドに対応する米国薬の検索
  6. 06割引カードと処方関連情報の取得

活用シーン

  1. 01ZIP code 周辺の薬価を比較
  2. 02近くで処方薬を受け取れる店舗を検索
  3. 03複数の薬の価格をまとめて確認
  4. 04海外医薬品の米国での名称を調査

MCP 対応

FineRx の一部ツールを MCP クライアントに提供し、呼び出しを FineRx のホスト型 MCP サーバーに転送します。email_savings_card ツールは公開しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-medprice": {
"command": "npx",
"args": [
"-y",
"@reneturcios/medprice"
]
}
}
}
起動コマンドnpx -y @reneturcios/medprice

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/medprice0.1.0
ocighcr.io/cloudcorprecords/medprice:0.1.0

ツール

18

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
ndcanyいいえ医薬品の NDC(National Drug Code)。旧バージョンの呼び出し元は数量とともに指定できます。
zipanyいいえ近隣の価格や薬局を検索するための 5 桁の米国 ZIP コード。ユーザーが提示した場合にのみ渡してください。
druganyいいえ医薬品:入力されたままの名称、または search_drugs の slug。
formanyいいえ医薬品の剤形(例:"tablet")。
localeanyいいえ回答に使用する言語コード(省略した場合はホスト自身の言語コードを使用します)。
channelanyいいえリクエストの経由元を示す任意のチャネルタグ。呼び出し元のホストから指定されない限り、省略してください。
quantityanyいいえ価格を調べる数量(パッケージサイズ/単位数)。
strengthanyいいえ医薬品の含量(例:"10 mg")。
compare_toanyいいえユーザーがこのパッケージについて提示した金額(保険の自己負担額、現在の支払額、または下回りたい価格)。回答では、その金額を下回る価格が見つかったチェーン数も示します。

詳細

medprice

medprice は、米国向けの処方薬価格サービスである FineRx のホスト型 MCP サーバーにつなぐ、小規模なローカルブリッジです。主要な薬局チェーンで無料の割引カードを使った場合の薬価、郵便番号の近くにある店舗、海外のブランド名で販売されている薬が米国で何と呼ばれているかを調べられます。

このブリッジは、薬や価格のデータを独自に保持しません。ライブエンドポイントから取得した内容をそのまま使って、上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流へ転送して、結果をそのまま返します。

ラベル付きサブセット:19 個中 18 個のツール

ライブキャプチャには 19 個のツールが含まれていました。この再構築版では、そのうち 18 個を提供します。1 つのツールは意図的に除外されています。

  • email_savings_card — 除外。呼び出し元が指定した任意のアドレスにメールを送信します。これは、このサーバーの価格情報の読み取りという中核的な機能の範囲外となる外部送信操作のため、プログラムの安全規則に基づいて除外されています。登録も上流への転送も行われず、テストスイートでは、ローカルレジストリと提供される MCP tools/list の両方に存在しないことを検証します。

近接するツールのうち、1 つは意図的に残しています。

  • get_savings_card — 維持。FineRx プログラムの無料割引カードを返します。サービスが一般向けに配布するすべてのカードに印刷されている共通プログラムコードと利用手順を提供します。これは公開されたプログラム情報であり、ユーザーの決済カード情報ではありません。また、決済手段を作成することもありません。周辺の価格情報と同様、読み取り専用です。

ツール

  • compare_prices — 米国の薬局チェーンで、ある薬のカード適用価格を場所の近くで比較します。省略可能:drug、strength、form、quantity、zip、ndc、locale、channel、compare_to。
  • ui_prices — FineRx カード内で選択した包装と場所について、同じ価格情報を返します。必須:slug。
  • find_nearby_pharmacies — チェーンごとに、指定した場所から 30 マイル以内の薬局店舗を検索し、薬が指定されていればカード適用価格も返します。すべての引数は省略可能です。
  • ui_nearby — 画面上の包装に対応する近隣の薬局を返します。カード自体から呼び出されます。すべての引数は省略可能です。
  • get_transfer_steps — 処方箋を別のチェーンへ移す方法を返します。すべての引数は省略可能です。
  • compare_basket — 複数の薬のカード適用価格と、リスト全体の価格を確認できたチェーンを返します。必須:drugs。
  • ui_basket — 別の場所について同じ薬のリストを返します。カード自体から呼び出されます。必須:slugs。
  • open_price_finder — カード内で FineRx の検索を開きます。省略可能:query、locale。
  • ui_suggest — FineRx 検索に入力中の文字列に一致する薬を返します。必須:q。
  • get_savings_card — FineRx の無料割引カードを返します。カードのコード、使い方、保管方法を確認できます。上記のサブセットに関する説明を参照してください。すべての引数は省略可能です。
  • search_drugs — 薬の名前(ブランド名、ジェネリック名、誤記、または別の文字体系での表記)で検索し、その slug を取得します。必須:query。
  • get_drug — カード適用価格がある薬の規格、剤形、包装サイズを返します。必須:slug。
  • get_dataset_info — FineRx の対象範囲(チェーン、データの鮮度、店舗数、利用規約)を返します。引数はありません。
  • get_prescription_options — 処方箋がまだない場合も含め、処方箋を受け取る方法を返します。すべての引数は省略可能です。
  • find_us_equivalent — 他国の薬に相当する米国の薬と、米国でのカード適用価格を返します。必須:brand。
  • find_us_equivalents — 複数の海外の薬について、同じ情報をまとめて返します。必須:brands。
  • ui_equivalent — FineRx 検索で選択した海外ブランドの薬を返します。カード自体から呼び出されます。必須:brand_slug。
  • foreign_brands_for_drug — 米国の薬が海外で何と呼ばれているかを返します。必須:slug。

設定

  • FINERX_MCP_URL(省略可能)— 上流エンドポイントを上書きします。デフォルトは https://www.finerxfinder.com/mcp です。(この上書き用フックは、この再構築版独自のラベル付き再構成です。)
  • FINERX_API_KEY(省略可能)— 設定すると、すべての上流リクエストに Authorization: Bearer <key> ヘッダーが付加されます。設定されていない場合、認証ヘッダーは送信されません。(この転送機能もラベル付き再構成です。元のインターフェースはキーなしでキャプチャされました。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とストリーム可能な HTTP セッションを確立します。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo name medprice)、続いて notifications/initialized 通知を送り、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize への応答で Mcp-Session-Id ヘッダーを返した場合、その値はセッション内の 以降のすべてのリクエストに付与され、プロセスの存続期間中は 同じセッションが再利用されます。応答は通常の JSON として、または サーバー送信イベントとして届く場合があります。どちらも読み取ります。

上流からの成功した結果は、上流が設定した isError フラグも含め、 そのまま返されます。JSON-RPC エラー、2xx 以外のステータス、 読み取り不能な応答、または完了できないリクエストなどの失敗は、 テキストが medprice error: で始まる isError 結果として返されます (この表現は、この再構築版独自のラベル付き再現です)。

CLI

各ツールは、JSON 引数文字列を1つ取るサブコマンドとしても実行できます (引数を取らないツールでは省略します)。

npx @reneturcios/medprice search_drugs '{"query":"lisinopril"}'
npx @reneturcios/medprice compare_prices '{"drug":"lisinopril","zip":"94110"}'
npx @reneturcios/medprice compare_basket '{"drugs":["lisinopril","metformin"]}'
npx @reneturcios/medprice find_us_equivalent '{"brand":"No-Spa"}'
npx @reneturcios/medprice get_dataset_info
npx @reneturcios/medprice --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/medprice mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "medprice": {
      "command": "npx",
      "args": ["-y", "@reneturcios/medprice", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/medprice
docker run --rm ghcr.io/cloudcorprecords/medprice --version

コンテナーのデフォルトコマンドは mcp なので、最初の形式は stdio MCP サーバーです。それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートは、スタブ化された JSON-RPC 上流のみを使用して実行されます。実際のネットワーク呼び出しは行いません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。