Med Bill Check
by GoodTurnStudio · remote · no sign-in to list tools · v1.2.0 · published by GitHub user GoodTurnStudio
Is your US medical bill fair? Compares charges with Medicare rates and drafts a dispute letter.
5 tools: 4 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http medbillcheck https://goodturn-mcp.pages.dev/medbillcheck/mcpFindings
Matches of fixed checks, with the text they matched.
- Warncheck_price
The server marks "check_price" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "compare": a word for reading.
The server marks "draft_bill_letter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Changes things 4Claude Code: ask
check_priceCompare a charge with Medicare's rate for one service.1 finding
Why it is in this group
- The description's first verb is "compare": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_price" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compare a charge with Medicare's rate for one service. For when someone asks whether a charge is high or what Medicare pays, for example "I was charged $450 for a 99213 office visit in Texas, is that too high?" or "what does Medicare pay for an MRI of the knee?". Takes the billing code if they have it, otherwise the service in plain words as q. Returns Medicare's 2026 rate for the state (or the city's own pricing area when city is given) in medicare_2026, the amount providers typically billed in 2024, and how many times the Medicare rate the charge is. For care in a hospital, hospital_facility_2026 gives Medicare's national rate for the hospital's own facility fee and comparison.compared_with says what the charge was set against. Dental work has no Medicare rate and returns 404 with a pointer to a free dental cost source.
Annotations the server declares
- title: Compare a charge with Medicare's rate for one service
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
check_whole_billCheck several lines of an itemized bill at once.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check several lines of an itemized bill at once. For when someone reads out or pastes several lines from an itemized bill, for example "my ER bill has 99284 for $2,500, 85025 twice for $120 and 36415 three times, does anything look off?". Takes the lines as code, optional x and units, then the amount. Returns each line against Medicare's rate, totals, and questions_to_ask: repeated codes, units above Medicare's automated daily limit, the highest visit levels, hospital clinic facility fees and charges far above what providers typically bill. Lines of a hospital bill (any bill with an ER visit on it, or setting=facility) are compared with Medicare's hospital outpatient rate plus the doctor's part; each such line says compared_with.
Annotations the server declares
- title: Check several lines of an itemized bill at once
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
draft_bill_letterDraft a letter to a billing office for the user to send.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "draft_bill_letter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Draft a letter to a billing office for the user to send. For requests like "help me dispute this bill", "write a letter asking for an itemized bill", "can I ask for a discount?" or "how do I apply for charity care?". Returns a letter as plain text with [brackets] for anything not given, tips, and the user's No Surprises Act and Good Faith Estimate rights with official CMS links. It never sends anything.
Annotations the server declares
- title: Draft a letter to a billing office for the user to send
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
look_up_hospitalWhether a hospital is nonprofit, for financial assistance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Whether a hospital is nonprofit, for financial assistance. For requests like "is St. Luke's in Boise a nonprofit?" or "does this hospital have to offer charity care?". Returns how Medicare lists the hospital's ownership (nonprofit, government, for-profit), its city and main phone number, and what that means for financial assistance. Nonprofit hospitals must have a financial assistance policy.
Annotations the server declares
- title: Whether a hospital is nonprofit, for financial assistance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 1Claude Code: allow
search_servicesFind billing codes and Medicare rates by plain words.No findings
Why it is in this group
- The name "search_services" says "search": a word for reading.
Description, as the server wrote it Find billing codes and Medicare rates by plain words. For when someone describes a service but has no code, or asks what a code means, for example "what's the code for a colonoscopy?", "how much does Medicare pay for a chest x-ray in Ohio?" or "what is code 99214?". Returns up to eight matching codes with Medicare's typical allowed and billed amounts.
Annotations the server declares
- title: Find billing codes and Medicare rates by plain words
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http medbillcheck https://goodturn-mcp.pages.dev/medbillcheck/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__medbillcheck__search_services"
],
"ask": [
"mcp__medbillcheck__check_price",
"mcp__medbillcheck__check_whole_bill",
"mcp__medbillcheck__look_up_hospital",
"mcp__medbillcheck__draft_bill_letter"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as medbillcheck. Review it before you use it.
