← WebMCP Directory

Tool tree

nursa.com

Productivity & BusinessTools verified
Website
Search open nursing shifts by license, state, specialty, pay, and date, powered by Nursa's public shift API.
Explore capabilities
    search_shiftsAnswer

    Search open nursing shifts on Nursa's public shift marketplace by license, state, specialty, minimum hourly pay, date range, and free text. Returns up to 10 compact results for the requested page, plus the total match count and whether more pages are available. Each shift includes a human-readable time label plus unambiguous ISO 8601 start/end timestamps with UTC offset — use those for any date reasoning. This tool only returns data — it does not change the shift list visible on screen; call apply_filters to make the human's visible list match.

    View tool JSON
    {
      "name": "search_shifts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search open nursing shifts on Nursa's public shift marketplace by license, state, specialty, minimum hourly pay, date range, and free text. Returns up to 10 compact results for the requested page, plus the total match count and whether more pages are available. Each shift includes a human-readable time label plus unambiguous ISO 8601 start/end timestamps with UTC offset — use those for any date reasoning. This tool only returns data — it does not change the shift list visible on screen; call apply_filters to make the human's visible list match.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "licenses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "CRMA",
                "CG",
                "CNA",
                "CNA-II",
                "RN",
                "CMA",
                "LPN",
                "GNA",
                "QMAP"
              ]
            },
            "description": "License codes to filter by (e.g. \"RN\", \"LPN\"). Valid values: CRMA, CG, CNA, CNA-II, RN, CMA, LPN, GNA, QMAP."
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY",
                "DC"
              ]
            },
            "description": "Two-letter USPS state codes to filter by (e.g. \"UT\", \"CA\"). Valid values: AL, AK, AZ, AR, CA, CO, CT, DE, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME, MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY, DC."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "SNF",
                "MSTELE",
                "ACU",
                "LTACH",
                "HH",
                "MC",
                "VENT",
                "ESF",
                "BH",
                "AL",
                "PSYCH",
                "ICU",
                "HOS",
                "CCRC",
                "TELE",
                "GERO",
                "DIA",
                "IC",
                "MS",
                "PT",
                "RHB",
                "PED",
                "LTC",
                "OCC"
              ]
            },
            "description": "Specialty acronyms to filter by (e.g. \"ICU\", \"ER\"). Valid values: SNF, MSTELE, ACU, LTACH, HH, MC, VENT, ESF, BH, AL, PSYCH, ICU, HOS, CCRC, TELE, GERO, DIA, IC, MS, PT, RHB, PED, LTC, OCC."
          },
          "fromDate": {
            "type": "string",
            "format": "date",
            "description": "Start of the shift date range (inclusive), as an ISO 8601 date \"YYYY-MM-DD\", e.g. \"2026-09-07\". Set fromDate alone for an open-ended range with no upper bound (e.g. \"from September 7th on\"); set both fromDate and toDate for a bounded range."
          },
          "toDate": {
            "type": "string",
            "format": "date",
            "description": "End of the shift date range (inclusive), as an ISO 8601 date \"YYYY-MM-DD\", e.g. \"2026-09-30\". Set toDate alone for an open-ended range with no lower bound (e.g. \"through September 30th\"); set both fromDate and toDate for a bounded range."
          },
          "minHourlyPay": {
            "type": "number",
            "minimum": 1,
            "description": "Minimum acceptable hourly pay rate, in US dollars. Omit or pass 0 for no pay filter — the backend rejects values below 1, so 0/omitted means unfiltered rather than 'zero dollars minimum'."
          },
          "searchQuery": {
            "type": "string",
            "description": "Free-text search across facility name and other shift fields."
          },
          "page": {
            "type": "number",
            "minimum": 0,
            "description": "Zero-based page index; each page returns at most 10 results."
          }
        }
      },
      "page": "/utilities/agentic-shift-search"
    }
    apply_filtersAction

    Apply search filters to the shift list currently visible on screen, so the human sees the same results the agent is discussing. Accepts the same filter fields as search_shifts (without page). Pass reset: true to clear all filters instead, ignoring every other field. Returns the resulting active filter state as confirmation.

    View tool JSON
    {
      "name": "apply_filters",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply search filters to the shift list currently visible on screen, so the human sees the same results the agent is discussing. Accepts the same filter fields as search_shifts (without page). Pass reset: true to clear all filters instead, ignoring every other field. Returns the resulting active filter state as confirmation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "licenses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "CRMA",
                "CG",
                "CNA",
                "CNA-II",
                "RN",
                "CMA",
                "LPN",
                "GNA",
                "QMAP"
              ]
            },
            "description": "License codes to filter by (e.g. \"RN\", \"LPN\"). Valid values: CRMA, CG, CNA, CNA-II, RN, CMA, LPN, GNA, QMAP."
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY",
                "DC"
              ]
            },
            "description": "Two-letter USPS state codes to filter by (e.g. \"UT\", \"CA\"). Valid values: AL, AK, AZ, AR, CA, CO, CT, DE, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME, MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY, DC."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "SNF",
                "MSTELE",
                "ACU",
                "LTACH",
                "HH",
                "MC",
                "VENT",
                "ESF",
                "BH",
                "AL",
                "PSYCH",
                "ICU",
                "HOS",
                "CCRC",
                "TELE",
                "GERO",
                "DIA",
                "IC",
                "MS",
                "PT",
                "RHB",
                "PED",
                "LTC",
                "OCC"
              ]
            },
            "description": "Specialty acronyms to filter by (e.g. \"ICU\", \"ER\"). Valid values: SNF, MSTELE, ACU, LTACH, HH, MC, VENT, ESF, BH, AL, PSYCH, ICU, HOS, CCRC, TELE, GERO, DIA, IC, MS, PT, RHB, PED, LTC, OCC."
          },
          "fromDate": {
            "type": "string",
            "format": "date",
            "description": "Start of the shift date range (inclusive), as an ISO 8601 date \"YYYY-MM-DD\", e.g. \"2026-09-07\". Set fromDate alone for an open-ended range with no upper bound (e.g. \"from September 7th on\"); set both fromDate and toDate for a bounded range."
          },
          "toDate": {
            "type": "string",
            "format": "date",
            "description": "End of the shift date range (inclusive), as an ISO 8601 date \"YYYY-MM-DD\", e.g. \"2026-09-30\". Set toDate alone for an open-ended range with no lower bound (e.g. \"through September 30th\"); set both fromDate and toDate for a bounded range."
          },
          "minHourlyPay": {
            "type": "number",
            "minimum": 1,
            "description": "Minimum acceptable hourly pay rate, in US dollars. Omit or pass 0 for no pay filter — the backend rejects values below 1, so 0/omitted means unfiltered rather than 'zero dollars minimum'."
          },
          "searchQuery": {
            "type": "string",
            "description": "Free-text search across facility name and other shift fields."
          },
          "reset": {
            "type": "boolean",
            "description": "When true, clears all filters back to their defaults and ignores every other input field."
          }
        }
      },
      "page": "/utilities/agentic-shift-search"
    }