Serveur MCP

Nursing Home Database

com.nursinghomedatabase/mcp

Ce que fait ce MCP

Searches, compares, and analyzes US certified skilled-nursing facilities and ownership using CMS data, including ratings, staffing, inspections, fines, changes, and portfolios.

compare_facilities
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.
Schéma d’entrée
{'type': 'object', 'required': ['ids'], '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.'}}}
get_data_freshness
Get latest source dataset dates and row counts. For prior months, call list_file_dates and pass filedate to other tools.
Schéma d’entrée
{'type': 'object', 'properties': {}}
get_facility
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.
Schéma d’entrée
{'type': 'object', 'required': ['id'], '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.'}}}
get_facility_changes
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.
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'CMS CCN (provnum) or web slug'}, 'to': {'type': 'string', 'description': 'Later filedate. Omit to use the latest CMS file.'}, 'from': {'type': 'string', 'description': 'Earlier filedate YYYY-MM-DD. Omit to use the snapshot before to.'}}}
get_facility_ownership
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.
Schéma d’entrée
{'type': 'object', 'required': ['id'], '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.'}}}
get_owner
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.
Schéma d’entrée
{'type': 'object', 'required': ['web_owner'], 'properties': {'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.'}, 'web_owner': {'type': 'string'}}}
list_distinct_values
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.
Schéma d’entrée
{'type': 'object', 'properties': {'field': {'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'], 'type': 'string', '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.'}}}
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.
Schéma d’entrée
{'type': 'object', 'properties': {}}
search_facilities
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.
Schéma d’entrée
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'sort': {'enum': ['overall_rating', 'survey_rating', 'quality_rating', 'staffing_rating', 'distance', 'tothrd', 'total_nurse_hours', 'totalnursingstaffturnover', 'nurse_turnover', 'weighted_all_cycles_score', 'survey_score'], 'type': 'string', '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'}, 'state': {'type': 'string'}, 'offset': {'type': 'integer'}, '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.'}, '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.'}, '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").'}, 'sffstatus': {'type': 'string', 'description': 'When truthy, keep only Special Focus Facility or candidate homes (non-empty sffstatus).'}, 'abuse_icon': {'type': 'string', 'description': 'CMS abuse icon filter. Y/yes/true/1 keeps only flagged homes; other values keep homes without the flag.'}, 'radius_miles': {'type': 'number'}, 'max_overall_rating': {'type': 'integer', 'description': 'Maximum CMS overall star rating (1-5).'}, 'min_overall_rating': {'type': 'integer', 'description': 'Minimum CMS overall star rating (1-5).'}}}
search_facilities_by_ownership
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.
Schéma d’entrée
{'type': 'object', 'required': ['ownership'], 'properties': {'q': {'type': 'string'}, 'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'sort': {'enum': ['overall_rating', 'survey_rating', 'quality_rating', 'staffing_rating', 'distance', 'tothrd', 'total_nurse_hours', 'totalnursingstaffturnover', 'nurse_turnover', 'weighted_all_cycles_score', 'survey_score'], 'type': 'string'}, 'limit': {'type': 'integer'}, 'state': {'type': 'string'}, 'offset': {'type': 'integer'}, '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.'}, '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.'}, '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".'}, 'radius_miles': {'type': 'number'}, 'max_overall_rating': {'type': 'integer'}, 'min_overall_rating': {'type': 'integer'}}}
search_owners
Search nursing-home owners by name. Defaults to the latest CMS monthly snapshot; pass filedate from list_file_dates to query a prior month.
Schéma d’entrée
{'type': 'object', 'required': ['q'], '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.'}}}
summarize_facilities
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.
Schéma d’entrée
{'type': 'object', 'required': ['metrics'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string', 'description': 'City filter. Requires state.'}, 'state': {'type': 'string'}, 'metrics': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1, '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).'}, '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.'}, 'group_by': {'enum': ['ownership', 'ownership_kind', 'state', 'overall_rating', 'staffing_rating', 'survey_rating', 'quality_rating', 'sffstatus', 'abuse_icon'], 'type': 'string', '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.'}, 'sffstatus': {'type': 'string'}, 'abuse_icon': {'type': 'string'}, 'include_median': {'type': 'boolean', 'description': 'When true, each stats object also includes median. Default false.'}, 'max_overall_rating': {'type': 'integer'}, 'min_overall_rating': {'type': 'integer'}}}
Modifié
search_facilities_by_ownership
25 September 2026 03:02
Modifié
search_facilities
25 September 2026 03:02
Ajouté
list_distinct_values
23 September 2026 02:53
Ajouté
summarize_facilities
23 September 2026 02:53
Ajouté
search_facilities_by_ownership
23 September 2026 02:53
Modifié
search_facilities
23 September 2026 02:53
Ajouté
get_data_freshness
17 September 2026 12:36
Ajouté
list_file_dates
17 September 2026 12:36
Ajouté
get_owner
17 September 2026 12:36
Ajouté
search_owners
17 September 2026 12:36
Ajouté
get_facility_ownership
17 September 2026 12:36
Ajouté
get_facility
17 September 2026 12:36
Ajouté
get_facility_changes
17 September 2026 12:36
Ajouté
compare_facilities
17 September 2026 12:36
Ajouté
search_facilities
17 September 2026 12:36