costkits-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COSTKITS_API_KEY | No | Your costkits API key (ck_...). Required for all tools except demo_estimate. | |
| COSTKITS_API_BASE | No | Base URL for the CostKits API. Default: https://api.costkits.com | https://api.costkits.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| demo_estimateA | Static sample cost estimate (colonoscopy in Connecticut) from the CostKits API. Works with NO API key — use it to verify connectivity and see the response shape. |
| estimate_procedure_costA | Estimate what a medical procedure costs in a US state: allowed-amount range (low/median/high), billing components, risk flags, and — if insurance details are given — the patient's expected out-of-pocket. Use resolve_procedure first if the user gave a free-text procedure name. Always present ranges, not single numbers, and cite the returned data_vintage. |
| calculate_liabilityA | Stateless insurance math: given an allowed amount and a plan snapshot (deductible, coinsurance, OOP max), returns exact patient responsibility, plan payment, and the breakdown, plus p25/p75 scenarios. Use when you already have a dollar amount (e.g. from an EOB or a prior estimate). |
| full_estimateA | One call chaining procedure ontology + cost + providers + patient liability. Cheapest way (one metered request) to get the complete picture. Use |
| find_providersA | Find healthcare providers for a procedure in a US state. Each provider has pricing_status: 'observed' (real negotiated rate from hospital transparency data — prefer these), 'estimated', or 'none'. Set cluster=true for city-level groups with lat/lng. |
| get_providerA | Public profile for a single provider by 10-digit NPI number: name, specialty, address, entity type. |
| resolve_procedureA | Fuzzy-match a free-text procedure name ('knee mri', 'gallbladder removal') to a canonical slug with confidence scores. Call this BEFORE estimate tools whenever the user's wording might not be an exact slug. |
| list_proceduresA | The full CostKits catalog: 30 procedures with slugs, display names, categories, and CPT codes (paginated). |
| get_procedure_detailsA | Structured knowledge about one procedure. aspect='facts' returns LLM-ready billing rules and cost drivers (best for grounding an answer); 'bundle' explains which separate bills to expect (facility, physician, anesthesia...); 'full' returns the complete ontology. |
| get_coverageA | Insurance coverage rules for a procedure/carrier combination. aspect: 'summary' (status + plain English), 'prior-auth', 'cost-sharing' (deductible/coinsurance/ACA preventive), 'frequency' (how often covered, age rules), or 'triggers' (Pro plan: billing events that flip a $0 preventive claim to diagnostic — the highest-signal aspect). |
| list_carriersA | All insurance carrier keys supported by the coverage tools (aetna, cigna, bcbs, medicare, ...). Works on the Free plan — also a good API-key sanity check. |
| analyze_billA | Detect anomalies in medical bill line items (Pro plan): duplicate charges, unbundling, quantity errors, screening-to-diagnostic reclassification. Returns a risk score, flags, and a consumer-language summary. Stateless — send only codes and amounts, never patient identity fields. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool has a clearly distinct purpose: analyzing bills, calculating insurance liability, estimating costs, finding providers, obtaining coverage details, etc. There is minimal overlap, and composite tools like full_estimate are clearly defined as aggregations of other functionalities.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_bill, calculate_liability, list_procedures). Even demo_estimate and full_estimate fit the pattern, using descriptive verbs. No mixing of conventions.
With 12 tools, the server is well-scoped for medical cost estimation. The number is neither too few nor excessive; each tool serves a necessary function in the workflow, from procedure resolution to provider search and liability calculation.
The tool surface covers the full lifecycle of cost estimation: procedure lookup, fuzzy matching, cost estimation, provider discovery, insurance coverage, liability calculation, bill analysis, and a composite endpoint. No obvious gaps for the stated purpose.