Koskamo

Good Turn Studio Appeal My Claim MCP

A read-only MCP server that helps US users appeal denied health insurance claims by explaining appeal rights and deadlines, decoding denial codes from Explanation of Benefits, and drafting appeal letters for review and submission.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Good Turn Studio Appeal My Claim MCP logo, by Good Turn StudioCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Good Turn Studio
MCP endpoint (Streamable HTTP)
https://goodturn-mcp.pages.dev/appealmyclaim/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

4 of 4 have a description · 4 of 4 declare behavior hints · 4 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check appeal rights and steps for a specific plan type and state
  • Determine deadlines for filing an appeal
  • Explain denial codes like CO-50 or PR-204 in plain language
  • Draft an appeal letter based on the denial reason

Source and maintenance

Community listingRegistry 1.1.1
Maintenance checked

Protocol and capabilities

Server
goodturn-appealmyclaim 1.1.1
MCP protocol negotiated in check
2025-11-25
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Helps people in the US appeal a denied health insurance claim. Explains appeal rights and deadlines for private plans (job-based, Marketplace and individual, under the Affordable Care Act and ERISA), Original Medicare, Medicare Advantage, Medicare drug plans and Medicaid, points to each state's insurance department or Medicaid agency for free help (all 50 states, DC and Puerto Rico), decodes the denial codes on an Explanation of Benefits (like CO-50 or PR-204) in plain words, and drafts appeal letters by denial reason or code for the user to review and send. Every tool is read-only and nothing about the user is stored. Where an answer has a "say" field, it is a ready-to-read summary. More at https://appealmyclaim.pages.dev

Tools

4 advertised

get_appeal_rights — Appeal rights, steps and free help for a plan type and state
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Appeal rights, steps and free help for a plan type and state. For requests like "what are my appeal rights in California?", "my insurer denied my claim, what can I do?" or "how do Medicare appeals work?". Returns who decides, the steps (internal appeal, external review, Medicare levels or Medicaid fair hearing), deadlines, and where to get free help, including the state insurance department. If the plan type is not known, leave it out to get the rules for most private plans.

get_appeal_rights input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "state": {
      "type": "string",
      "description": "US state name or two-letter code, like California or CA. Puerto Rico works too."
    },
    "plan_type": {
      "type": "string",
      "description": "Plan type: marketplace, employer, employer_insured, employer_self_funded, medicare, medicare_advantage, part_d or medicaid. Everyday words work too, like \"job\", \"Obamacare\" or \"Medi-Cal\". Default: most private plans."
    }
  },
  "additionalProperties": false
}
get_appeal_rights annotations
{
  "title": "Appeal rights, steps and free help for a plan type and state",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_appeal_deadlines — How long someone has to appeal, and how fast the plan must decide
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

How long someone has to appeal, and how fast the plan must decide. For requests like "how long do I have to appeal?", "when is my appeal due?" or "how fast does my insurer have to answer?". With the date on the denial notice, gives an approximate file-by date. The date on the user's own notice is the one that counts.

get_appeal_deadlines input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "urgent": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Set to yes if waiting could seriously harm the person's health."
    },
    "plan_type": {
      "type": "string",
      "description": "Same values as plan_type in get_appeal_rights. Default: most private plans."
    },
    "denial_date": {
      "type": "string",
      "description": "Date on the denial notice, like 2026-09-01, 09/01/2026 or September 1, 2026."
    }
  },
  "additionalProperties": false
}
get_appeal_deadlines annotations
{
  "title": "How long someone has to appeal, and how fast the plan must decide",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_denial_code — Explain the denial codes on an Explanation of Benefits
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Explain the denial codes on an Explanation of Benefits. For requests like "my EOB says CO-50, what does that mean?", "what is denial code PR 204?" or "what does N130 mean?". Returns each code in plain words, who usually fixes it (the provider's billing office, an appeal, or the user), whether the provider can bill the user for it (from the group code CO, PR, OA or PI), and a letter link when an appeal fits.

explain_denial_code input schema
{
  "type": "object",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "One to four codes from the notice, like CO-50, PR 204, 197 or N130."
    },
    "plan_type": {
      "type": "string",
      "description": "Same values as plan_type in get_appeal_rights. Carried into the letter link."
    }
  },
  "additionalProperties": false
}
explain_denial_code annotations
{
  "title": "Explain the denial codes on an Explanation of Benefits",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
draft_appeal_letter — Draft an appeal letter for the user to review and send
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Draft an appeal letter for the user to review and send. For requests like "my insurer denied my MRI as not medically necessary, help me appeal" or "write an appeal letter for an out-of-network denial". Returns a letter as plain text with [brackets] for anything not given, a checklist of what to attach (denial notice, doctor's letter of medical necessity, records), and tips. It never sends or files anything.

draft_appeal_letter input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "date": {
      "type": "string",
      "description": "Date of service."
    },
    "name": {
      "type": "string",
      "description": "Member's name."
    },
    "plan": {
      "type": "string",
      "description": "Insurer or plan name."
    },
    "claim": {
      "type": "string",
      "description": "Claim or reference number."
    },
    "doctor": {
      "type": "string",
      "description": "Treating doctor's name."
    },
    "reason": {
      "enum": [
        "medical_necessity",
        "emergency",
        "experimental",
        "out_of_network",
        "prior_auth",
        "coding",
        "generic"
      ],
      "type": "string",
      "description": "Why the claim was denied: medical_necessity, emergency (said it wasn't an emergency), experimental, out_of_network, prior_auth, coding or generic. Required unless denial_code is given."
    },
    "urgent": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Set to yes to ask for an expedited review."
    },
    "details": {
      "type": "string",
      "description": "A sentence or two in the user's words on why the care should be covered."
    },
    "service": {
      "type": "string",
      "description": "The care that was denied, like \"MRI of the right knee\"."
    },
    "provider": {
      "type": "string",
      "description": "Hospital, clinic or provider name."
    },
    "member_id": {
      "type": "string",
      "description": "Member ID or Medicare number."
    },
    "plan_type": {
      "type": "string",
      "description": "Same values as plan_type in get_appeal_rights. Changes the wording for Medicare."
    },
    "denial_code": {
      "type": "string",
      "description": "The reason code on the notice, like CO-50 or PR-197. Picks the reason when reason is left out, and is quoted in the letter."
    },
    "denial_date": {
      "type": "string",
      "description": "Date on the denial notice."
    }
  },
  "additionalProperties": false
}
draft_appeal_letter annotations
{
  "title": "Draft an appeal letter for the user to review and send",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
245 ms
95th percentile latency
245 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 245 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http appeal-my-claim-mcp https://goodturn-mcp.pages.dev/appealmyclaim/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add appeal-my-claim-mcp --url https://goodturn-mcp.pages.dev/appealmyclaim/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable appeal-my-claim-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "appeal-my-claim-mcp": {
      "url": "https://goodturn-mcp.pages.dev/appealmyclaim/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "appeal-my-claim-mcp": {
      "type": "streamableHttp",
      "url": "https://goodturn-mcp.pages.dev/appealmyclaim/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start appeal-my-claim-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "appeal-my-claim-mcp": {
      "type": "http",
      "url": "https://goodturn-mcp.pages.dev/appealmyclaim/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http appeal-my-claim-mcp https://goodturn-mcp.pages.dev/appealmyclaim/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://goodturn-mcp.pages.dev/appealmyclaim/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "appeal-my-claim-mcp": {
      "serverUrl": "https://goodturn-mcp.pages.dev/appealmyclaim/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Good Turn Studio Appeal My Claim MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.