Loa Healthcare Pricing
Server Details
Search source-labeled hospital prices, CPT codes, providers, and healthcare cost estimates.
- Status
- Healthy
- Uptime
- 100.0% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- aanari/loacare-healthcare-pricing
- GitHub Stars
- 0
TDQS
Scored across 12 tools
Most tools have clearly distinct scopes, and descriptions explicitly route between local comparison, market benchmarks, estimates, and named-hospital pricing. Some residual overlap among search_entities/search_hospitals/search_providers and get_entity_prices/get_hospital_pricing could still cause occasional misselection.
All 12 tool names use a consistent snake_case verb_noun pattern. Prefixes such as get_, search_, compare_, explain_, and submit_ predictably indicate the action.
Twelve tools is well within the appropriate range for a healthcare pricing lookup and correction surface. Each tool appears to earn its place by covering a distinct workflow.
The surface covers procedure discovery, entity/hospital/provider lookup, local and benchmark pricing, estimates, source explanation, profiles, and correction submission. Minor gaps such as price history or direct source-document access are workaroundable and do not break core workflows.
Available Tools
12 toolscompare_local_pricesCompare Local PricesARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Compare hospitals near a ZIP by price or distance for a code from search_cpt_codes. Lead with answer: lowest cash, insurer comparison, verdict, follow-up, and search link. Its prices are single published prices; options use hospital medians. Without insurer, compare cash; with insurer, compare negotiated rates, not personal out-of-pocket costs. Preserve sources, dates, included fees, caveats, and each hospital’s city/state. Rank before limiting; missing matching prices are null and last. Do not send patient identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Order by price (default) or distance | |
| limit | No | Maximum hospitals to return (default 10, max 20) | |
| insurer | No | Insurance company name only, e.g. "Aetna" or "Blue Cross"; no member IDs | |
| cpt_code | Yes | One CPT or HCPCS code, e.g. "73721" for a knee MRI | |
| zip_code | Yes | 5-digit US ZIP code to search around | |
| radius_miles | No | Search radius in miles (default 25, max 100) | |
| deductible_met | No | Whether the user has met this year's deductible; refines answer.verdict |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| query | Yes | |
| answer | Yes | |
| options | Yes | |
| provenance | Yes | |
| insurer_match | Yes | |
| price_summary | Yes | |
| hospitals_with_price | Yes | |
| hospitals_without_price | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds substantive context beyond that: cash versus negotiated-rate semantics, ranking-before-limiting behavior, null handling for missing prices, source/date/fee preservation, and a no-patient-identifiers constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with scope and the core comparison, and most sentences carry actionable guidance. It is dense and could be structured more cleanly, but it avoids obvious repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, seven parameters, output schema, and read-only annotations, the description covers the key gaps: eligibility, code prerequisite, insurer semantics, output prioritization, caveat preservation, ranking behavior, and privacy. Nothing an agent needs in order to select and invoke it correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantics for the insurer parameter by distinguishing cash prices from negotiated rates and warning against personal out-of-pocket interpretation. It does not explain deductible_met or the radius/limit defaults beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: compare hospitals near a ZIP by price or distance for a CPT code. It also adds eligibility scope ('U.S. care only') and names the prerequisite sibling search_cpt_codes, which distinguishes it from generic pricing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says not to call for non-U.S. care and not to substitute U.S. prices, giving a clear exclusion. It also gives the prerequisite that the code comes from search_cpt_codes and explains the insurer versus no-insurer comparison paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_price_sourcesExplain Price SourcesARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Explain only the returned source labels, counts, confidence, and caveats. Separate available prices from unavailable placeholders; if none are available, say so without inventing prices or source categories.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact Loa entity slug from search_entities. | |
| limit | No | Maximum number of prices to inspect, default 50, max 100. | |
| cpt_codes | No | Optional CPT codes to explain. If omitted, explains current indexed prices. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entity | Yes | |
| caveats | Yes | |
| cpt_codes | Yes | |
| provenance | Yes | |
| price_count | Yes | Total resolver rows, including unavailable placeholders. |
| source_summary | Yes | |
| available_price_count | Yes | Rows with a usable price; excludes unavailable placeholders. |
| unavailable_price_count | Yes | Rows without a usable price; not evidence of a published or verified price. |
| comparable_mrf_price_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world behavior, so the description's job is narrower. It adds real behavioral context: the geographic scope of the underlying data, the requirement to distinguish available prices from unavailable placeholders, and the prohibition on inventing prices or source categories when none exist. It says nothing about volume, rate limits, or how the tool behaves when a slug is unknown, but the core honesty constraints are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, and the geographic scoping constraint is front-loaded before the output-handling rules. It is dense rather than padded, though the two 'do not invent / do not substitute' prohibitions overlap slightly and could be consolidated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description only needs to supply domain and interpretation constraints — scope, placeholder handling, and prohibitions on fabrication — and it does all of these. What remains missing is minor: it never states the failure mode for an unknown slug or whether cpt_codes narrows the explanation set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter is documented there, including the slug source and the cpt_codes/limit bounds. The description adds no parameter-level meaning at all — it never mentions slug, cpt_codes, or limit. Baseline 3 is appropriate when the schema already carries the full parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ('explain') with a specific resource ('price sources') and names the exact output surface it covers: source labels, counts, confidence, and caveats. It also scopes the data ('U.S. care only'), which separates it from price-returning siblings like get_entity_prices or compare_local_prices. It does not explicitly state that it retrieves records for a Loa entity slug, so an agent must infer the retrieval step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a hard exclusion rule: non-U.S. care must be explained without calling this tool, and U.S. prices must never be substituted. That is a clear when-not-to-use condition. It stops short of naming a sibling alternative for the non-U.S. or plain-price-listing cases, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_pricesEntity PricesARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Get source-labeled prices by Loa listing slug; use search_entities to resolve it first. Missing CPT prices return explicit unavailable rows.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact Loa entity slug from search_entities or a Loa SEO page. | |
| limit | No | Maximum number of prices, default 50, max 100. | |
| cpt_codes | No | Optional CPT codes to filter. If omitted, returns current indexed prices up to the limit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| entity | Yes | |
| prices | Yes | |
| loa_link | Yes | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered; the description adds genuinely new behavioral context — source-labeled provenance, a U.S.-only data-coverage boundary, and the fact that missing CPTs come back as explicit unavailable rows rather than being omitted. It stops short of describing ordering or pagination semantics, but that is largely unnecessary given the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, no filler, with the geographic scope front-loaded before the mechanics. The telegraphic fragments ("U.S. care only, for users anywhere") require a second read but are dense in information rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read with an output schema and full annotation coverage, the description supplies what structured fields cannot: regional coverage limits, the slug-resolution prerequisite, and missing-price behavior. Pagination/limit interaction is left to the schema, which is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (slug, limit, cpt_codes) are documented in the schema, so the baseline is 3. The description only reinforces that the slug is a Loa listing slug resolved via search_entities and that a CPT filter yields unavailable rows for misses; it adds no format or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Get source-labeled prices by Loa listing slug") and scopes the data to a single entity plus optional CPT filter, so it is not a tautology of the name/title. It does not distinguish itself from adjacent pricing siblings like get_hospital_pricing, compare_local_prices, or get_market_pricing, so an agent must infer that the slug-scoping is the differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description carries an explicit negative rule: "U.S. care only... For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices," plus a prerequisite ("use search_entities to resolve it first"). It never routes between the several other pricing tools, so the exclusion is clear but alternatives are unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_profileEntity ProfileARead-onlyIdempotentInspect
Get a hospital or provider profile by exact Loa slug or ID, with field provenance. On request, offer correction_url for corrections plus optional affiliation verification, or claim_url for affiliation only. Both forms allow intake without an account; dashboard access requires verification. Use the exact loa_link.label.
| Name | Required | Description | Default |
|---|---|---|---|
| slug_or_id | Yes | Exact Loa entity slug or entity_pages.id from search_entities. | |
| entity_type | No | Optional disambiguation when slug_or_id is a slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entity | Yes | |
| loa_link | Yes | Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain. |
| provenance | Yes | |
| provider_actions | Yes | |
| profile_provenance | Yes | |
| profile_field_provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, and the description adds genuinely new context: results carry field provenance, two correction paths exist, intake is anonymous while dashboard access requires verification. That account/auth nuance is exactly the kind of detail annotations cannot express, though the wording around 'on request' is vague about what triggers each URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence and no sentence is pure filler. The correction/claim sentence is dense and slightly tangled in construction, but it still carries actionable information about two distinct flows.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with an output schema and full annotation coverage, the description supplies everything needed to invoke it correctly: identifier exactness, what the response includes (provenance), and the follow-up correction paths. Missing only explicit routing guidance against the sibling search and pricing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a real constraint beyond the schema: the identifier must be the exact loa_link.label, reinforcing the 'exact' semantics and warning against fuzzy or partial input. The entity_type disambiguation parameter is left to the schema, which is acceptable given full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: fetch a hospital or provider profile by exact Loa slug or ID, including field provenance. The word 'exact' implicitly contrasts with the fuzzy lookup done by the search_* siblings, though no sibling is named in the description itself (only in the schema).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context: corrections use correction_url (with optional affiliation verification), affiliation-only uses claim_url, intake works without an account, and dashboard access requires verification. It does not explicitly rule out or route to alternatives like get_entity_prices or search_entities, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hospital_pricingHospital PricingARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Get source-labeled Published MRF prices and Loa Verified Provider Price overlays for named hospitals and CPT codes. Cash is self-pay, list is the gross charge before discounts, and insurer rates are not personal out-of-pocket costs; missing prices are null.
| Name | Required | Description | Default |
|---|---|---|---|
| cpt_codes | Yes | CPT procedure codes to look up pricing for | |
| hospital_ids | Yes | Hospital IDs from search_hospitals results |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| pricing | Yes | |
| provenance | Yes | |
| services_found | Yes | |
| hospitals_found | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the description's job is domain semantics — and it delivers: cash means self-pay, list is the gross charge before discounts, insurer rates are not personal out-of-pocket cost, and missing prices return null. This directly prevents an agent from misinterpreting the returned figures, value well beyond the annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, with the scope constraint front-loaded ahead of the data semantics. It is dense and slightly telegraphic ('Loa Verified', 'Published MRF' are used without expansion), but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be explained, and the description still covers what the agent most needs: scope eligibility, what each price label means, and how absence is signaled (null). Nothing necessary for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already documented, including the note that hospital IDs come from search_hospitals results. The description only restates 'named hospitals and CPT codes' without adding syntax, limits, or sourcing detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — retrieving source-labeled Published MRF prices and Loa Verified Provider Price overlays for named hospitals and CPT codes — and constrains the domain to U.S. care. The distinction from generic price lookups is clear enough that an agent can tell what this tool returns versus a market estimate or comparison tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not-to-use rule: for non-U.S. care, explain coverage without calling the tool or substituting U.S. prices. That is strong negative guidance. It does not, however, route the agent between this tool and close siblings like get_entity_prices or compare_local_prices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_pricingMarket PricingARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Benchmark statewide or national cash, list, and insurer prices; each hospital counts once. Lead with median and p25–p75, report limitations, and never fill insufficient_data gaps. These are not ZIP-local quotes or personal out-of-pocket costs.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | State for regional pricing (e.g. "CA", "New York"). Unknown states return McpToolInvalidInput. When fewer than 5 hospitals in the state published a price, national figures are returned with a limitation. | |
| zip_code | No | ZIP code, used only to pick the state when state is omitted | |
| cpt_codes | Yes | CPT codes to look up (e.g. ["99213", "93000"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | Yes | |
| pricing | Yes | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them by disclosing geographic eligibility limits, the fallback to national figures implied by the limitation language, de-duplication of hospitals, and a strict prohibition on fabricating values for insufficient_data gaps. These are behavioral constraints an agent cannot infer from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: eligibility and exclusion first, then the benchmark scope, then aggregation and reporting rules. Every clause carries operational content — no restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and safety annotations already present, the description supplies exactly the missing pieces: geographic scope, aggregation semantics, statistical reporting expectations, and the insufficient-data policy. Nothing needed to call it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so state fallback behavior, ZIP-as-state-selector, and the CPT array bounds are already documented. The description adds only the eligibility framing (U.S. only) around those parameters rather than new syntax or format meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — benchmark statewide or national cash, list, and insurer prices — and scopes it to U.S. care. It also rules out what it is not (ZIP-local quotes, personal out-of-pocket costs), which implicitly separates it from compare_local_prices and get_pricing_estimate without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when/when-not: U.S. care only, and for non-U.S. care the agent should explain coverage without calling this tool or substituting U.S. prices. It also specifies the aggregation rule (each hospital counts once) and the reporting protocol (lead with median and p25–p75, report limitations, never fill insufficient_data gaps).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricing_estimatePricing EstimateARead-onlyIdempotentInspect
U.S. care only, for users anywhere. For non-U.S. care, explain coverage without calling this tool or substituting U.S. prices. Estimate median cash prices and typical ranges (25th–75th percentile) for CPT codes, statewide by ZIP or nationally. Report missingCodes and insufficient_data without inventing prices; totals require data for every code. Use get_market_pricing for insurer benchmarks or get_hospital_pricing for named hospitals.
| Name | Required | Description | Default |
|---|---|---|---|
| zip_code | No | U.S. ZIP code used to pick the state (omit only for U.S. national figures) | |
| procedure_codes | Yes | CPT procedure codes to price (e.g. ["99213", "85025"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | Yes | |
| zipCode | Yes | |
| disclaimer | Yes | |
| procedures | Yes | |
| provenance | Yes | |
| limitations | Yes | |
| missingCodes | Yes | |
| estimatedCost | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds real behavioral context: surface missingCodes and insufficient_data rather than inventing prices, and totals require data for every code. That is failure-mode guidance an agent cannot get from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: the geographic restriction leads, then capability, then integrity rules, then alternatives. Slightly packed with four distinct concerns in five sentences, but every sentence carries operational weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. Given that, the description covers scope limits, fallback behavior for unsupported regions, data-integrity handling, and sibling routing — everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including that ZIP selects the state and that codes are CPT with a 10-item cap. The description's "statewide by ZIP or nationally" largely restates the schema rather than adding format or edge-case detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Estimate median cash prices and typical ranges (25th–75th percentile) for CPT codes, statewide by ZIP or nationally." It also names the exact siblings it is not (get_market_pricing, get_hospital_pricing), so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use and when-not-to-use rules: U.S. care only, and for non-U.S. care the agent should explain coverage without calling the tool or substituting U.S. prices. It also names two concrete alternatives with the condition that selects each.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cpt_codesFind a procedureARead-onlyIdempotentInspect
Find procedures by everyday name or billing code. Follow decision: clarify important variants before pricing; never choose a clinical default.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default 10, max 25) | |
| query | Yes | Concise procedure name, medical term, or candidate CPT code; omit personal narratives and identifiers (e.g. "knee MRI", "blood work", "99213") | |
| category | No | Filter by category: "evaluation_management", "laboratory", "radiology", "surgery", "preventive" | |
| specialty | No | Filter by medical specialty (e.g. "cardiology", "dermatology") |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| total | Yes | |
| results | Yes | |
| category | Yes | |
| coverage | Yes | |
| decision | Yes | |
| specialty | Yes | |
| provenance | Yes | |
| suggestions | Yes | |
| pricing_codes | Yes | |
| related_charges | Yes | |
| availability_scope | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds real behavioral direction beyond that: results may be ambiguous and the agent must not silently pick a clinical default, which is exactly the failure mode for a code search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action, with zero restated filler. The only weak spot is the telegraphic 'Follow decision:' phrasing, which reads as internal shorthand rather than clear instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so return values and safety profile need no explanation. For a four-parameter search tool the description covers intent, query semantics, and disambiguation duty; only the vague 'important variants' clause leaves an agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so limit, query, category, and specialty are already fully documented, including examples and the category vocabulary. The phrase 'everyday name or billing code' reinforces the query parameter's dual intent but adds little beyond the schema's own example ('knee MRI', '99213'). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Find procedures by everyday name or billing code,' which makes clear it searches procedure/CPT records rather than providers, hospitals, or entities like the sibling search_* tools. It stops short of naming those siblings explicitly, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Follow decision: clarify important variants before pricing' implies a workflow position (search procedures before calling pricing tools such as get_pricing_estimate), but it never names an alternative tool or an explicit when-not condition. The guidance is suggestive rather than operational, and 'clarify important variants' is undefined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entitiesEntity SearchARead-onlyIdempotentInspect
Find Loa hospital and provider listings by name or state. Resolve the exact slug before profile, price, or source lookups.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results, default 20, max 50. | |
| query | No | Hospital or provider name to search for. | |
| state | No | Two-letter state code or full state name, e.g. CA or New York. | |
| entity_type | No | Optional filter for hospital or provider entities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| total | Yes | |
| entities | Yes | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, and non-destructive, so safety is covered; the description earns credit for disclosing this tool's role as a prerequisite resolution step rather than a data-fetching endpoint. It doesn't discuss result volume or what happens on zero matches, which the limit parameter hints at but never explains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the primary action is front-loaded before the follow-up workflow instruction. Every clause contributes either capability or sequencing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, rich annotations, and complete parameter descriptions, the description only needs to place the tool in the workflow, which it does. The remaining gap is that it never explains its relationship to search_hospitals and search_providers, which an agent choosing among eleven siblings would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each of the four parameters already documented including the enum and the limit bounds, so the schema carries the parameter burden. The description only restates that searching is by name or state and adds no syntax, matching behavior, or default detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb-plus-resource: find hospital and provider listings, filtered by name or state. The 'Loa' qualifier is unexplained and it never distinguishes itself from the sibling search_hospitals or search_providers tools, so an agent cannot tell from this text alone why the generic search exists alongside the specific ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real pipeline guidance: it should be called to resolve the exact slug before profile, price, or source lookups, which maps directly onto get_entity_profile, get_entity_prices, and explain_price_sources. It lacks an explicit 'when not to use' or a pointer to the hospital/provider-specific searchers, so guidance is clear but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hospitalsHospital SearchARead-onlyIdempotentInspect
Find hospitals by name or location, with addresses, contact details, and IDs for get_hospital_pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name | |
| name | No | Hospital name to search for | |
| limit | No | Max results (default 20) | |
| state | No | Two-letter state code or full state name, e.g. "CA" or "New York". | |
| zip_code | No | ZIP code |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| total | Yes | |
| hospitals | Yes | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile costs the description nothing. The description adds useful chaining context (returns IDs consumed by get_hospital_pricing) but says nothing about match semantics (exact vs fuzzy name matching) or how city/state/zip combine, which matters for a tool with all-optional filters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the useful chaining hint to get_hospital_pricing is attached rather than buried. Nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not owed, and annotations cover the safety profile. What is missing for correct invocation is whether filters are ANDed, whether an unfiltered call is valid, and when to use this versus search_entities — real gaps for a 5-parameter, no-required-parameter search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, including a helpful note on the state parameter accepting either a code or a full name, so the schema carries the parameter burden. The description's 'by name or location' only loosely frames the filters and adds no combining or precedence guidance. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (find hospitals) plus the lookup dimensions (name or location), which is enough for an agent to know what it returns. It does not distinguish itself from search_entities, the sibling most likely to overlap, though it does name get_hospital_pricing as the downstream consumer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of IDs 'for get_hospital_pricing' signals this is the discovery step before a pricing lookup. There is no explicit when-to-use or when-to-prefer-search_entities guidance, and no statement about what happens when zero filters are supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_providersProvider SearchARead-onlyIdempotentInspect
Find clinicians and healthcare organizations in the CMS NPI Registry by name, specialty, or location. Returns directory details, not prices.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Provider name to search for (e.g. "John Smith") | |
| limit | No | Max results (default 20) | |
| location | No | Location to search in | |
| specialty | No | Medical specialty (e.g. "Cardiology", "Family Medicine") |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| total | Yes | |
| providers | Yes | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive, non-open-world operation. The description adds useful context by naming the CMS NPI Registry as the data source and clarifying that results are directory details rather than prices. It does not discuss matching behavior or pagination, but the annotations and schema cover much of the operational profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted language. The core purpose is front-loaded, followed immediately by a useful scope clarification about return content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, complete schema coverage, and presence of an output schema, the description supplies enough context for an agent to call the tool correctly. It could do slightly more to differentiate this search tool from sibling search tools, but no critical calling information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents name, specialty, location, and limit. The description reinforces name, specialty, and location as search dimensions but does not add syntax or format details beyond the schema. This meets the baseline for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: finding clinicians and healthcare organizations in the CMS NPI Registry. It also clarifies the return scope by saying it returns directory details, not prices. It does not explicitly distinguish itself from sibling search tools such as search_entities or search_hospitals, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that the tool can search by name, specialty, or location and that it is not a pricing tool. However, it does not explicitly say when to use this tool instead of search_entities, search_hospitals, or the pricing-related siblings. Usage is implied rather than fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_entity_update_requestSubmit Entity Update RequestAIdempotentInspect
Submit a pending listing or price correction for Loa review. Requires sign-in, not a claimed listing; stores business contact details and public evidence. Patient data is unsupported. Does not publish changes, verify affiliation, or grant dashboard access. Website correction and claim links come from get_entity_profile.
| Name | Required | Description | Default |
|---|---|---|---|
| attestation | No | How the submitter is connected to the submitted evidence. | |
| entity_slug | No | Exact Loa entity slug if entity_page_id is not available. | |
| entity_type | No | Entity kind for the requested update; use unknown only when it cannot be determined. | unknown |
| price_items | No | Optional structured price rows proposed for Loa review. | |
| source_urls | No | Optional public URLs reviewers can use to verify the submitted change. | |
| request_type | Yes | Type of reviewed change being requested. | |
| source_notes | No | Short verification notes, source context, or callback instructions. | |
| entity_page_id | No | Loa entity_pages.id for the provider or hospital. | |
| submitter_name | No | Name of the person submitting the request. | |
| submitter_role | No | Submitter role, such as billing manager or authorized agent. | |
| idempotency_key | No | Optional stable retry key. Loa derives one from the payload if omitted. | |
| submitter_email | Yes | Work email for the submitting representative. | |
| submitter_phone | No | Optional callback phone number for reviewer follow-up. | |
| proposed_changes | No | Structured profile or listing fields proposed for Loa review. | |
| uploaded_file_url | No | Optional public URL for an uploaded evidence file. | |
| submitter_organization | No | Provider, hospital, or agent organization represented by the submitter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| requestId | Yes | |
| entityPageId | Yes | |
| reusedExisting | Yes | |
| updateRequestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false; the description goes well beyond them by disclosing that submissions are queued for review rather than published, that business contact details and public evidence are persisted, and that affiliation/dashboard access are not granted as side effects. It also flags a data-scope prohibition (patient data unsupported), which no annotation conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, front-loaded with the purpose and then progressing through prerequisites, data handling, negative guarantees, and the prerequisite-data source. No sentence restates the tool title or the schema, and each one adds a distinct constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, nested-object mutation tool with an output schema, the description covers preconditions, side effects, data scope, and referrals to get_entity_profile. The one real gap is that it never explains how request_type conditions the payload (e.g., price_update needing price_items vs profile_correction needing proposed_changes), which an agent must infer from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the per-field burden and a baseline 3 applies. The description adds only indirect cues — 'business contact details and public evidence' maps loosely to submitter_* and source_urls, and the get_entity_profile pointer hints where entity_slug/entity_page_id come from — but it says nothing about the nested price_items structure or which fields each request_type expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb ('Submit') and resource ('pending listing or price correction'), plus the destination ('for Loa review'). Every sibling tool is a read-only lookup (search_*, get_*, compare_*, explain_*), so this is unmistakably the only write/submission path, and the description makes that distinction explicit by stating it 'does not publish changes.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions ('Requires sign-in, not a claimed listing') and hard exclusions ('Patient data is unsupported', 'does not verify affiliation, or grant dashboard access'). It also routes the agent to the sibling that supplies prerequisite data — 'Website correction and claim links come from get_entity_profile' — which is exactly the when/where guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
get_entity_prices2 fields changed- added
Output schema / properties / prices / items / properties / comparableMrfPrice / properties / includesAdded value: +{ + "type": "string" +} - added
Output schema / properties / prices / items / properties / includesAdded value: +{ + "type": "string" +}
- Changed
get_hospital_pricing4 fields changed- added
Output schema / properties / pricing / items / properties / cash_includesAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / pricing / items / properties / insurance_prices / items / properties / includesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / pricing / items / properties / insurance_prices / items / requiredPrevious value: -[ - "payer", - "plan", - "price", - "source_label" -]New value: +[ + "includes", + "payer", + "plan", + "price", + "source_label" +] - changed
Output schema / properties / pricing / items / requiredPrevious value: -[ - "hospital_id", - "hospital_name", - "hospital_location", - "cpt_code", - "cpt_description", - "cash_price", - "cash_source_labels", - "list_price", - "insurance_prices", - "source_labels", - "record_count", - "loa_link" -]New value: +[ + "hospital_id", + "hospital_name", + "hospital_location", + "cpt_code", + "cpt_description", + "cash_price", + "cash_source_labels", + "cash_includes", + "list_price", + "insurance_prices", + "source_labels", + "record_count", + "loa_link" +]
- Changed
get_market_pricing2 fields changed- added
Output schema / properties / pricing / items / properties / procedure_nameAdded value: +{ + "type": "string" +} - changed
Output schema / properties / pricing / items / requiredPrevious value: -[ - "cpt_code", - "status", - "scope", - "cash_price", - "list_price", - "insurance_price", - "insurance_by_payer", - "confidence", - "cash_data_points", - "insurance_data_points", - "states_covered", - "source_dates", - "limitations" -]New value: +[ + "cpt_code", + "procedure_name", + "status", + "scope", + "cash_price", + "list_price", + "insurance_price", + "insurance_by_payer", + "confidence", + "cash_data_points", + "insurance_data_points", + "states_covered", + "source_dates", + "limitations" +]
- Changed
search_cpt_codes11 fields changed- added
Output schema / properties / availability_scopeAdded value: +{ + "type": "string" +} - added
Output schema / properties / coverageAdded value: +{ + "type": "string" +} - added
Output schema / properties / decisionAdded value: +{ + "additionalProperties": false, + "properties": { + "guidance": { + "type": "string" + }, + "options": { + "items": { + "type": "string" + }, + "type": "array" + }, + "question": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "ready", + "compare_variants", + "needs_clarification", + "no_match", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "question", + "options", + "guidance" + ], + "type": "object" +} - added
Output schema / properties / pricing_codesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / related_chargesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "price_availability": { + "enum": [ + "available", + "unavailable", + "unknown" + ], + "type": "string" + }, + "pricing_note": { + "type": "string" + } + }, + "required": [ + "code", + "name", + "pricing_note", + "price_availability" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / results / items / properties / price_availabilityAdded value: +{ + "enum": [ + "available", + "unavailable", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / results / items / properties / pricing_noteAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / results / items / properties / service_roleAdded value: +{ + "enum": [ + "procedure", + "add_on", + "separate_charge" + ], + "type": "string" +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "code", - "name", - "description", - "category", - "isCommon" -]New value: +[ + "code", + "name", + "description", + "category", + "isCommon", + "price_availability", + "service_role", + "pricing_note" +] - added
Output schema / properties / suggestionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "query", - "specialty", - "category", - "total", - "provenance", - "results" -]New value: +[ + "query", + "specialty", + "category", + "total", + "provenance", + "results", + "coverage", + "pricing_codes", + "availability_scope", + "related_charges", + "suggestions", + "decision" +]
11 tool updates
- Changed
compare_local_prices4 fields changed- changed
Output schema / properties / answer / properties / lowest_cash / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "address": { - "type": "string" - }, - "as_of": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "caveats": { - "items": { - "type": "string" - }, - "type": "array" - }, - "city": { - "type": "string" - }, - "distance_miles": { - "type": "number" - }, - "hospital_id": { - "type": "string" - }, - "hospital_name": { - "type": "string" - }, - "includes": { - "type": "string" - }, - "loa_link": { - "anyOf": [ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "phone": { - "type": "string" - }, - "plan_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "price": { - "type": "number" - }, - "price_basis": { - "enum": [ - "cash", - "insurer_rate" - ], - "type": "string" - }, - "price_type": { - "type": "string" - }, - "setting": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "source_label": { - "type": "string" - }, - "state": { - "type": "string" - }, - "zip_code": { - "type": "string" - } - }, - "required": [ - "hospital_id", - "hospital_name", - "address", - "city", - "state", - "zip_code", - "phone", - "distance_miles", - "price_type", - "includes", - "setting", - "as_of", - "source_label", - "caveats", - "loa_link", - "price", - "price_basis", - "plan_name" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "address": { + "type": "string" + }, + "as_of": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caveats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "city": { + "type": "string" + }, + "distance_miles": { + "type": "number" + }, + "hospital_id": { + "type": "string" + }, + "hospital_name": { + "type": "string" + }, + "includes": { + "type": "string" + }, + "loa_link": { + "anyOf": [ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "phone": { + "type": "string" + }, + "plan_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "price": { + "type": "number" + }, + "price_basis": { + "enum": [ + "cash", + "insurer_rate" + ], + "type": "string" + }, + "price_type": { + "type": "string" + }, + "setting": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source_label": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip_code": { + "type": "string" + } + }, + "required": [ + "hospital_id", + "hospital_name", + "address", + "city", + "state", + "zip_code", + "phone", + "distance_miles", + "price_type", + "includes", + "setting", + "as_of", + "source_label", + "caveats", + "loa_link", + "price", + "price_basis", + "plan_name" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / answer / properties / lowest_insurer_rate / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "address": { - "type": "string" - }, - "as_of": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "caveats": { - "items": { - "type": "string" - }, - "type": "array" - }, - "city": { - "type": "string" - }, - "distance_miles": { - "type": "number" - }, - "hospital_id": { - "type": "string" - }, - "hospital_name": { - "type": "string" - }, - "includes": { - "type": "string" - }, - "loa_link": { - "anyOf": [ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "phone": { - "type": "string" - }, - "plan_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "price": { - "type": "number" - }, - "price_basis": { - "enum": [ - "cash", - "insurer_rate" - ], - "type": "string" - }, - "price_type": { - "type": "string" - }, - "setting": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "source_label": { - "type": "string" - }, - "state": { - "type": "string" - }, - "zip_code": { - "type": "string" - } - }, - "required": [ - "hospital_id", - "hospital_name", - "address", - "city", - "state", - "zip_code", - "phone", - "distance_miles", - "price_type", - "includes", - "setting", - "as_of", - "source_label", - "caveats", - "loa_link", - "price", - "price_basis", - "plan_name" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "address": { + "type": "string" + }, + "as_of": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caveats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "city": { + "type": "string" + }, + "distance_miles": { + "type": "number" + }, + "hospital_id": { + "type": "string" + }, + "hospital_name": { + "type": "string" + }, + "includes": { + "type": "string" + }, + "loa_link": { + "anyOf": [ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "phone": { + "type": "string" + }, + "plan_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "price": { + "type": "number" + }, + "price_basis": { + "enum": [ + "cash", + "insurer_rate" + ], + "type": "string" + }, + "price_type": { + "type": "string" + }, + "setting": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source_label": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip_code": { + "type": "string" + } + }, + "required": [ + "hospital_id", + "hospital_name", + "address", + "city", + "state", + "zip_code", + "phone", + "distance_miles", + "price_type", + "includes", + "setting", + "as_of", + "source_label", + "caveats", + "loa_link", + "price", + "price_basis", + "plan_name" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / options / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
explain_price_sources5 fields changed- added
Output schema / properties / available_price_countAdded value: +{ + "description": "Rows with a usable price; excludes unavailable placeholders.", + "type": "number" +} - added
Output schema / properties / price_count / descriptionAdded value: +"Total resolver rows, including unavailable placeholders." - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS." - added
Output schema / properties / unavailable_price_countAdded value: +{ + "description": "Rows without a usable price; not evidence of a published or verified price.", + "type": "number" +} - changed
Output schema / requiredPrevious value: -[ - "entity", - "cpt_codes", - "price_count", - "comparable_mrf_price_count", - "source_summary", - "caveats", - "provenance" -]New value: +[ + "entity", + "cpt_codes", + "price_count", + "available_price_count", + "unavailable_price_count", + "comparable_mrf_price_count", + "source_summary", + "caveats", + "provenance" +]
- Changed
get_entity_prices2 fields changed- changed
Output schema / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
get_entity_profile5 fields changed- changed
Output schema / properties / loa_link / descriptionPrevious value: -"Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital."New value: +"Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain." - added
Output schema / properties / loa_link / properties / label / descriptionAdded value: +"Use this exact label as the link text; it identifies the destination." - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS." - added
Output schema / properties / provider_actionsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Offer only when the user asks to correct, add prices to, or claim this listing.", + "properties": { + "claim_url": { + "description": "Request affiliation verification only. For corrections plus verification, use correction_url instead. Submitting does not grant dashboard access.", + "format": "uri", + "type": "string" + }, + "correction_url": { + "description": "Suggest listing or price changes and optionally request affiliation verification in the same form. No separate claim or existing account is required.", + "format": "uri", + "type": "string" + } + }, + "required": [ + "correction_url", + "claim_url" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / requiredPrevious value: -[ - "entity", - "loa_link", - "profile_provenance", - "profile_field_provenance", - "provenance" -]New value: +[ + "entity", + "loa_link", + "provider_actions", + "profile_provenance", + "profile_field_provenance", + "provenance" +]
- Changed
get_hospital_pricing2 fields changed- changed
Output schema / properties / pricing / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
get_market_pricing1 field changed- added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
get_pricing_estimate2 fields changed- changed
Input schema / properties / zip_code / descriptionPrevious value: -"ZIP code used to pick the state (omit for national figures)"New value: +"U.S. ZIP code used to pick the state (omit only for U.S. national figures)" - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
search_cpt_codes1 field changed- added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
search_entities2 fields changed- changed
Output schema / properties / entities / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
search_hospitals2 fields changed- changed
Output schema / properties / hospitals / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS."
- Changed
search_providers2 fields changed- added
Output schema / properties / provenance / properties / source_url / descriptionAdded value: +"Supporting source link. A CMS Hospital Price Transparency policy page is not the hospital source file; do not attribute hospital-published prices to CMS." - changed
Output schema / properties / providers / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "request", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Share this returned URL with its exact label. A website action redirects to the provider website; only a profile action opens a Loa listing. Do not infer the destination from the loacare.com domain.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "description": "Use this exact label as the link text; it identifies the destination.", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
1 tool update
- Changed
compare_local_prices6 fields changed- added
Input schema / properties / deductible_metAdded value: +{ + "description": "Whether the user has met this year's deductible; refines answer.verdict", + "enum": [ + "yes", + "no", + "not_sure" + ], + "type": "string" +} - added
Output schema / properties / answerAdded value: +{ + "additionalProperties": false, + "properties": { + "follow_up_question": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "loa_search_url": { + "type": "string" + }, + "lowest_cash": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "address": { + "type": "string" + }, + "as_of": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caveats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "city": { + "type": "string" + }, + "distance_miles": { + "type": "number" + }, + "hospital_id": { + "type": "string" + }, + "hospital_name": { + "type": "string" + }, + "includes": { + "type": "string" + }, + "loa_link": { + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "phone": { + "type": "string" + }, + "plan_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "price": { + "type": "number" + }, + "price_basis": { + "enum": [ + "cash", + "insurer_rate" + ], + "type": "string" + }, + "price_type": { + "type": "string" + }, + "setting": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source_label": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip_code": { + "type": "string" + } + }, + "required": [ + "hospital_id", + "hospital_name", + "address", + "city", + "state", + "zip_code", + "phone", + "distance_miles", + "price_type", + "includes", + "setting", + "as_of", + "source_label", + "caveats", + "loa_link", + "price", + "price_basis", + "plan_name" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "lowest_insurer_rate": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "address": { + "type": "string" + }, + "as_of": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caveats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "city": { + "type": "string" + }, + "distance_miles": { + "type": "number" + }, + "hospital_id": { + "type": "string" + }, + "hospital_name": { + "type": "string" + }, + "includes": { + "type": "string" + }, + "loa_link": { + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "phone": { + "type": "string" + }, + "plan_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "price": { + "type": "number" + }, + "price_basis": { + "enum": [ + "cash", + "insurer_rate" + ], + "type": "string" + }, + "price_type": { + "type": "string" + }, + "setting": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source_label": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip_code": { + "type": "string" + } + }, + "required": [ + "hospital_id", + "hospital_name", + "address", + "city", + "state", + "zip_code", + "phone", + "distance_miles", + "price_type", + "includes", + "setting", + "as_of", + "source_label", + "caveats", + "loa_link", + "price", + "price_basis", + "plan_name" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "verdict": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "detail": { + "type": "string" + }, + "headline": { + "type": "string" + }, + "recommendation": { + "enum": [ + "cash", + "insurance", + "either", + "conditional", + "ask_insurer" + ], + "type": "string" + } + }, + "required": [ + "recommendation", + "headline", + "detail" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "lowest_cash", + "lowest_insurer_rate", + "verdict", + "follow_up_question", + "loa_search_url" + ], + "type": "object" +} - changed
Output schema / properties / options / items / requiredPrevious value: -[ - "rank", - "hospital_id", - "hospital_name", - "address", - "city", - "state", - "zip_code", - "phone", - "distance_miles", - "price", - "price_basis", - "price_type", - "cash_price", - "cash_price_range", - "insurer_rate", - "insurer_plans", - "list_price", - "includes", - "setting", - "as_of", - "source_label", - "caveats", - "loa_link" -]New value: +[ + "hospital_id", + "hospital_name", + "address", + "city", + "state", + "zip_code", + "phone", + "distance_miles", + "price", + "price_basis", + "price_type", + "cash_price", + "cash_price_range", + "insurer_rate", + "insurer_plans", + "list_price", + "includes", + "setting", + "as_of", + "source_label", + "caveats", + "loa_link", + "rank" +] - added
Output schema / properties / query / properties / deductible_metAdded value: +{ + "anyOf": [ + { + "enum": [ + "yes", + "no", + "not_sure" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / query / requiredPrevious value: -[ - "cpt_code", - "procedure_name", - "zip_code", - "radius_miles", - "insurer", - "sort" -]New value: +[ + "cpt_code", + "procedure_name", + "zip_code", + "radius_miles", + "insurer", + "deductible_met", + "sort" +] - changed
Output schema / requiredPrevious value: -[ - "query", - "insurer_match", - "options", - "price_summary", - "hospitals_with_price", - "hospitals_without_price", - "notes", - "provenance" -]New value: +[ + "query", + "answer", + "insurer_match", + "options", + "price_summary", + "hospitals_with_price", + "hospitals_without_price", + "notes", + "provenance" +]
1 tool update
- Added
compare_local_prices
1 tool update
- Changed
get_entity_prices2 fields changed- added
Output schema / properties / prices / items / properties / comparableMrfPrice / properties / practiceConfirmationAdded value: +{ + "additionalProperties": false, + "properties": { + "confirmedAt": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "itemId": { + "type": "string" + }, + "versionId": { + "type": "string" + } + }, + "required": [ + "versionId", + "itemId", + "confirmedAt", + "details" + ], + "type": "object" +} - added
Output schema / properties / prices / items / properties / practiceConfirmationAdded value: +{ + "additionalProperties": false, + "properties": { + "confirmedAt": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "itemId": { + "type": "string" + }, + "versionId": { + "type": "string" + } + }, + "required": [ + "versionId", + "itemId", + "confirmedAt", + "details" + ], + "type": "object" +}
8 tool updates
- Changed
get_entity_prices1 field changed- changed
Output schema / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
get_entity_profile1 field changed- changed
Output schema / properties / loa_link / properties / action / enumPrevious value: -[ - "book", - "website", - "profile" -]New value: +[ + "book", + "request", + "website", + "profile" +]
- Changed
get_hospital_pricing1 field changed- changed
Output schema / properties / pricing / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
search_cpt_codes1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"Search query, procedure name, medical term, or CPT code number (e.g. \"knee MRI\", \"blood work\", \"99213\")"New value: +"Concise procedure name, medical term, or candidate CPT code; omit personal narratives and identifiers (e.g. \"knee MRI\", \"blood work\", \"99213\")"
- Changed
search_entities1 field changed- changed
Output schema / properties / entities / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
search_hospitals1 field changed- changed
Output schema / properties / hospitals / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
search_providers1 field changed- changed
Output schema / properties / providers / items / properties / loa_link / anyOfPrevious value: -[ - { - "additionalProperties": false, - "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", - "properties": { - "action": { - "enum": [ - "book", - "website", - "profile" - ], - "type": "string" - }, - "label": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "action", - "label" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "request", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Removed
suggest_procedures
3 tool updates
- Changed
get_hospital_pricing2 fields changed- added
Output schema / properties / pricing / items / properties / list_priceAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / pricing / items / requiredPrevious value: -[ - "hospital_id", - "hospital_name", - "hospital_location", - "cpt_code", - "cpt_description", - "cash_price", - "cash_source_labels", - "insurance_prices", - "source_labels", - "record_count", - "loa_link" -]New value: +[ + "hospital_id", + "hospital_name", + "hospital_location", + "cpt_code", + "cpt_description", + "cash_price", + "cash_source_labels", + "list_price", + "insurance_prices", + "source_labels", + "record_count", + "loa_link" +]
- Changed
get_market_pricing12 fields changed- changed
Input schema / properties / state / descriptionPrevious value: -"State for regional pricing (e.g. \"CA\", \"New York\"). Unknown states return McpToolInvalidInput. Valid states with no regional data fall back to national averages."New value: +"State for regional pricing (e.g. \"CA\", \"New York\"). Unknown states return McpToolInvalidInput. When fewer than 5 hospitals in the state published a price, national figures are returned with a limitation." - changed
Input schema / properties / zip_code / descriptionPrevious value: -"ZIP code (used with state for location context)"New value: +"ZIP code, used only to pick the state when state is omitted" - changed
Output schema / properties / pricing / items / properties / cash_price / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "average": { - "type": "number" - }, - "data_points": { - "type": "number" - }, - "max": { - "type": "number" - }, - "median": { - "type": "number" - }, - "min": { - "type": "number" - }, - "source": { - "type": "string" - } - }, - "required": [ - "median", - "average", - "min", - "max", - "data_points", - "source" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "average": { + "type": "number" + }, + "data_points": { + "description": "Price records behind this figure", + "type": "number" + }, + "hospital_count": { + "description": "Hospitals behind this figure; each counts once", + "type": "number" + }, + "max": { + "type": "number" + }, + "median": { + "type": "number" + }, + "min": { + "type": "number" + }, + "p25": { + "type": "number" + }, + "p75": { + "type": "number" + }, + "source": { + "enum": [ + "state", + "national" + ], + "type": "string" + } + }, + "required": [ + "median", + "average", + "min", + "max", + "p25", + "p75", + "data_points", + "hospital_count", + "source" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / pricing / items / properties / insurance_by_payerAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "data_points": { + "type": "number" + }, + "hospital_count": { + "type": "number" + }, + "median": { + "type": "number" + }, + "p25": { + "type": "number" + }, + "p75": { + "type": "number" + }, + "payer": { + "type": "string" + } + }, + "required": [ + "payer", + "median", + "p25", + "p75", + "data_points", + "hospital_count" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / pricing / items / properties / insurance_price / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "average": { - "type": "number" - }, - "data_points": { - "type": "number" - }, - "max": { - "type": "number" - }, - "median": { - "type": "number" - }, - "min": { - "type": "number" - }, - "source": { - "type": "string" - } - }, - "required": [ - "median", - "average", - "min", - "max", - "data_points", - "source" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "average": { + "type": "number" + }, + "data_points": { + "description": "Price records behind this figure", + "type": "number" + }, + "hospital_count": { + "description": "Hospitals behind this figure; each counts once", + "type": "number" + }, + "max": { + "type": "number" + }, + "median": { + "type": "number" + }, + "min": { + "type": "number" + }, + "p25": { + "type": "number" + }, + "p75": { + "type": "number" + }, + "source": { + "enum": [ + "state", + "national" + ], + "type": "string" + } + }, + "required": [ + "median", + "average", + "min", + "max", + "p25", + "p75", + "data_points", + "hospital_count", + "source" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / pricing / items / properties / limitationsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / pricing / items / properties / list_priceAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "average": { + "type": "number" + }, + "data_points": { + "description": "Price records behind this figure", + "type": "number" + }, + "hospital_count": { + "description": "Hospitals behind this figure; each counts once", + "type": "number" + }, + "max": { + "type": "number" + }, + "median": { + "type": "number" + }, + "min": { + "type": "number" + }, + "p25": { + "type": "number" + }, + "p75": { + "type": "number" + }, + "source": { + "enum": [ + "state", + "national" + ], + "type": "string" + } + }, + "required": [ + "median", + "average", + "min", + "max", + "p25", + "p75", + "data_points", + "hospital_count", + "source" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / pricing / items / properties / scopeAdded value: +{ + "anyOf": [ + { + "enum": [ + "state", + "national" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / pricing / items / properties / source_datesAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "earliest": { + "type": "string" + }, + "latest": { + "type": "string" + } + }, + "required": [ + "earliest", + "latest" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Extraction dates of the underlying hospital files (YYYY-MM-DD)" +} - added
Output schema / properties / pricing / items / properties / states_coveredAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / pricing / items / properties / statusAdded value: +{ + "enum": [ + "ok", + "insufficient_data" + ], + "type": "string" +} - changed
Output schema / properties / pricing / items / requiredPrevious value: -[ - "cpt_code", - "cash_price", - "insurance_price", - "confidence", - "cash_data_points", - "insurance_data_points" -]New value: +[ + "cpt_code", + "status", + "scope", + "cash_price", + "list_price", + "insurance_price", + "insurance_by_payer", + "confidence", + "cash_data_points", + "insurance_data_points", + "states_covered", + "source_dates", + "limitations" +]
- Changed
get_pricing_estimate21 fields changed- changed
Input schema / properties / zip_code / descriptionPrevious value: -"ZIP code for regional pricing (defaults to national average)"New value: +"ZIP code used to pick the state (omit for national figures)" - removed
Output schema / properties / containsHeuristicEstimatesRemoved value: -{ - "type": "boolean" -} - added
Output schema / properties / estimatedCost / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / estimatedCost / typeRemoved value: -"number" - added
Output schema / properties / limitationsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / missingCodesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / procedures / items / properties / estimatedCost / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / procedures / items / properties / estimatedCost / typeRemoved value: -"number" - added
Output schema / properties / procedures / items / properties / hospital_countAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +} - removed
Output schema / properties / procedures / items / properties / priceRange / additionalPropertiesRemoved value: -false - added
Output schema / properties / procedures / items / properties / priceRange / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / procedures / items / properties / priceRange / propertiesRemoved value: -{ - "max": { - "type": "number" - }, - "min": { - "type": "number" - } -} - removed
Output schema / properties / procedures / items / properties / priceRange / requiredRemoved value: -[ - "min", - "max" -] - removed
Output schema / properties / procedures / items / properties / priceRange / typeRemoved value: -"object" - changed
Output schema / properties / procedures / items / properties / pricingMethod / enumPrevious value: -[ - "observed_market_median", - "heuristic_cpt_range" -]New value: +[ + "observed_market_median", + "insufficient_data" +] - added
Output schema / properties / procedures / items / properties / scopeAdded value: +{ + "anyOf": [ + { + "enum": [ + "state", + "national" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / procedures / items / requiredPrevious value: -[ - "code", - "description", - "estimatedCost", - "priceRange", - "pricingMethod", - "data_points" -]New value: +[ + "code", + "description", + "estimatedCost", + "priceRange", + "pricingMethod", + "scope", + "data_points", + "hospital_count" +] - added
Output schema / properties / stateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / zipCode / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / zipCode / typeRemoved value: -"string" - changed
Output schema / requiredPrevious value: -[ - "estimatedCost", - "procedures", - "zipCode", - "containsHeuristicEstimates", - "provenance", - "disclaimer" -]New value: +[ + "estimatedCost", + "procedures", + "zipCode", + "state", + "missingCodes", + "limitations", + "provenance", + "disclaimer" +]
6 tool updates
- Changed
get_entity_prices2 fields changed- added
Output schema / properties / loa_linkAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / requiredPrevious value: -[ - "entity", - "prices", - "total", - "provenance" -]New value: +[ + "entity", + "loa_link", + "prices", + "total", + "provenance" +]
- Changed
get_entity_profile2 fields changed- added
Output schema / properties / loa_linkAdded value: +{ + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "entity", - "profile_provenance", - "profile_field_provenance", - "provenance" -]New value: +[ + "entity", + "loa_link", + "profile_provenance", + "profile_field_provenance", + "provenance" +]
- Changed
get_hospital_pricing2 fields changed- added
Output schema / properties / pricing / items / properties / loa_linkAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / pricing / items / requiredPrevious value: -[ - "hospital_id", - "hospital_name", - "hospital_location", - "cpt_code", - "cpt_description", - "cash_price", - "cash_source_labels", - "insurance_prices", - "source_labels", - "record_count" -]New value: +[ + "hospital_id", + "hospital_name", + "hospital_location", + "cpt_code", + "cpt_description", + "cash_price", + "cash_source_labels", + "insurance_prices", + "source_labels", + "record_count", + "loa_link" +]
- Changed
search_entities2 fields changed- added
Output schema / properties / entities / items / properties / loa_linkAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / entities / items / requiredPrevious value: -[ - "id", - "entity_type", - "slug", - "canonical_name", - "display_name", - "city", - "state", - "zip_code", - "data_quality_score", - "updated_at" -]New value: +[ + "id", + "entity_type", + "slug", + "canonical_name", + "display_name", + "city", + "state", + "zip_code", + "data_quality_score", + "updated_at", + "loa_link" +]
- Changed
search_hospitals2 fields changed- added
Output schema / properties / hospitals / items / properties / loa_linkAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / hospitals / items / requiredPrevious value: -[ - "hospital_id", - "name", - "address", - "city", - "state", - "zip_code", - "phone", - "website" -]New value: +[ + "hospital_id", + "name", + "address", + "city", + "state", + "zip_code", + "phone", + "website", + "loa_link" +]
- Changed
search_providers2 fields changed- added
Output schema / properties / providers / items / properties / loa_linkAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "description": "Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.", + "properties": { + "action": { + "enum": [ + "book", + "website", + "profile" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "action", + "label" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / providers / items / requiredPrevious value: -[ - "npi", - "name", - "specialty", - "address", - "city", - "state", - "zip_code", - "phone" -]New value: +[ + "npi", + "name", + "specialty", + "address", + "city", + "state", + "zip_code", + "phone", + "loa_link" +]
1 tool update
- Changed
submit_entity_update_request8 fields changed- added
Input schema / properties / entity_type / descriptionAdded value: +"Entity kind for the requested update; use unknown only when it cannot be determined." - added
Input schema / properties / price_items / descriptionAdded value: +"Optional structured price rows proposed for Loa review." - added
Input schema / properties / proposed_changes / descriptionAdded value: +"Structured profile or listing fields proposed for Loa review." - added
Input schema / properties / request_type / descriptionAdded value: +"Type of reviewed change being requested." - added
Input schema / properties / submitter_name / descriptionAdded value: +"Name of the person submitting the request." - added
Input schema / properties / submitter_phone / descriptionAdded value: +"Optional callback phone number for reviewer follow-up." - added
Input schema / properties / submitter_role / descriptionAdded value: +"Submitter role, such as billing manager or authorized agent." - added
Input schema / properties / uploaded_file_url / descriptionAdded value: +"Optional public URL for an uploaded evidence file."
12 tool updates
- First observed
explain_price_sources - First observed
get_entity_prices - First observed
get_entity_profile - First observed
get_hospital_pricing - First observed
get_market_pricing - First observed
get_pricing_estimate - First observed
search_cpt_codes - First observed
search_entities - First observed
search_hospitals - First observed
search_providers - First observed
submit_entity_update_request - First observed
suggest_procedures
Related MCP Connectors
Search US hospital prices, compare costs, and find insurance-negotiated rates.
hospital-prices -- what US hospitals charge for a service: gross charge, self-pay price and…
CMS quality ratings, payer-negotiated prices, and clinician data for 41K+ US healthcare facilities.
US healthcare public data, one endpoint: prices, Medicare, MA benefits, Stars, Medicaid, providers.
Related MCP Servers
AlicenseAqualityCmaintenanceProvides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.1256 npmMIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to look up what US hospitals charge for a CPT/HCPCS or MS-DRG code near a ZIP — gross charge, discounted self-pay price, and de-identified payer-negotiated rates — sourced from the standard charges files hospitals publish under the CMS price transparency rule. Also compares up to 10 hospitals side by side by CMS Certification Number and reports whether a given hospital's prices are held, and why not, when they aren't.377 npmMIT
- AlicenseAqualityBmaintenanceEnables any MCP client to ask what a medical procedure costs at three Chicago hospitals and get back rows cited to each hospital's own published price file and provider registry data. Tools stay read-only and typed, returning provenance such as source file, SHA-256, effective date, and release tag with every result.621 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables querying and analyzing non-reimbursable medical treatment costs in South Korea using the Health Insurance Review & Assessment Service API. Supports searching treatment codes, comparing hospital prices, regional statistics analysis, and finding cost-effective healthcare options.-
Glama MCP Gateway
Add one secure layer between your agents and this server.