mcpField
N
NDIS Provider Feed

NDIS Provider Feed

リモート
github.com/benno303ヘルスケア03 日前に更新
リポジトリ

NDIS Provider Feed について

NDIS Provider Feed は、オーストラリアの NDIS Provider Register を整理し、AI アシスタントやエージェントが障害者支援事業者を検索できるようにします。拠点データを ABN ごとにまとめ、所在地とサービス区分で検索でき、公式登録簿から毎週更新します。

主な機能

  1. 01所在地とサービス区分で検索
  2. 02ABN で事業者の全記録を取得
  3. 0338 のサービス区分を一覧表示
  4. 04登録データを毎週更新
  5. 05既定で現在承認済みの事業者を返却

活用シーン

  1. 01特定地域の支援事業者を検索
  2. 02事業者の登録状況とサービスを確認
  3. 03ABN から事業者と拠点の記録を確認

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

オーストラリアのNDIS Provider Register(障害者支援プロバイダーの公式登録簿)を、AI アシスタントやエージェントが直接クエリできる、整理された構造化データとして提供するMCPサーバーです。

登録簿は公開されていますが、公式の検索手段はウェブフォームと、拠点ごとに1行の一括CSVのみです。このフィードでは、ABNをキーにプロバイダーごとに1件のレコードにまとめ、所在地とサービスカテゴリで検索できるようにしています。

  • 無料で、登録不要です。 登録簿フィードは無料で、今後も無料です。
  • 自動ジョブにより公式登録簿から毎週更新され、不正な更新が公開されないようチェックされます。
  • Google Cloud Runでシドニーにホストされています。
  • io.github.benno303/ndis-provider-feedとして公式MCP Registryに掲載されています。

公式の情報源ではありません。 このプロジェクトはNDIS Quality and Safeguards CommissionまたはNDIAと提携・承認されていません。公開登録簿を反映していますが、最大で1週間遅れる場合があります。プロバイダーの登録状況を判断材料として利用する前に、公式登録簿を確認してください。

クイックスタート

エンドポイント(ストリーミング可能な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を指定してください。

その後、たとえば 「NSW州CardiffでSupported Independent Livingを提供しているNDISプロバイダーを探してください」 と尋ねてください。

ツール

ツール機能
search_providers本社所在地および/またはサービスカテゴリで検索します。デフォルトでは現在Approvedのプロバイダーを返し、事業者名順に並べます。
get_providerABNを指定して、1つのプロバイダーの全レコードを取得します。
list_service_categoriesservice_categoryとして指定できる、NDIS登録グループ38種類を返します。

search_providersのパラメーター(すべて任意):

パラメーター条件
suburb本社の地域名に対する、大文字と小文字を区別しない部分一致
state完全一致。例:NSW、VIC
postcode4桁の郵便番号の完全一致
service_categorylist_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件は現在Approvedで、2,215件は登録が取り消されています。履歴として保持されていますが、リクエストした場合にのみ返されます。
  • 鮮度: 各レコードには、登録簿から最後に取得した時刻を示すlast_verifiedが含まれます。最新の更新日と件数はfeed-status.jsonで確認できます。
  • データ構造: 情報源では拠点ごとに1行となっています。このフィードでは、行をプロバイダー(ABN)ごとに1つのレコードへまとめ、拠点をネストしています。プロバイダーの拠点ごとに異なるサービスカテゴリが記載されている場合、レコードにはすべてのカテゴリが含まれます。
既知の制限事項
  • 所在地は本社のみを指します。 プロバイダーが実際にサービスを提供する場所は対象外です。元データでは、拠点の住所が掲載されているのは全拠点の約半数にすぎず、サービス提供地域は登録簿にまったく記載されていません。
  • 登録済みのプロバイダーのみが対象です。 未登録のプロバイダーは登録簿に掲載されておらず、プラン管理型および自己管理型の参加者は利用できます。「見つかりません」は「登録簿に掲載されていない」という意味であり、「正規の事業者ではない」という意味ではありません。
  • 登録簿に掲載されている情報のみが対象です。 レビュー、対応可能状況、料金、専門分野の情報はありません。プロバイダーの約4分の1はウェブサイトが空欄です。
  • 登録条件は、はい/いいえのフラグ(has_registration_conditions)です。元データの文章が長く、エンコードにも一貫性がないため、まだ再掲載していません。
  • 結果は関連性ではなく、アルファベット順に並びます。
プライバシー
  • 個人事業主: 多くは自身の個人名で登録されています。これらのレコード(entity_type: "individual")では、個人の法的氏名は非公開とし、商号のみを表示しています。ライセンス上は再掲載できますが、プロバイダーを見つけるのに氏名は必要ありません。
  • 記録される情報: 各ツール呼び出しについて、タイムスタンプ、MCP セッション ID、クライアントのユーザーエージェント、検索パラメーターを記録します。Cloud Run の標準リクエストログには IP アドレスも記録されます。ログは実際の利用と自動クローラーを区別する目的にのみ使用し、30 日後に削除します。
訂正

このフィードは公式登録簿を反映しています。プロバイダーの情報に誤りがある場合は、NDIS Commission に修正を依頼する必要があります。修正内容は次回の週次更新で反映されます。

ライセンスと帰属表示

  • コード: MIT © 2026 Ben Armstrong。
  • データ: NDIS Provider Register の情報を含みます。© NDIS Quality and Safeguards Commission。情報は Creative Commons Attribution 4.0 Australia (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 の容量があり、生成には 1〜2 分かかります。Commission のサーバーはブラウザー以外のユーザーエージェントには応答しません(curl のデフォルト設定では応答を待ち続けます)。そのため、-A フラグを指定します。

MCP Python SDK(2.x)に関する注意事項
  • 想定される失敗(例:ABN が見つからない)の場合、ツールは ToolError を発生させるため、クライアントは読み取り可能な is_error=True の結果を受け取ります。それ以外の例外はサーバーのクラッシュとして扱われます。
  • リストを返すツールの結果は structured_content に格納されます。dict を返すツール(get_provider など)の結果は content[0].text に JSON テキストとして格納されるため、クライアントはどちらにも対応する必要があります。

コメント

MCP は初めてですか?

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

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