关于 Pa Medical Exclusions
Pa Medical Exclusions 是用于查询宾夕法尼亚州 Medicheck 禁止参与名录的 MCP 服务。它支持按姓名和提供者标识符检索,并区分当前禁止状态、状态未知及已结束的记录。
主要功能
- 01按姓名、NPI、执照或 FEIN 筛查
- 02按规则规范化并匹配标识符
- 03返回 DHS 状态和禁止标记
- 04汇总状态及生效日期区间
- 05查询历史禁止名录
适用场景
- 01在参与宾州 Medicaid 前核查提供者
- 02通过 NPI 或执照验证提供者
- 03按生效日期查看过往禁止记录
- 04区分状态未知与已识别记录
MCP 相关
向 MCP 客户端提供提供者筛查和名录覆盖情况工具。可作为独立的 stdio MCP 服务运行,也可通过 Pipeworx 网关访问。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/pa-medical-exclusions/mcpclaude mcp add --transport http pipeworx-io-pa-medical-exclusions https://gateway.pipeworx.io/pa-medical-exclusions/mcp{"mcpServers":{"pipeworx-io-pa-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/pa-medical-exclusions/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-pa-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/pa-medical-exclusions/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-pa-medical-exclusions":{"type":"http","url":"https://gateway.pipeworx.io/pa-medical-exclusions/mcp"}}}{"mcpServers":{"pipeworx-io-pa-medical-exclusions":{"serverUrl":"https://gateway.pipeworx.io/pa-medical-exclusions/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/pa-medical-exclusions
宾夕法尼亚州人类服务部(DHS)Medicheck 禁止提供服务的提供者名单筛查——根据姓名、NPI、许可证号或
FEIN,查询提供者是否在约 6,750 行的名单中。该名单列出了曾被禁止参与宾夕法尼亚州医疗援助(Medicaid)计划的提供者和企业。它是联邦 HHS OIG LEIE(leie pack)的州级对应名单,也是 ny-omig-exclusions(纽约)、ca-medical-exclusions(加利福尼亚州)、tx-medical-exclusions(得克萨斯州)和 fl-medical-exclusions(佛罗里达州)的姊妹项目。
属于 Pipeworx — 一个将 AI Agent 连接到 1831+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
工具
pa_medical_check_exclusion(name?, npi?, license?, fein?, limit?)— 根据 DHS Medicheck 名单筛查提供者。匹配 NPI、许可证号或 FEIN 属于身份识别(三者都是精确标识符);匹配姓名——即使完全一致——也仅是 候选线索,因为名单不包含出生日期,无法区分同名提供者。每个匹配项都带有 DHS 自己的status字段,以及据此推导出的currently_precluded标记——对于少数 DHS 自身状态为空的记录,该标记为null,并设有status_unknown: true,而不是猜测。pa_medical_exclusion_coverage()— 曾记录的总行数、当前仍被禁止的数量、已结束的数量和状态未知的数量、包含 NPI、许可证号或 FEIN 的数量、DHS 使用的不同状态值,以及最早/最近的禁止生效日期。传入year或start_date/end_date,则改为统计整个名单中生效日期落在该范围内的禁止记录。
认证
无需密钥。
数据来源
- 宾夕法尼亚州人类服务部(DHS),Medicheck 禁止提供服务的提供者名单 — 该州公布的名单,列出了被禁止参与宾夕法尼亚州医疗援助计划的个人、企业和其他实体,可在 https://www.humanservices.dhs.pa.gov/Medchk/ 搜索,也可直接从同一应用下载完整 文本文件。
为什么没有开放数据门户镜像——已核查,而非假定
在 data.pa.gov 上搜索 Socrata 目录
(api.us.socrata.com/api/catalog/v1?domains=data.pa.gov),查询“medicheck”、
“precluded”、“excluded provider”和“medicaid sanction”(2026-10-17),
没有找到匹配的数据集。DHS 自有的 Medicheck 搜索应用是唯一来源。
为什么将数据内置,而不是实时代理
根据根目录 CLAUDE.md 中对这类规模表格的既定规则,完整名单
(捕获时共 6,751 行,生成的 TypeScript 约 2.7MB)由
scripts/bake-index.mjs 烘焙到 src/pa-medchk-index-data.ts,在
workers/gateway/src/pack-baked-indexes.json 中注册,部署时上传到 KV,并在每次调用时
注入为 args._bakedIndex — 绝不使用静态的模块级作用域
导入(fleet #2754:六个 pack 这样做会让每个网关隔离环境都保留约 48MB 堆内存,并在 Cloudflare 1102 错误下导致大约每四次调用就有一次失败)。
如果注入缺失或格式错误,会明确抛出异常,而不是回答
“未找到” — 参见 src/index.test.ts。
与 tx-medical-exclusions 不同,这里不需要 ASP.NET VIEWSTATE 回发:Medicheck 应用的“下载文本文件”按钮是一个普通的、
无需认证的 GET 请求,已于 2026-10-17 在线验证。
定期重新运行 node mcps/pa-medical-exclusions/scripts/bake-index.mjs
并重新提交;每个响应中的 data_as_of 都会说明烘焙副本有多旧。
状态较为混乱——currently_precluded 是派生字段,且已注明
DHS 自己的 Status 字段(Precluded、Terminated、Reinstated、
Suspended、Withdrawal、Voluntary Withdrawal、Permanent Preclusion、
Permanent Withdrawal、Terminated-No Cause)最接近当前状态标记,但 6,751 条记录中有 466 条(2026-10-17 抓取)Status 为空——这是直接检查的结果,并非推断:EndDate 是否存在与 Status 并无明确关联(许多 Precluded 记录也有 EndDate),因此无法用 EndDate 填补空值。本数据包仅在 Status 为 DHS 自己认可的值之一时,才据此派生 currently_precluded;对于 Status 为空的记录,则返回 currently_precluded: null 和 status_unknown: true——此处若贸然猜测,就会产生静默的错误答案,而根目录 CLAUDE.md 的大声失败规则正是为了避免这种情况。
曾被排除与当前被排除
与四个先例状态数据包的情况相同:此下载内容是曾被排除名单,而非仅包含当前被排除对象的名单——记录可追溯至 1957 年,其中包括早已恢复资格、终止或撤回的服务提供者。每次响应都会通过 ever_vs_current_caveat 说明这一点。
匹配
npi 查询仅匹配完全一致的 10 位数字 NPI 值。license 查询匹配 LicenseNumber,仅包含字母和数字(不区分大小写,并去除标点和空格)——宾夕法尼亚州执照号码为字母数字混合格式(例如 AJ006399L),有时还会带有括号中的州外注释(例如 172434 (NY)),因此 license: "172434" 也会匹配该记录。fein 查询会精确匹配联邦 EIN,仅限数字。姓名查询会匹配服务提供者的组合个人姓名(名/中间名/姓)、企业名称或 DHS 记录的别名;匹配时不区分词序、大小写和标点。
可访问性
已于 2026-10-17 使用笔记本电脑通过 curl 对
https://www.humanservices.dhs.pa.gov/Medchk/MedchkSearch/Medchk?target=_blank 进行实时验证:
返回 200、text/plain、带引号的逗号分隔 CRLF 文件,共 6,751 条数据记录。无需会话状态、Cookie 或重放表单——比 tx-medical-exclusions 所需的 VIEWSTATE 握手简单。
快速开始
将其添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"pa-medical-exclusions": {
"url": "https://gateway.pipeworx.io/pa-medical-exclusions/mcp"
}
}
}
此端点实际提供的内容
向 https://gateway.pipeworx.io/pa-medical-exclusions/mcp 发起 tools/list 请求,会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和网关范围内的其余工具。因此,你看到的工具数量会多于此表:单个数据包端点目前会列出约 30 个共享工具,以及该数据包自己的工具。连接的 initialize 响应会说明其确切范围,并且是当天适用情况的权威答案。
这是有意为之,并非意外复用。这些元工具让限定范围的连接也能回答本数据包未涵盖的问题——通过可跨整个目录路由请求的
ask_pipeworx——无需你再添加第二个 MCP 服务。目前无法在不包含这些元工具的情况下挂载数据包端点;如果额外的架构定义带来的上下文开销超过路由功能的价值,请只连接一次完整网关,而不是连接多个数据包端点。
或者,连接完整的 Pipeworx 网关,直接列出所有数据包的工具,而不只是此数据包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1831+ 个数据源。唯一的区别是直接列出哪个数据包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/pa_medical_check_exclusion \
-H 'Content-Type: application/json' \
-d '{"name":"Zeidler"}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/pa_medical_check_exclusion。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需经过网关往返:
{
"mcpServers": {
"pa-medical-exclusions": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-pa-medical-exclusions"]
}
}
}
也可以直接运行,确认它能正常启动:
npx -y @pipeworx/mcp-pa-medical-exclusions
它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Pa Medical Exclusions data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。