Skip to main content
Glama

Appeal My Claim: Draft an appeal letter for the user to review and send

appealmyclaim_draft_appeal_letter
Read-onlyIdempotent

Appeal My Claim. 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDate of service.
nameNoMember's name.
planNoInsurer or plan name.
claimNoClaim or reference number.
doctorNoTreating doctor's name.
reasonNoWhy 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.
urgentNoSet to yes to ask for an expedited review.
detailsNoA sentence or two in the user's words on why the care should be covered.
serviceNoThe care that was denied, like "MRI of the right knee".
providerNoHospital, clinic or provider name.
member_idNoMember ID or Medicare number.
plan_typeNoSame values as plan_type in get_appeal_rights. Changes the wording for Medicare.
denial_codeNoThe 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_dateNoDate on the denial notice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / plan_type / description
      Previous value: -"Same values as /v1/rights. Changes the wording for Medicare."New value: +"Same values as plan_type in get_appeal_rights. Changes the wording for Medicare."
    • changedInput schema / properties / reason / description
      Previous value: -"Why the claim was denied: medical_necessity, emergency (said it wasn't an emergency), experimental, out_of_network, prior_auth, coding or generic. Plain words work too. Required unless denial_code is given."New value: +"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."
    • changedInput schema / properties / urgent / description
      Previous value: -"yes to ask for an expedited review."New value: +"Set to yes to ask for an expedited review."
  2. First observed

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, and the description confirms it 'never sends or files anything' – consistent, no contradiction. It adds the return shape (plain text with [brackets], checklist, tips), which is useful, but says nothing about authoritativeness, jurisdiction limits, or whether the letter is legally reviewed. With annotations carrying the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose then examples then return behavior, with no filler. The opening restates the title ('Draft an appeal letter for the user to review and send'), which is mild redundancy, but everything else earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by describing what the letter, checklist, and tips contain and by clarifying the tool's non-action boundary. For a 14-parameter tool it is reasonably complete, though it does not mention that most parameters are optional or how missing fields degrade the draft.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 14 parameters, so the schema already documents each field, its enum values, and the reason/denial_code relationship. The description only alludes to placeholders for missing values ('anything not given') and adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Draft') and resource ('appeal letter') and immediately scopes it with example requests ('my insurer denied my MRI', 'out-of-network denial') that agents can pattern-match to user intent. It is clearly distinguishable from siblings like get_appeal_rights and explain_denial_code, which supply inputs rather than produce a letter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The two quoted example requests give concrete triggering conditions for when to invoke this tool, and the closing sentence establishes that it is for drafting only. It does not explicitly say when NOT to use it or point to a sibling for the underlying rights/deadline lookups, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.