mcpField
N
NDIS Provider Feed

NDIS Provider Feed

远程服务
github.com/benno303健康医疗03 天前更新
代码仓库

关于 NDIS Provider Feed

NDIS Provider Feed 将澳大利亚 NDIS Provider Register 整理为可查询的数据,供 AI 助手和 Agent 查找残障支持服务提供者。数据按 ABN 汇总,并支持按地点和服务类别搜索;每周从官方登记册更新。

主要功能

  1. 01按地点和服务类别搜索
  2. 02按 ABN 获取提供者完整记录
  3. 03列出 38 个服务类别
  4. 04每周自动刷新登记数据
  5. 05默认仅返回当前获批提供者

适用场景

  1. 01查找特定地区的支持服务提供者
  2. 02核实提供者登记状态与服务类别
  3. 03按 ABN 查看提供者及其网点记录

MCP 相关

MCP 服务提供 search_providers、get_provider 和 list_service_categories 工具,客户端可通过 streamable HTTP 传输访问。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

3
参数类型必填说明
limitinteger否
stateany否
suburbany否
postcodeany否
include_revokedboolean否
service_categoryany否

详细介绍

NDIS Provider Feed

一个 MCP 服务,将澳大利亚的 NDIS Provider Register(残障支持服务提供商官方名录)转换为整洁、结构化的数据,供 AI 助手和 Agent 直接查询。

该名录是公开的,但官方唯一的搜索方式是使用网页表单和批量 CSV 文件,其中每个服务网点占一行。此数据源将其转换为每家服务提供商一条记录,以 ABN 为键,并支持按地点和服务类别搜索。

  • 免费,无需注册。 名录数据源免费提供,并将一直免费。
  • **每周刷新,**由自动任务从官方名录获取数据,并通过检查阻止错误刷新结果上线。
  • **托管于悉尼,**运行在 Google Cloud Run 上。
  • 已列入官方 MCP Registry,名称为 io.github.benno303/ndis-provider-feed。

非官方来源。 本项目与 NDIS Quality and Safeguards Commission 或 NDIA 没有关联,也未获其认可。本项目镜像其公开名录,数据可能最多滞后一周。在依据服务提供商的注册状态做出任何决定前,请先查看官方名录。

快速开始

端点(可流式传输的 HTTP,无需身份验证):

https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp

这是 MCP 端点,不是网页。在浏览器中打开会显示“Bad Request”错误,这是预期行为。

Claude Code:

claude mcp add --transport http ndis-provider-feed https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp

**Claude Desktop / claude.ai:**使用上面的端点 URL 添加自定义连接器。

**任何其他 MCP 客户端:**使用可流式传输的 HTTP 传输方式,将其指向该端点 URL。

然后可以询问类似 “查找在 Cardiff(NSW)提供 Supported Independent Living 服务的 NDIS 服务提供商” 的问题。

工具

工具功能
search_providers按总部所在地和/或服务类别搜索。默认返回当前已批准的服务提供商,并按企业名称排序。
get_provider根据 ABN 获取单家服务提供商的完整记录。
list_service_categories返回 38 个有效的 NDIS 注册类别,供 service_category 使用。

search_providers 参数(均为可选):

参数匹配方式
suburb对总部所在郊区名称进行不区分大小写的部分匹配
state精确匹配,例如 NSW、VIC
postcode精确匹配 4 位邮政编码
service_category精确匹配,值须为 list_service_categories() 中的类别之一
include_revoked是否包含注册已被撤销的服务提供商(默认 false)
limit最大结果数(默认 20)
示例

请求:

{ "tool": "search_providers",
  "arguments": { "suburb": "Cardiff", "state": "NSW", "service_category": "Supported Independent Living", "limit": 1 } }

每条结果都是一条服务提供商记录,示例如下(已缩短):

{
  "provider_id": "60632514455",
  "business_name": "ADRASTEIA SERVICES PTY LTD",
  "legal_name": "ADRASTEIA SERVICES PTY LTD",
  "entity_type": "organisation",
  "registration_status": "Approved",
  "registration_expiry": "2027-10-29",
  "service_categories": ["Behaviour Support", "Support Coordination", "Supported Independent Living", "..."],
  "has_registration_conditions": true,
  "website": "https://www.adrasteia.com.au",
  "head_office": { "suburb": "CARDIFF", "state": "NSW", "postcode": "2285", "country": "AU" },
  "outlets": [ { "name": "Head Office", "address": "10 Harrison Street, CARDIFF, NSW, 2285, AU", "phone": "..." } ],
  "last_verified": "2026-10-12T22:54:37Z",
  "source": { "register": "NDIS Provider Register", "licence": "CC BY 4.0 AU", "retrieved_at": "2026-10-12T22:54:37Z" }
}

完整字段定义见 schema/ndis-provider.schema.json,每项映射背后的原因见 schema/ndis-provider-schema-notes.md。

数据

  • **来源:**由 NDIS Quality and Safeguards Commission 发布的 NDIS Provider Register 批量 CSV 文件。
  • **覆盖范围(2026 年 10 月 13 日):**29,574 家服务提供商。其中 27,359 家当前已获批准;2,215 家的注册已被撤销,这些记录会保留以供查询历史,但只有在请求中指定时才会返回。
  • **新鲜度:**每条记录都包含 last_verified,表示最近一次从名录获取该记录的时间。feed-status.json 显示最近一次刷新的日期和记录数量。
  • **结构:**源数据每个服务网点占一行。此处将这些行归并为每家服务提供商(ABN)一条记录,并将服务网点嵌套其中。如果一家服务提供商的不同网点列出了不同的服务类别,该记录会包含所有这些类别。
已知限制
  • 地点仅指总部。 不涵盖服务提供商实际提供服务的地点。来源中只有约一半的网点提供了地址,登记册中完全没有服务区域信息。
  • 仅包含已注册的服务提供商。 未注册的服务提供商不在登记册中,计划管理和自我管理的参与者也可以使用这些服务提供商。“未找到”表示“不在登记册中”,不代表“并非合法服务提供商”。
  • 仅包含登记册公开的信息。 不包含评价、服务可用性、价格或专业领域。约四分之一服务提供商的网站内容为空。
  • 注册条件以是/否标记(has_registration_conditions)表示。来源文本很长,编码也不一致,因此暂未重新发布。
  • **结果按字母顺序排序,**而非按相关性排序。
隐私
  • **个体经营者:**许多人以自己的个人姓名注册。对于这些记录(entity_type: "individual"),个人法定姓名会被隐去,仅显示营业名称。许可证允许重新发布该信息,但查找服务提供商并不需要它。
  • **记录内容:**每次工具调用都会记录时间戳、MCP 会话 ID、客户端的 user-agent 和搜索参数。Cloud Run 的标准请求日志也会记录 IP 地址。日志仅用于区分真实使用和自动爬虫,并会在 30 天后删除。
更正信息

此数据源与官方登记册保持一致。如果服务提供商的信息有误,必须联系 NDIS Commission 更正,并会在下次每周刷新时同步更新。

许可与署名

  • 代码:MIT © 2026 Ben Armstrong。
  • **数据:**包含来自 NDIS Provider Register 的信息,© NDIS Quality and Safeguards Commission,依据知识共享署名 4.0 澳大利亚版(CC BY 4.0 AU)使用。数据经过重新整理(按服务提供商分组、解析字段、隐去个体经营者的法定姓名)。如果你重复使用此数据源中的数据,请保留该署名。

状态与反馈

这是一个早期项目,由 Ben Armstrong(@benno303)构建和运营。不保证正常运行时间;端点在空闲时会缩至零,因此长时间无请求后的首次调用可能需要几秒钟。

我正在探索,能否通过维护可靠的服务提供商信息,为 AI 助手打造可持续的业务。任何付费服务都会基于此数据源提供;登记册数据源本身将继续免费。

欢迎提供反馈、报告错误,也欢迎提出“如果能有……就有用”的想法。请创建 issue。

自行运行

需要 Python 3.10+。

pip install -r requirements.txt

# Run locally over stdio against the bundled 10-record sample
python mcp_server/server.py

# Build the full feed from a fresh download of the register
curl -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" -o register.csv https://www.ndiscommission.gov.au/provider-registration/find-registered-provider/download-csv
python ingest/ingest_ndis.py register.csv mcp_server/data/ndis_providers.jsonl
python ingest/validate_feed.py mcp_server/data/ndis_providers.jsonl
python mcp_server/server.py --data mcp_server/data/ndis_providers.jsonl

# Serve over HTTP (binds 0.0.0.0, port from $PORT, default 8000)
python mcp_server/server.py --data mcp_server/data/ndis_providers.jsonl --transport streamable-http

# End-to-end check over the real MCP protocol
python mcp_server/test_server.py mcp_server/data/ndis_providers.jsonl

登记册下载文件约为 40 MB,生成需要一两分钟。Commission 的服务器不会响应非浏览器的 user-agent(curl 默认会一直挂起),因此需要 -A 标志。

MCP Python SDK(2.x)说明
  • 对于预期的失败情况(例如找不到 ABN),工具会抛出 ToolError,因此客户端会收到易于阅读的 is_error=True 结果。其他任何异常都会被视为服务器崩溃。
  • 返回列表的工具会将结果放在 structured_content 中。返回 dict 的工具(例如 get_provider)会将结果作为 JSON 文本放在 content[0].text 中,因此客户端应同时处理这两种情况。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。