# com.medigami/mcp: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.medigami%2Fmcp/versions/latest)
- Connected to: https://mcp.medigami.com/public/mcp
- Homepage: https://medigami.com/mcp
- Scoring rules: v2
- Tools: 87
- Average: 50.8 / 100 (Cloudy)
- Near-identical pairs: 161

This page shows how com.medigami/mcp's tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 87 tools. Above 40, models choose less accurately.
- Minor: 161 pairs with nearly the same description in all; the top 12 are shown.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `generate_appeal_letter_v2`: 25 / 100
  - Major: Arguments without a description: insurer, denial_reason, cpt_code, diagnosis, amount, state.
  - Minor: String arguments with no constraint or example: insurer, denial_reason, cpt_code, diagnosis, state.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `bundling_violation_detector`: 30 / 100
  - Major: Arguments without a description: cpt_codes, payer.
  - Minor: String arguments with no constraint or example: payer.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `appeal_success_predictor`: 32 / 100
  - Major: Arguments without a description: insurer, denial_reason, cpt_code, state.
  - Minor: String arguments with no constraint or example: insurer, denial_reason, cpt_code, state.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cash_vs_insurance_optimizer`: 32 / 100
  - Major: Arguments without a description: cpt_code, insurance_cost_estimate, cash_price, deductible_remaining.
  - Minor: String arguments with no constraint or example: cpt_code.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `financial_risk_exposure_model`: 32 / 100
  - Major: Arguments without a description: plan_id, household_income, emergency_savings, chronic_conditions.
  - Minor: String arguments with no constraint or example: plan_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: plan_id. Name the tool or the place that returns it, or models look it up first.
- `appeal_argument_generator`: 34 / 100
  - Major: Arguments without a description: denial_code, cpt_code, icd10_code, insurer.
  - Minor: String arguments with no constraint or example: denial_code, cpt_code, icd10_code, insurer.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `negotiation_strategy_generator`: 34 / 100
  - Major: Arguments without a description: bill_amount, provider, situation, insurance_status.
  - Minor: String arguments with no constraint or example: provider, insurance_status.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `negotiate_bill_script`: 35 / 100
  - Major: Arguments without a description: cpt_code, billed_amount, insurer, zip3, household_income_annual, household_size, state.
  - Minor: String arguments with no constraint or example: cpt_code, insurer, zip3, state.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cash_price_estimator`: 37 / 100
  - Major: Arguments without a description: cpt_code, zip3.
  - Minor: String arguments with no constraint or example: cpt_code, zip3.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `claim_duplicate_line_detector`: 37 / 100
  - Major: Arguments without a description: claim.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `fair_price_estimator`: 38 / 100
  - Minor: Arguments without a description: cpt_code.
  - Minor: String arguments with no constraint or example: cpt_code.
  - Minor: Says nothing about what it returns.
- `insurance_plan_optimizer`: 38 / 100
  - Major: Arguments without a description: zip_code, household_size, income_band, chronic_conditions.
  - Minor: String arguments with no constraint or example: zip_code, income_band.
  - Minor: The description mentions none of its 3 or more arguments.
- `settlement_optimizer`: 38 / 100
  - Major: Arguments without a description: bill_amount, provider, dispute_leverage.
  - Minor: String arguments with no constraint or example: provider.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `billing_charge_vs_allowed_delta`: 40 / 100
  - Major: Arguments without a description: billed_usd, allowed_usd.
- `price_variance_analyzer`: 40 / 100
  - Major: Arguments without a description: cpt_code, zip3.
  - Minor: String arguments with no constraint or example: cpt_code, zip3.
  - Minor: The description mentions none of its 3 or more arguments.
- `estimate_appeal_success`: 41 / 100
  - Major: Arguments without a description: insurer, cpt_code, diagnosis, state, amount.
  - Minor: String arguments with no constraint or example: insurer, cpt_code.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `healthcare_budget_forecaster`: 42 / 100
  - Major: Arguments without a description: plan_deductible_usd, plan_oop_max_usd.
  - Minor: No `required` list, so every argument is optional.
- `inflation_adjusted_price_model`: 42 / 100
  - Major: Arguments without a description: base_amount_usd, years.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `insurance_response_interpreter`: 42 / 100
  - Minor: Arguments without a description: response_type.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `maximize_recovery`: 42 / 100
  - Major: Arguments without a description: scan_id.
  - Minor: String arguments with no constraint or example: scan_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `patient_cost_forecaster`: 42 / 100
  - Minor: Arguments without a description: plan_id.
  - Minor: String arguments with no constraint or example: plan_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: plan_id. Name the tool or the place that returns it, or models look it up first.
- `payment_plan_optimizer`: 42 / 100
  - Major: Arguments without a description: balance_usd, months.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `denial_response_builder`: 43 / 100
  - Major: Arguments without a description: insurer, cpt_code, amount.
  - Minor: String arguments with no constraint or example: insurer, cpt_code.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `explain_appeal_success`: 43 / 100
  - Major: Arguments without a description: insurer, denial_reason, cpt_code, diagnosis, state, amount.
  - Minor: String arguments with no constraint or example: insurer, denial_reason, cpt_code, state.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `optimize_prescription`: 43 / 100
  - Major: Arguments without a description: drug_name, current_insurance_cost_30day, is_maintenance_med, ndc_code, zip_code.
  - Minor: String arguments with no constraint or example: drug_name, ndc_code, zip_code.
  - Minor: The meaning of the boolean argument is_maintenance_med is unclear.
- `resolve_denial`: 43 / 100
  - Major: Arguments without a description: insurer, denial_reason, cpt_code, diagnosis, state, amount.
  - Minor: String arguments with no constraint or example: insurer, denial_reason, cpt_code, state.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `analyze_glp1_pathways`: 45 / 100
  - Major: Arguments without a description: bmi, insurer, has_diabetes, has_cvd, medicare, state, current_copay.
  - Minor: String arguments with no constraint or example: insurer, state.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument has_diabetes is unclear.
  - Minor: The meaning of the boolean argument has_cvd is unclear.
  - Minor: The meaning of the boolean argument medicare is unclear.
- `claim_consistency_checker`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `code_conflict_detector`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `deductible_impact_calculator`: 47 / 100
  - Major: Arguments without a description: charge_usd, deductible_remaining_usd.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `financial_exposure_model`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `unbundling_detector`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `batch_scan_bills`: 48 / 100
  - Major: Arguments without a description: bills, bills[].bill_text, bills[].provider, bills[].insurer.
- `watch_claim_denial`: 48 / 100
  - Major: Arguments without a description: scan_id, timeout_seconds.
  - Minor: Required identifiers whose description does not say where the value comes from: scan_id. Name the tool or the place that returns it, or models look it up first.
- `bill_shock_predictor`: 52 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `code_bundle_validator`: 52 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_venue`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
- `resolve_codes`: 52 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `verify_attestation`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
- `appeal_escalation_path_finder`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `claim_rebuttal_generator`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `claim_reconsideration_builder`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `copay_model`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `denial_reason_classifier`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `dispute_case_builder`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `evidence_pack_generator`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `financial_assistance_finder`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `insurance_value_optimizer`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `medical_spending_analyzer`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `out_of_pocket_optimizer`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `patient_cost_explainer`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `patient_financial_risk_score`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `payer_specific_appeal_templates`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `procedure_affordability_ranker`: 54 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `scan_bill_for_errors`: 54 / 100
  - Major: Arguments without a description: provider, insurer, total, zip_code.
  - Minor: String arguments with no constraint or example: provider, insurer, zip_code.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `supporting_document_selector`: 54 / 100
  - Minor: String arguments with no constraint or example: denial_reason.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `coinsurance_simulator`: 55 / 100
  - Minor: Arguments without a description: charge_usd.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `verify_mcp_response`: 55 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `cpt_to_icd_mapper`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `denial_code_explainer`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `icd_to_cpt_mapper`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `lookup_provider_taxonomy`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `market_price_distribution_model`: 57 / 100
- `overpriced_service_detector`: 57 / 100
- `price_anomaly_detector`: 57 / 100
- `price_outlier_detector`: 57 / 100
- `price_recommendation_engine`: 57 / 100
- `procedure_cost_decomposition`: 57 / 100
- `regional_price_benchmark`: 57 / 100
- `specialty_price_benchmark`: 57 / 100
- `treatment_cost_comparator`: 57 / 100
- `zip_based_price_variance`: 57 / 100
- `watch_appeal_outcome`: 58 / 100
  - Major: Arguments without a description: tracking_id, timeout_seconds.
- `submit_denial_letter`: 59 / 100
  - Minor: Arguments without a description: cpt_code, amount, days_to_resolution.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `format_medigami_citation`: 60 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `get_appeal_deadline`: 60 / 100
- `lookup_cpt`: 60 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `lookup_npi`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `decode_denial`: 63 / 100
- `format_citation`: 65 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `verify_dea_authorization`: 66 / 100
  - Minor: Says nothing about what it returns.
- `lookup_icd10`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `medigami_rate`: 67 / 100
- `medigami_roast`: 70 / 100
- `medigami_deadline`: 72 / 100
- `medigami_odds`: 72 / 100
- `generate_appeal_letter`: 75 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
