Nursing Home Database
MCP server for US nursing facility search and ownership lookup (NursingHomeDatabase).
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.nursinghomedatabase.com/mcp"
}
}
}Remote-Endpunkte
https://mcp.nursinghomedatabase.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Community
Nachweis