Ca Medical Exclusions について
California DHCSのMedi-Cal停止・不適格事業者リストを、氏名、NPI、ライセンス番号で照合するMCPサーバーです。識別子の完全一致と氏名による候補を区別し、リストの収録状況も確認できます。
主な機能
- 01氏名、NPI、ライセンス番号で検索
- 02一致した事業者情報の取得
- 03リストの収録状況と更新日の確認
- 04リスト全体に適用される法的根拠の提示
活用シーン
- 01事業者がリストに掲載されているか確認
- 02NPIやライセンス番号で本人を確認
- 03データの範囲と更新状況を確認
MCP 対応
事業者の排除リスト照合と収録状況のツールをMCPクライアントに提供します。Pipeworxゲートウェイ経由、またはローカルのstdio MCPサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/ca-medical-exclusions/mcpclaude mcp add --transport http pipeworx-io-ca-medical-exclusions https://gateway.pipeworx.io/ca-medical-exclusions/mcp{"mcpServers":{"pipeworx-io-ca-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/ca-medical-exclusions/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-ca-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/ca-medical-exclusions/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-ca-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/ca-medical-exclusions/mcp"}}}{"mcpServers":{"pipeworx-io-ca-medical-exclusions":{"serverUrl":"https://gateway.pipeworx.io/ca-medical-exclusions/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/ca-medical-exclusions
カリフォルニア州 DHCS Medi-Cal 停止・対象外(S&I)プロバイダーリスト
スクリーニング — プロバイダー名、NPI、またはライセンス/プロバイダー番号で照合し、カリフォルニア州の Medicaid プログラムから除外された約23,400件のプロバイダーリストを確認します。連邦政府の HHS OIG LEIE(leie パック)に相当する州レベルのリストであり、ニューヨーク州向けの兄弟パック ny-omig-exclusions にあたります。
Pipeworx の一部です。AI エージェントを1878以上のライブデータソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、承認、公開のいずれもされていません。
ツール
ca_medical_check_exclusion(name?, npi?, license?, limit?)— DHCS S&I リストに照らしてプロバイダーをスクリーニングします。NPI またはライセンス番号の一致は本人特定にあたります(どちらも個別のプロバイダーを特定する完全一致の識別子です)。名前の一致は、完全一致であっても候補情報にすぎません。リストには生年月日がなく、同姓同名のプロバイダーを区別するための名またはミドルネームが記載されていない法人の行も多いためです。ca_medical_exclusion_coverage()— 保有する除外件数、NPI またはライセンス番号が記載されている件数、プロバイダー種別の多様性、最も古い/新しい停止日、リスト全体に適用される法的根拠、およびこのパックが提供する組み込みデータの CHHS Open Data Portal における「最終更新日」を返します。
認証
キー不要です。
データソース
- https://data.chhs.ca.gov/api/3/action/datastore_search?resource_id=48630a37-b5ba-4d3d-af54-e82b30e658a0&limit=25000 — CHHS Open Data Portal の CKAN データストアから取得する、DHCS S&I リスト全件のクリーンな JSON データです(last_name、first_name、middle_name、AKA/DBA、address、provider type、license number、provider number(s)、date of suspension、active period)。約23,400件すべてを1回のリクエストで返します。
- https://data.chhs.ca.gov/api/3/action/resource_show?id=48630a37-b5ba-4d3d-af54-e82b30e658a0
— リソースのメタデータです。
last_modifiedをdata_as_ofとして使用します。 - https://data.chhs.ca.gov/dataset/provider-suspended-and-ineligible-list-s-i-list — データセットの一般向けランディングページです。
dhcs.ca.gov/files.medi-cal.ca.gov から直接取得せず、CHHS データストアを使う理由
DHCS の公式ページ(dhcs.ca.gov、files.medi-cal.ca.gov)では、S&I リストは 月名を含む CSV としてのみリンクされています。たとえば suspended-ineligible-list-august-2026.csv のようなファイル名は毎月の更新ごとに変わるため、HTML ページから最新のファイル名を取得せずに固定 URL で取得することはできません。同じデータセット(同じ CKAN resource_id、48630a37-b5ba-4d3d-af54-e82b30e658a0)は、California Health and Human Services(CHHS)Open Data Portal、data.ca.gov、catalog.data.gov にも公開されており、3つすべてが同一のリソースをミラーしています。CHHS CKAN API の datastore_search/resource_show エンドポイントは、ファイル名ではなく安定したリソース ID をキーとしており、CSV の解析を必要とせず、クリーンな JSON を直接返します。このパックではこの API を使用します。
ライブプロキシではなく、組み込みデータを使う理由
ルートの CLAUDE.md にある、この規模のテーブルに関する既定ルールに従い、全リスト(取得時点で23,433件、生成された TypeScript で約7.2MB)は scripts/bake-index.mjs によって src/ca-dhcs-index-data.ts に組み込まれ、workers/gateway/src/pack-baked-indexes.json に登録されます。デプロイ時に KV へアップロードされ、すべての呼び出しで args._bakedIndex として注入されます。静的なモジュールスコープのインポートは決して使用しません(fleet #2754:6つのパックがこの方式を使うと、ゲートウェイの各 isolate で約48MBのヒープが保持され、Cloudflare 1102 により約4回に1回の呼び出しが失敗するためです)。注入データがない場合や形式が不正な場合は、「見つかりません」と回答するのではなく、明示的にエラーをスローします。src/index.test.ts を参照してください。
定期的に node mcps/ca-medical-exclusions/scripts/bake-index.mjs を再実行してください(DHCS/CHHS はリストを毎月更新します)。再実行後は変更をコミットしてください。各レスポンスの data_as_of は、組み込みデータが CHHS 自身の last_modified メタデータに対してどれほど古いかを示します。
このデータに含まれない情報 — そして、NY のリストにはなく、このデータに含まれる情報
このパックを作成したタスクでは、DHCS がレコードごとの除外理由/根拠フィールドを公開しており、「NY にはない」と想定していました。ライブの CHHS データストアで直接確認したところ(推測ではありません)、それは正しくありません。 DHCS が公開しているフィールドは、Last/First/Middle Name、AKA/DBA、Address、Provider Type、License Number、Provider Number(s)(NPI および PHA410230 のような NPI 以外のコード)、Date of Suspension、Active Period であり、レコードごとの法令、理由コード、事件の引用情報はありません。 23,433 件のうち 23,431 件で「Active Period」は「Indefinitely effective」となっており、これにも理由は記載されていません。
カリフォルニア州のリストに含まれ、NY の OMIG リストにはない情報:
- Provider Type — 登録看護師、医師、薬局、事業体/法人など、数百種類の値があり、一致するすべての項目に返されます。
- リスト全体に適用される法的根拠の公開情報 — カリフォルニア州福祉・施設法 §§14043.6 および 14123(重罪判決、Medi-Cal に関連する軽犯罪、連邦 Medicare/Medicaid からの除外、ライセンスの喪失、または契約違反)。これはリスト全体に適用され、レコードごとのものではありません。すべての応答で
statutory_basisとして提示され、レコードごとの理由を捏造したものではなく、リスト全体に適用されることが明確に示されます。
照合
provider_numbers はソースデータ内のカンマ区切りフィールドで、10 桁の NPI と、NPI 以外のコード(PHA410230 のような薬局/登録番号)が混在している場合があります。このパックでは、ベイク時に 10 桁のトークンを npis として抽出します。npi クエリはそれらのみを照合します。license クエリは、独立した License Number フィールドを対象にし、数字以外を取り除いて先頭のゼロを除去します。これは ny-omig-exclusions と同じ照合方法です。名前クエリは、プロバイダーの組み立て済みの名前(姓、または姓+名+ミドルネーム)と、すべての AKA/DBA を対象に、大文字と小文字および句読点を区別せずに照合します。
接続可能性
2026-10-07 に、ノート PC からの curl と、本番アカウント上で使い捨ての wrangler dev --remote Worker の両方からライブで検証しました。どちらも Cloudflare エッジから datastore_search(約 8.68MB の全ペイロードを約 1.1 秒で取得)と resource_show に対して同一の 200 応答が返されました。oklahoma-code/utah-code/new-hampshire-code とは異なり、このホストでは Supabase のエグレスリレーは不要です。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"ca-medical-exclusions": {
"url": "https://gateway.pipeworx.io/ca-medical-exclusions/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/ca-medical-exclusions/mcp の tools/list は、上の表にあるツールに加えて、共有の Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で利用できる一連のツール)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールに加えて、共有ツールが約 30 個表示されます。接続の initialize 応答には、その正確なスコープが記載されており、特定の日における正式な情報源となります。
これは意図した動作であり、偶然の多重化ではありません。メタツールを使うと、ask_pipeworx を通じてカタログ全体を横断し、このパックが扱わない質問にも対応できます。2 つ目の MCP サーバーを追加する必要はありません。現在、これらのメタツールを使わずにパックのエンドポイントだけを接続する方法はありません。追加のスキーマによるコンテキスト消費が、ルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけではなく、すべてのパックのツールが直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイに接続し、同じ 1878 以上のデータソースを利用します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使って、すべてのツールを利用できます。
MCP クライアントがなくても、HTTP 経由で呼び出せます
curl -X POST https://gateway.pipeworx.io/v1/tools/ca_medical_check_exclusion \
-H 'Content-Type: application/json' \
-d '{"name":"111 Pharmacy"}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/ca_medical_check_exclusion を実行してください。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行してください。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です。
{
"mcpServers": {
"ca-medical-exclusions": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-ca-medical-exclusions"]
}
}
}
または、直接実行して起動を確認できます。
npx -y @pipeworx/mcp-ca-medical-exclusions
stdin/stdout 経由で MCP を使用し、initialize/tools/list/tools/call に応答します。対象はこのパックのツールのみで、上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx を使用する
ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックエンドポイントだけでなく、フルゲートウェイでも機能します。
ask_pipeworx({ question: "your question about Ca Medical Exclusions data" })
ゲートウェイが適切なツールを選び、引数を自動的に入力します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。