关于 NDIS Provider Feed
NDIS Provider Feed 将澳大利亚 NDIS Provider Register 整理为可查询的数据,供 AI 助手和 Agent 查找残障支持服务提供者。数据按 ABN 汇总,并支持按地点和服务类别搜索;每周从官方登记册更新。
主要功能
- 01按地点和服务类别搜索
- 02按 ABN 获取提供者完整记录
- 03列出 38 个服务类别
- 04每周自动刷新登记数据
- 05默认仅返回当前获批提供者
适用场景
- 01查找特定地区的支持服务提供者
- 02核实提供者登记状态与服务类别
- 03按 ABN 查看提供者及其网点记录
MCP 相关
MCP 服务提供 search_providers、get_provider 和 list_service_categories 工具,客户端可通过 streamable HTTP 传输访问。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcpclaude mcp add --transport http benno303-ndis-provider-feed https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp{"mcpServers":{"benno303-ndis-provider-feed":{"type":"http","url":"https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp"}}}在 Cursor 中打开{"servers":{"benno303-ndis-provider-feed":{"type":"http","url":"https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"benno303-ndis-provider-feed":{"type":"http","url":"https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp"}}}{"mcpServers":{"benno303-ndis-provider-feed":{"serverUrl":"https://ndis-provider-feed-125475360011.australia-southeast1.run.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
3| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| state | any | 否 | |
| suburb | any | 否 | |
| postcode | any | 否 | |
| include_revoked | boolean | 否 | |
| service_category | any | 否 |
详细介绍
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中,因此客户端应同时处理这两种情况。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。