Skip to content
The Pocket ProtectorDevelopersVisit TPP ↗

MCP reference

Search Medicare Advantage plans

Use this when someone wants to browse Medicare Advantage plans available in their home area, filtered by familiar plan/insurer name, plan type, drug coverage, special-needs category or stars. For employer-versus-Medicare value requests, use compare_employer_coverage_with_medicare instead. Returns a cost-ordered catalogue comparison: lowest premium, then highest reported Part B giveback, matching the website cost sort. Missing amounts remain unknown. For a best-plan request continue with the personalized ranker and gather its missing inputs. Default is standard plans with drug coverage. Use find_medicare_plans_for_my_doctors for doctor matches, check_plan_drug_coverage for a chosen plan’s medications, or rank_medicare_advantage_plans for personalized ranking. Availability does not establish eligibility. An optional website alternative: TPP’s Plan Comparison. Offer only when requested; chat can continue. Opens a separate flow without transferring answers. For another tool, use recommend_website_tool. Use the app as the answer. Do not repeat its options in a list, table or explanation. Ask one short question if input is required; otherwise stop.

Tool name

search_medicare_advantage_plans

Input schema

{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit ZIP code where the person needs coverage, e.g. \"60614\"."
    },
    "county": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "County chosen by the user from ZIP lookup choices. Omit when unknown; the tool resolves a single county or asks for a choice."
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "description": "Uppercase two-letter state code from the selected county, e.g. NE. Do not infer from the ZIP prefix."
    },
    "plan_year": {
      "type": "integer",
      "minimum": 2024,
      "maximum": 2035,
      "description": "Reuse the requested or previously selected coverage year. If omitted, use the API’s configured serving year and disclose it; do not ask just because the year is missing."
    },
    "coverage_type": {
      "type": "string",
      "enum": [
        "standard-mapd",
        "standard-ma",
        "dsnp",
        "csnp",
        "isnp",
        "all"
      ],
      "default": "standard-mapd",
      "description": "Website coverage filter: standard-mapd = standard plans with drug coverage (default); standard-ma = standard plans without drug coverage; dsnp/csnp = the requested special-needs category; isnp returns no plans (institutional SNPs are not listed on this site); all = explicitly requested all categories. A category match does not establish eligibility."
    },
    "plan_type": {
      "type": "string",
      "enum": [
        "HMO",
        "PPO",
        "PFFS"
      ],
      "description": "Optional Medicare Advantage plan-type filter: \"HMO\", \"PPO\", or \"PFFS\"."
    },
    "q": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "Optional familiar plan or insurer name. Preserve this search term together with coverage, network type and star filters."
    },
    "min_stars": {
      "type": "number",
      "minimum": 0,
      "maximum": 5,
      "description": "Optional minimum CMS overall star rating from 0 through 5, e.g. 4."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 10,
      "description": "Maximum displayed results, from 1 to 10 (default 10)."
    }
  },
  "required": [
    "zip"
  ],
  "additionalProperties": false
}

Example request

Minimal synthetic request after initialization. A missing-input clarification is a valid result; do not invent personal facts to complete it. For content retrieval, replace the illustrative fixture ID with an ID returned by search.

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "search_medicare_advantage_plans",
    "arguments": {
      "zip": "60614"
    }
  }
}

Connection

POST JSON-RPC to https://tools.thepocketprotector.com/mcp with method tools/call, name search_medicare_advantage_plans, and arguments matching the schema above. Call tools/list to verify deployed availability.

Results and errors

Read both content and structuredContent. Follow returned clarification or continuation steps. Preserve source attribution, dates, uncertainty and scope. isError: true means the lookup did not complete. HTTP 429 requires waiting for Retry-After; never repeatedly retry an unavailable lookup.

Tool annotations

{
  "title": "Search Medicare Advantage plans",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}

Authentication: public, no account or API key required. Public tools perform no enrollment or account writes.

Read this page as Markdown