Skip to main content
Glama

Server Details

Search source-labeled hospital prices, CPT codes, providers, and healthcare cost estimates.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
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

A4.1/5.0

Scored across 12 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
compare_local_pricesCompare Local PricesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
sortNoOrder by price (default) or distance
limitNoMaximum hospitals to return (default 10, max 20)
insurerNoInsurance company name only, e.g. "Aetna" or "Blue Cross"; no member IDs
cpt_codeYesOne CPT or HCPCS code, e.g. "73721" for a knee MRI
zip_codeYes5-digit US ZIP code to search around
radius_milesNoSearch radius in miles (default 25, max 100)
deductible_metNoWhether the user has met this year's deductible; refines answer.verdict

Output Schema

NameRequiredDescription
notesYes
queryYes
answerYes
optionsYes
provenanceYes
insurer_matchYes
price_summaryYes
hospitals_with_priceYes
hospitals_without_priceYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 SourcesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
slugYesExact Loa entity slug from search_entities.
limitNoMaximum number of prices to inspect, default 50, max 100.
cpt_codesNoOptional CPT codes to explain. If omitted, explains current indexed prices.

Output Schema

NameRequiredDescription
entityYes
caveatsYes
cpt_codesYes
provenanceYes
price_countYesTotal resolver rows, including unavailable placeholders.
source_summaryYes
available_price_countYesRows with a usable price; excludes unavailable placeholders.
unavailable_price_countYesRows without a usable price; not evidence of a published or verified price.
comparable_mrf_price_countYes

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 PricesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
slugYesExact Loa entity slug from search_entities or a Loa SEO page.
limitNoMaximum number of prices, default 50, max 100.
cpt_codesNoOptional CPT codes to filter. If omitted, returns current indexed prices up to the limit.

Output Schema

NameRequiredDescription
totalYes
entityYes
pricesYes
loa_linkYes
provenanceYes

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 ProfileA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
slug_or_idYesExact Loa entity slug or entity_pages.id from search_entities.
entity_typeNoOptional disambiguation when slug_or_id is a slug.

Output Schema

NameRequiredDescription
entityYes
loa_linkYesShare 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.
provenanceYes
provider_actionsYes
profile_provenanceYes
profile_field_provenanceYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 PricingA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
cpt_codesYesCPT procedure codes to look up pricing for
hospital_idsYesHospital IDs from search_hospitals results

Output Schema

NameRequiredDescription
totalYes
pricingYes
provenanceYes
services_foundYes
hospitals_foundYes

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 PricingA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
stateNoState 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_codeNoZIP code, used only to pick the state when state is omitted
cpt_codesYesCPT codes to look up (e.g. ["99213", "93000"])

Output Schema

NameRequiredDescription
stateYes
pricingYes
provenanceYes

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 EstimateA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
zip_codeNoU.S. ZIP code used to pick the state (omit only for U.S. national figures)
procedure_codesYesCPT procedure codes to price (e.g. ["99213", "85025"])

Output Schema

NameRequiredDescription
stateYes
zipCodeYes
disclaimerYes
proceduresYes
provenanceYes
limitationsYes
missingCodesYes
estimatedCostYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 procedureA
Read-onlyIdempotent
Inspect

Find procedures by everyday name or billing code. Follow decision: clarify important variants before pricing; never choose a clinical default.

NameRequiredDescriptionDefault
limitNoMaximum number of results (default 10, max 25)
queryYesConcise procedure name, medical term, or candidate CPT code; omit personal narratives and identifiers (e.g. "knee MRI", "blood work", "99213")
categoryNoFilter by category: "evaluation_management", "laboratory", "radiology", "surgery", "preventive"
specialtyNoFilter by medical specialty (e.g. "cardiology", "dermatology")

Output Schema

NameRequiredDescription
queryYes
totalYes
resultsYes
categoryYes
coverageYes
decisionYes
specialtyYes
provenanceYes
suggestionsYes
pricing_codesYes
related_chargesYes
availability_scopeYes

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 SearchA
Read-onlyIdempotent
Inspect

Find Loa hospital and provider listings by name or state. Resolve the exact slug before profile, price, or source lookups.

NameRequiredDescriptionDefault
limitNoMaximum number of results, default 20, max 50.
queryNoHospital or provider name to search for.
stateNoTwo-letter state code or full state name, e.g. CA or New York.
entity_typeNoOptional filter for hospital or provider entities.

Output Schema

NameRequiredDescription
queryYes
totalYes
entitiesYes
provenanceYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 SearchA
Read-onlyIdempotent
Inspect

Find hospitals by name or location, with addresses, contact details, and IDs for get_hospital_pricing.

NameRequiredDescriptionDefault
cityNoCity name
nameNoHospital name to search for
limitNoMax results (default 20)
stateNoTwo-letter state code or full state name, e.g. "CA" or "New York".
zip_codeNoZIP code

Output Schema

NameRequiredDescription
queryYes
totalYes
hospitalsYes
provenanceYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 SearchA
Read-onlyIdempotent
Inspect

Find clinicians and healthcare organizations in the CMS NPI Registry by name, specialty, or location. Returns directory details, not prices.

NameRequiredDescriptionDefault
nameNoProvider name to search for (e.g. "John Smith")
limitNoMax results (default 20)
locationNoLocation to search in
specialtyNoMedical specialty (e.g. "Cardiology", "Family Medicine")

Output Schema

NameRequiredDescription
queryYes
totalYes
providersYes
provenanceYes

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 RequestA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
attestationNoHow the submitter is connected to the submitted evidence.
entity_slugNoExact Loa entity slug if entity_page_id is not available.
entity_typeNoEntity kind for the requested update; use unknown only when it cannot be determined.unknown
price_itemsNoOptional structured price rows proposed for Loa review.
source_urlsNoOptional public URLs reviewers can use to verify the submitted change.
request_typeYesType of reviewed change being requested.
source_notesNoShort verification notes, source context, or callback instructions.
entity_page_idNoLoa entity_pages.id for the provider or hospital.
submitter_nameNoName of the person submitting the request.
submitter_roleNoSubmitter role, such as billing manager or authorized agent.
idempotency_keyNoOptional stable retry key. Loa derives one from the payload if omitted.
submitter_emailYesWork email for the submitting representative.
submitter_phoneNoOptional callback phone number for reviewer follow-up.
proposed_changesNoStructured profile or listing fields proposed for Loa review.
uploaded_file_urlNoOptional public URL for an uploaded evidence file.
submitter_organizationNoProvider, hospital, or agent organization represented by the submitter.

Output Schema

NameRequiredDescription
statusYes
requestIdYes
entityPageIdYes
reusedExistingYes
updateRequestIdYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 4 tool updates
    • Changedget_entity_prices2 fields changed
      • addedOutput schema / properties / prices / items / properties / comparableMrfPrice / properties / includes
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / prices / items / properties / includes
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_hospital_pricing4 fields changed
      • addedOutput schema / properties / pricing / items / properties / cash_includes
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / pricing / items / properties / insurance_prices / items / properties / includes
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / pricing / items / properties / insurance_prices / items / required
        Previous value: -[
        -  "payer",
        -  "plan",
        -  "price",
        -  "source_label"
        -]New value: +[
        +  "includes",
        +  "payer",
        +  "plan",
        +  "price",
        +  "source_label"
        +]
      • changedOutput schema / properties / pricing / items / required
        Previous 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"
        +]
    • Changedget_market_pricing2 fields changed
      • addedOutput schema / properties / pricing / items / properties / procedure_name
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / pricing / items / required
        Previous 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"
        +]
    • Changedsearch_cpt_codes11 fields changed
      • addedOutput schema / properties / availability_scope
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / coverage
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / decision
        Added 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"
        +}
      • addedOutput schema / properties / pricing_codes
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / related_charges
        Added 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"
        +}
      • addedOutput schema / properties / results / items / properties / price_availability
        Added value: +{
        +  "enum": [
        +    "available",
        +    "unavailable",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / results / items / properties / pricing_note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / service_role
        Added value: +{
        +  "enum": [
        +    "procedure",
        +    "add_on",
        +    "separate_charge"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "code",
        -  "name",
        -  "description",
        -  "category",
        -  "isCommon"
        -]New value: +[
        +  "code",
        +  "name",
        +  "description",
        +  "category",
        +  "isCommon",
        +  "price_availability",
        +  "service_role",
        +  "pricing_note"
        +]
      • addedOutput schema / properties / suggestions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "code": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "specialty",
        -  "category",
        -  "total",
        -  "provenance",
        -  "results"
        -]New value: +[
        +  "query",
        +  "specialty",
        +  "category",
        +  "total",
        +  "provenance",
        +  "results",
        +  "coverage",
        +  "pricing_codes",
        +  "availability_scope",
        +  "related_charges",
        +  "suggestions",
        +  "decision"
        +]
  2. 11 tool updates
    • Changedcompare_local_prices4 fields changed
      • changedOutput schema / properties / answer / properties / lowest_cash / anyOf
        Previous 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"
        +  }
        +]
      • changedOutput schema / properties / answer / properties / lowest_insurer_rate / anyOf
        Previous 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"
        +  }
        +]
      • changedOutput schema / properties / options / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedexplain_price_sources5 fields changed
      • addedOutput schema / properties / available_price_count
        Added value: +{
        +  "description": "Rows with a usable price; excludes unavailable placeholders.",
        +  "type": "number"
        +}
      • addedOutput schema / properties / price_count / description
        Added value: +"Total resolver rows, including unavailable placeholders."
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
      • addedOutput schema / properties / unavailable_price_count
        Added value: +{
        +  "description": "Rows without a usable price; not evidence of a published or verified price.",
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedget_entity_prices2 fields changed
      • changedOutput schema / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedget_entity_profile5 fields changed
      • changedOutput schema / properties / loa_link / description
        Previous 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."
      • addedOutput schema / properties / loa_link / properties / label / description
        Added value: +"Use this exact label as the link text; it identifies the destination."
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
      • addedOutput schema / properties / provider_actions
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "entity",
        -  "loa_link",
        -  "profile_provenance",
        -  "profile_field_provenance",
        -  "provenance"
        -]New value: +[
        +  "entity",
        +  "loa_link",
        +  "provider_actions",
        +  "profile_provenance",
        +  "profile_field_provenance",
        +  "provenance"
        +]
    • Changedget_hospital_pricing2 fields changed
      • changedOutput schema / properties / pricing / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedget_market_pricing1 field changed
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedget_pricing_estimate2 fields changed
      • changedInput schema / properties / zip_code / description
        Previous 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)"
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedsearch_cpt_codes1 field changed
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedsearch_entities2 fields changed
      • changedOutput schema / properties / entities / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedsearch_hospitals2 fields changed
      • changedOutput schema / properties / hospitals / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
    • Changedsearch_providers2 fields changed
      • addedOutput schema / properties / provenance / properties / source_url / description
        Added 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."
      • changedOutput schema / properties / providers / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
  3. 1 tool update
    • Changedcompare_local_prices6 fields changed
      • addedInput schema / properties / deductible_met
        Added value: +{
        +  "description": "Whether the user has met this year's deductible; refines answer.verdict",
        +  "enum": [
        +    "yes",
        +    "no",
        +    "not_sure"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / answer
        Added 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"
        +}
      • changedOutput schema / properties / options / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / query / properties / deductible_met
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "yes",
        +        "no",
        +        "not_sure"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / query / required
        Previous 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"
        +]
      • changedOutput schema / required
        Previous 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"
        +]
  4. 1 tool update
    • Addedcompare_local_prices
  5. 1 tool update
    • Changedget_entity_prices2 fields changed
      • addedOutput schema / properties / prices / items / properties / comparableMrfPrice / properties / practiceConfirmation
        Added 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"
        +}
      • addedOutput schema / properties / prices / items / properties / practiceConfirmation
        Added 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"
        +}
  6. 8 tool updates
    • Changedget_entity_prices1 field changed
      • changedOutput schema / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
    • Changedget_entity_profile1 field changed
      • changedOutput schema / properties / loa_link / properties / action / enum
        Previous value: -[
        -  "book",
        -  "website",
        -  "profile"
        -]New value: +[
        +  "book",
        +  "request",
        +  "website",
        +  "profile"
        +]
    • Changedget_hospital_pricing1 field changed
      • changedOutput schema / properties / pricing / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
    • Changedsearch_cpt_codes1 field changed
      • changedInput schema / properties / query / description
        Previous 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\")"
    • Changedsearch_entities1 field changed
      • changedOutput schema / properties / entities / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
    • Changedsearch_hospitals1 field changed
      • changedOutput schema / properties / hospitals / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
    • Changedsearch_providers1 field changed
      • changedOutput schema / properties / providers / items / properties / loa_link / anyOf
        Previous 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"
        +  }
        +]
    • Removedsuggest_procedures
  7. 3 tool updates
    • Changedget_hospital_pricing2 fields changed
      • addedOutput schema / properties / pricing / items / properties / list_price
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / pricing / items / required
        Previous 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"
        +]
    • Changedget_market_pricing12 fields changed
      • changedInput schema / properties / state / description
        Previous 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."
      • changedInput schema / properties / zip_code / description
        Previous value: -"ZIP code (used with state for location context)"New value: +"ZIP code, used only to pick the state when state is omitted"
      • changedOutput schema / properties / pricing / items / properties / cash_price / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / pricing / items / properties / insurance_by_payer
        Added 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"
        +}
      • changedOutput schema / properties / pricing / items / properties / insurance_price / anyOf
        Previous 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"
        +  }
        +]
      • addedOutput schema / properties / pricing / items / properties / limitations
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / pricing / items / properties / list_price
        Added 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"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / pricing / items / properties / scope
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "state",
        +        "national"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / pricing / items / properties / source_dates
        Added 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)"
        +}
      • addedOutput schema / properties / pricing / items / properties / states_covered
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / pricing / items / properties / status
        Added value: +{
        +  "enum": [
        +    "ok",
        +    "insufficient_data"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / pricing / items / required
        Previous 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"
        +]
    • Changedget_pricing_estimate21 fields changed
      • changedInput schema / properties / zip_code / description
        Previous value: -"ZIP code for regional pricing (defaults to national average)"New value: +"ZIP code used to pick the state (omit for national figures)"
      • removedOutput schema / properties / containsHeuristicEstimates
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / estimatedCost / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / estimatedCost / type
        Removed value: -"number"
      • addedOutput schema / properties / limitations
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / missingCodes
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / procedures / items / properties / estimatedCost / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / procedures / items / properties / estimatedCost / type
        Removed value: -"number"
      • addedOutput schema / properties / procedures / items / properties / hospital_count
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • removedOutput schema / properties / procedures / items / properties / priceRange / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / procedures / items / properties / priceRange / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "max": {
        +        "type": "number"
        +      },
        +      "min": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "min",
        +      "max"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / procedures / items / properties / priceRange / properties
        Removed value: -{
        -  "max": {
        -    "type": "number"
        -  },
        -  "min": {
        -    "type": "number"
        -  }
        -}
      • removedOutput schema / properties / procedures / items / properties / priceRange / required
        Removed value: -[
        -  "min",
        -  "max"
        -]
      • removedOutput schema / properties / procedures / items / properties / priceRange / type
        Removed value: -"object"
      • changedOutput schema / properties / procedures / items / properties / pricingMethod / enum
        Previous value: -[
        -  "observed_market_median",
        -  "heuristic_cpt_range"
        -]New value: +[
        +  "observed_market_median",
        +  "insufficient_data"
        +]
      • addedOutput schema / properties / procedures / items / properties / scope
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "state",
        +        "national"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / procedures / items / required
        Previous value: -[
        -  "code",
        -  "description",
        -  "estimatedCost",
        -  "priceRange",
        -  "pricingMethod",
        -  "data_points"
        -]New value: +[
        +  "code",
        +  "description",
        +  "estimatedCost",
        +  "priceRange",
        +  "pricingMethod",
        +  "scope",
        +  "data_points",
        +  "hospital_count"
        +]
      • addedOutput schema / properties / state
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / zipCode / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / zipCode / type
        Removed value: -"string"
      • changedOutput schema / required
        Previous value: -[
        -  "estimatedCost",
        -  "procedures",
        -  "zipCode",
        -  "containsHeuristicEstimates",
        -  "provenance",
        -  "disclaimer"
        -]New value: +[
        +  "estimatedCost",
        +  "procedures",
        +  "zipCode",
        +  "state",
        +  "missingCodes",
        +  "limitations",
        +  "provenance",
        +  "disclaimer"
        +]
  8. 6 tool updates
    • Changedget_entity_prices2 fields changed
      • addedOutput schema / properties / loa_link
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "entity",
        -  "prices",
        -  "total",
        -  "provenance"
        -]New value: +[
        +  "entity",
        +  "loa_link",
        +  "prices",
        +  "total",
        +  "provenance"
        +]
    • Changedget_entity_profile2 fields changed
      • addedOutput schema / properties / loa_link
        Added 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"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "entity",
        -  "profile_provenance",
        -  "profile_field_provenance",
        -  "provenance"
        -]New value: +[
        +  "entity",
        +  "loa_link",
        +  "profile_provenance",
        +  "profile_field_provenance",
        +  "provenance"
        +]
    • Changedget_hospital_pricing2 fields changed
      • addedOutput schema / properties / pricing / items / properties / loa_link
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / pricing / items / required
        Previous 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"
        +]
    • Changedsearch_entities2 fields changed
      • addedOutput schema / properties / entities / items / properties / loa_link
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / entities / items / required
        Previous 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"
        +]
    • Changedsearch_hospitals2 fields changed
      • addedOutput schema / properties / hospitals / items / properties / loa_link
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / hospitals / items / required
        Previous 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"
        +]
    • Changedsearch_providers2 fields changed
      • addedOutput schema / properties / providers / items / properties / loa_link
        Added 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"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / providers / items / required
        Previous value: -[
        -  "npi",
        -  "name",
        -  "specialty",
        -  "address",
        -  "city",
        -  "state",
        -  "zip_code",
        -  "phone"
        -]New value: +[
        +  "npi",
        +  "name",
        +  "specialty",
        +  "address",
        +  "city",
        +  "state",
        +  "zip_code",
        +  "phone",
        +  "loa_link"
        +]
  9. 1 tool update
    • Changedsubmit_entity_update_request8 fields changed
      • addedInput schema / properties / entity_type / description
        Added value: +"Entity kind for the requested update; use unknown only when it cannot be determined."
      • addedInput schema / properties / price_items / description
        Added value: +"Optional structured price rows proposed for Loa review."
      • addedInput schema / properties / proposed_changes / description
        Added value: +"Structured profile or listing fields proposed for Loa review."
      • addedInput schema / properties / request_type / description
        Added value: +"Type of reviewed change being requested."
      • addedInput schema / properties / submitter_name / description
        Added value: +"Name of the person submitting the request."
      • addedInput schema / properties / submitter_phone / description
        Added value: +"Optional callback phone number for reviewer follow-up."
      • addedInput schema / properties / submitter_role / description
        Added value: +"Submitter role, such as billing manager or authorized agent."
      • addedInput schema / properties / uploaded_file_url / description
        Added value: +"Optional public URL for an uploaded evidence file."
  10. 12 tool updates
    • First observedexplain_price_sources
    • First observedget_entity_prices
    • First observedget_entity_profile
    • First observedget_hospital_pricing
    • First observedget_market_pricing
    • First observedget_pricing_estimate
    • First observedsearch_cpt_codes
    • First observedsearch_entities
    • First observedsearch_hospitals
    • First observedsearch_providers
    • First observedsubmit_entity_update_request
    • First observedsuggest_procedures

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    12
    56 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    6
    21 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.