Nursing Home Database
MCP server for US nursing facility search and ownership lookup (NursingHomeDatabase).
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.nursinghomedatabase.com/mcp"
}
}
}リモートエンドポイント
https://mcp.nursinghomedatabase.com/mcpstreamable-httpできること
ツール一覧
ツール(12)
🟢search_facilities(q, address, city, state, zip, ...)
Find certified US skilled nursing facilities near an address or in a city. Filter by CMS ownership type (call list_distinct_values field=ownership first), star rating, abuse flag, or Special Focus status. Returns ownership, ratings, nurse hours (HPRD), nurse/RN turnover, weighted inspection score, beds, fines, straight-line distance_miles, and maps deep-links. distance_miles is crow-flies, not drive time — use maps.google_dir / a mapping service for minutes.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string"
},
"address": {
"type": "string",
"description": "Street address with city and state, or a street and ZIP. Geocoded by the Census Bureau as the distance origin. A city, place name, or ZIP alone will not match."
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"type": "string"
},
"radius_miles": {
"type": "number"
},
"min_overall_rating": {
"type": "integer",
"description": "Minimum CMS overall star rating (1-5)."
},
"max_overall_rating": {
"type": "integer",
"description": "Maximum CMS overall star rating (1-5)."
},
"abuse_icon": {
"type": "string",
"description": "CMS abuse icon filter. Y/yes/true/1 keeps only flagged homes; other values keep homes without the flag."
},
"sffstatus": {
"type": "string",
"description": "When truthy, keep only Special Focus Facility or candidate homes (non-empty sffstatus)."
},
"ownership": {
"type": "string",
"description": "CMS ownership type from ProviderInfo.ownership. Case-insensitive. Prefixes For profit, Non profit, and Government match that kind. Call list_distinct_values with field=ownership for the 13 exact values (e.g. \"For profit - Limited Liability company\")."
},
"sort": {
"type": "string",
"enum": [
"overall_rating",
"survey_rating",
"quality_rating",
"staffing_rating",
"distance",
"tothrd",
"total_nurse_hours",
"totalnursingstaffturnover",
"nurse_turnover",
"weighted_all_cycles_score",
"survey_score"
],
"description": "Sort key: overall_rating (default, desc), survey_rating, quality_rating, staffing_rating, distance (asc, straight-line miles), tothrd or total_nurse_hours (desc), totalnursingstaffturnover or nurse_turnover (asc), weighted_all_cycles_score or survey_score (asc). Unknown values fall back to overall_rating."
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
}
}🟢search_facilities_by_ownership(ownership, q, address, city, state, ...)
Find certified US SNFs by CMS ownership type (ProviderInfo.ownership). Call list_distinct_values with field=ownership first. Same result schema as search_facilities; combine with state, city, ZIP, or address.
入力スキーマ
{
"type": "object",
"properties": {
"ownership": {
"type": "string",
"description": "CMS ownership type. Case-insensitive. Prefixes For profit, Non profit, and Government match that kind. Exact values from list_distinct_values field=ownership, e.g. \"For profit - Limited Liability company\"."
},
"q": {
"type": "string"
},
"address": {
"type": "string",
"description": "Street address with city and state, or a street and ZIP. Geocoded by the Census Bureau as the distance origin. A city, place name, or ZIP alone will not match."
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zip": {
"type": "string"
},
"radius_miles": {
"type": "number"
},
"min_overall_rating": {
"type": "integer"
},
"max_overall_rating": {
"type": "integer"
},
"sort": {
"type": "string",
"enum": [
"overall_rating",
"survey_rating",
"quality_rating",
"staffing_rating",
"distance",
"tothrd",
"total_nurse_hours",
"totalnursingstaffturnover",
"nurse_turnover",
"weighted_all_cycles_score",
"survey_score"
]
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"ownership"
]
}🟢summarize_facilities(metrics, group_by, ownership, state, city, ...)
Aggregate numeric CMS ProviderInfo fields (n, mean, min, max; optional median) across certified SNFs. Prefer this over paging search_facilities for national or grouped stats. Call list_distinct_values for ownership catalogs; call list_file_dates for filedate. Facility-equal means — not bed-weighted. Missing values excluded per metric. Not causal. Not a substitute for get_facility on a named home. Rate limit 60 requests/minute.
入力スキーマ
{
"type": "object",
"properties": {
"metrics": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "Metric keys: tothrd, rnhrd, weekend_tothrd, weekend_rnhrd, totalnursingstaffturnover, registerednurseturnover, weighted_all_cycles_score, overall_rating, survey_rating, staffing_rating, quality_rating, bedcert, restot, fine_tot, fine_cnt, occupancy (and documented synonyms)."
},
"group_by": {
"type": "string",
"enum": [
"ownership",
"ownership_kind",
"state",
"overall_rating",
"staffing_rating",
"survey_rating",
"quality_rating",
"sffstatus",
"abuse_icon"
],
"description": "Omit for one national (or filter-scoped) row per metric. ownership_kind is Government | For profit | Non profit."
},
"ownership": {
"type": "string",
"description": "CMS ownership type. Prefixes For profit, Non profit, and Government match that kind. Applied before aggregation."
},
"state": {
"type": "string"
},
"city": {
"type": "string",
"description": "City filter. Requires state."
},
"zip": {
"type": "string"
},
"abuse_icon": {
"type": "string"
},
"sffstatus": {
"type": "string"
},
"min_overall_rating": {
"type": "integer"
},
"max_overall_rating": {
"type": "integer"
},
"include_median": {
"type": "boolean",
"description": "When true, each stats object also includes median. Default false."
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"metrics"
]
}🟢compare_facilities(ids, filedate)
Compare up to 25 certified skilled nursing facilities by CMS CCN or web slug. Returns the same decision fields as search_facilities (ratings, nurse hours, turnover, inspection score, beds, fines, maps) as a table. Prefer this over looping get_facility against the 60 requests/minute limit.
入力スキーマ
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "CMS CCNs (provnum) or web slugs. Max 25."
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"ids"
]
}🟢get_facility_changes(id, from, to)
Monitor one skilled nursing facility across two CMS monthly files. Defaults to latest vs the prior snapshot. Returns field-level diffs for stars, nurse hours, turnover, inspection score, abuse icon, fines, and occupancy. Care Compare shows this month only — rerun after the next file.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "CMS CCN (provnum) or web slug"
},
"from": {
"type": "string",
"description": "Earlier filedate YYYY-MM-DD. Omit to use the snapshot before to."
},
"to": {
"type": "string",
"description": "Later filedate. Omit to use the latest CMS file."
}
},
"required": [
"id"
]
}🟢get_facility(id, filedate)
Get one certified skilled nursing facility by CMS CCN (provnum) or web slug. Returns the same decision fields as search_facilities: ratings, nurse hours (HPRD), nurse/RN turnover, weighted inspection score, beds, fines, abuse/SFF flags, and maps deep-links. Use data_as_of as the CMS vintage; do not invent ratings or hours that are missing. Defaults to the latest monthly snapshot; pass filedate from list_file_dates for a prior month.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"id"
]
}🟢get_facility_ownership(id, filedate)
Get CMS ownership records for one facility — who owns or manages the building. Defaults to the latest CMS monthly snapshot; pass filedate from list_file_dates to query a prior month.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"id"
]
}🟢search_owners(q, limit, offset, filedate)
Search nursing-home owners by name. Defaults to the latest CMS monthly snapshot; pass filedate from list_file_dates to query a prior month.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string"
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"q"
]
}🟢get_owner(web_owner, filedate)
Get an owner portfolio by web_owner slug, including facility names, locations, and overall stars. Defaults to the latest CMS monthly snapshot; pass filedate from list_file_dates to query a prior month.
入力スキーマ
{
"type": "object",
"properties": {
"web_owner": {
"type": "string"
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
},
"required": [
"web_owner"
]
}🟢list_file_dates
List CMS monthly snapshot dates available in the database (newest first), plus the current filedate and known unpublished months. Use a returned date as filedate on other tools to retrieve a prior month instead of the latest data.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢list_distinct_values(field, state, filedate)
List distinct CMS ProviderInfo values and counts for a field. Omit field to see the catalog. Use field=ownership before search_facilities to get the 13 ownership types. city requires state.
入力スキーマ
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"ownership",
"state",
"city",
"sffstatus",
"abuse_icon",
"certification",
"inhosp",
"ccrc_facil",
"overall_rating",
"survey_rating",
"quality_rating",
"staffing_rating",
"oldsurvey",
"chow_last_12mos",
"chainname",
"chain_name",
"chainid",
"chain_id"
],
"description": "ProviderInfo field. Omit to list allowed fields. ownership is the search_facilities filter."
},
"state": {
"type": "string",
"description": "Optional two-letter state. Required when field=city."
},
"filedate": {
"type": "string",
"description": "Optional CMS monthly snapshot (YYYY-MM-DD or YYYY-MM). Defaults to the latest file. Call list_file_dates first for available dates."
}
}
}🟢get_data_freshness
Get latest source dataset dates and row counts. For prior months, call list_file_dates and pass filedate to other tools.
入力スキーマ
{
"type": "object",
"properties": {}
}コミュニティ
エビデンス