Skip to main content
Glama

LowerScript Prescription Prices

Server Details

Live Rx cash prices at nearby pharmacies in 8 US states + the free LowerScript card. Not insurance.

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
99.8% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

compare_canada and get_prices both surface cash prices, but one is explicitly a cross-border comparison while the other returns a pharmacy-level price spread; the descriptions make that boundary workable. find_drug and get_card are clearly distinct from the pricing tools.

Naming Consistency5/5

All four tools use snake_case verb_noun names: compare_canada, find_drug, get_card, get_prices. The verbs vary appropriately by action while maintaining a predictable pattern.

Tool Count5/5

Four tools is well-scoped for a focused prescription price lookup service. Each tool has a distinct role—drug resolution, domestic pricing, Canada comparison, and static card details—with no redundant or filler tools.

Completeness4/5

The surface covers the core lifecycle: resolve a drug, get local cash prices, compare Canadian prices, and retrieve the discount card. Minor gaps include no way to list all supported medicines or bulk-price multiple drugs, but the single-drug and multi-drug compare paths cover the main workflows.

Available Tools

4 tools
compare_canadaCompare Canadian and U.S. pricesA
Read-onlyIdempotent
Inspect

Use this when someone asks about buying prescription medicine from Canada, Canadian pharmacy prices versus U.S. prices, or what the new U.S. Customs mail-import date, January 20, 2027, means for a Canadian mail-order refill. Give 1 to 5 medicine names (brand or generic, English or Spanish, any capitalization) from LowerScript's list of medicines people buy from Canada plus the caller's 5-digit ZIP in a state LowerScript serves (FL, TX, AZ, NC, SC, GA, IL, CA). For each medicine it returns the Canadian last-listed price exactly as captured (price, pack, strength, origin, source pharmacy, capture date; shipping not included), today's lowest LowerScript cash price near the ZIP for the brand and the generic when the exact same strength and quantity is priced (pharmacy and as-of date), a verdict (lower_here, lower_canada, same, compare_packs or no_price) computed only on exact matches and never scaled across strengths or packs, whether the medicine is on the Medicare-negotiated list, and links to the state's Canada page, the medicine's brand page (Florida example) and the price check. Names not on the list come back in not_found with a pointer to the price check. One internal price lookup per call. Cost information only: it refuses clinical questions (dose, safety, interactions, starting or stopping a medicine). LowerScript is a prescription discount program, not insurance.

NameRequiredDescriptionDefault
zipYes5-digit US ZIP code in FL, TX, AZ, NC, SC, GA, IL or CA. Used to find today's LowerScript prices nearby and to link the right state page.
langNoResponse language. Defaults to English.
drugsYes1 to 5 medicine names, brand or generic (e.g. "Eliquis", "apixaban", "Januvia"). Matching is case- and accent-insensitive against the Canada comparison list.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotent/non-destructive, yet the description still adds real behavior: prices are returned 'exactly as captured' with shipping excluded, verdicts are only computed on exact strength/pack matches and never scaled, and unmatched names land in not_found. It also discloses cost (one internal price lookup per call) and the cost-only scope plus the 'not insurance' disclaimer. Minor deduction for burying these traits in one long paragraph rather than stating them as discrete guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger conditions are correctly front-loaded, but the remainder is a single dense block with nested parentheticals ('price, pack, strength, origin, source pharmacy, capture date; shipping not included', '(Florida example)') that make it hard to scan. The information is largely useful, but the packaging costs readability.

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 no output schema, the description carries the full burden of return semantics and does so thoroughly: per-medicine fields, verdict enumeration (lower_here, lower_canada, same, compare_packs, no_price), Medicare-negotiated-list flag, and the returned links. Nothing an agent needs to call this correctly or interpret the result is 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; the description still adds usable meaning by clarifying that names may be brand or generic, English or Spanish, in any capitalization, and that the ZIP drives both nearby pricing and the state-page link. It does not add format or examples beyond what the schema already carries, so it stops short of a 5.

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 description names the exact comparison performed (Canadian last-listed price vs. today's lowest LowerScript cash price near a ZIP) and the inputs that drive it. It is clearly distinguishable from the price-check sibling, which it references as the fallback for names not on the Canada list.

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?

Opens with concrete trigger scenarios ('buying prescription medicine from Canada', 'what the new U.S. Customs mail-import date... means for a Canadian mail-order refill') and states exclusions explicitly: clinical questions are refused, and ZIPs must be in one of eight served states. It also defines the fallback path via not_found pointing at the price check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_drugFind a drugA
Read-onlyIdempotent
Inspect

Resolve free-text drug wording (brand or generic, English or Spanish) to the canonical LowerScript/RxSense drug: its known dosage forms, strengths, and a typical fill quantity. Cost/availability lookup only — never a substitute drug, never a dose recommendation, never priced (use get_prices for a price). Returns a "try another name" message when nothing matches.

NameRequiredDescriptionDefault
queryYesDrug name in English or Spanish, brand or generic (e.g. "metformin", "Ozempic", "amoxicilina").
languageNoResponse language. Defaults to English.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behaviorais. The description adds valuable behavioral context beyond these: it returns a 'try another name' message on no match, resolves only to canonical drug data, and clarifies it is cost/availability lookup only. There is no contradiction with the annotations.

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 compact and front-loaded: the main action and output are in the first sentence, followed by exclusions and the alternative tool, then the failure-mode message. Every sentence earns its place with no filler or repetition of the schema.

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 no output schema, the description adequately conveys what the tool returns: canonical drug data including dosage forms, strengths, and fill quantity, plus a fallback 'try another name' message. It also covers the key limitation (no pricing) and routes to get_prices, so an agent has enough context to invoke the tool correctly without missing critical behavior.

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 query and language parameters are already fully documented in the input schema. The description does not add much parameter-specific detail beyond stating the tool handles brands/generics and English/Spanish, which the schema also covers. This meets the baseline for fully documented schema parameters.

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 description names a specific verb ('Resolve') and resource ('free-text drug wording' to 'canonical LowerScript/RxSense drug'), and enumerates what the resolution yields: dosage forms, strengths, and typical fill quantity. It also explicitly differentiates itself from get_prices by stating it is 'never priced' and directs the agent there for pricing.

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?

The description gives clear when-to-use context: resolving brand/generic drug wording in English or Spanish. It also provides explicit exclusions — 'never a substitute drug, never a dose recommendation' — and names the alternative tool get_prices for price lookups, making the routing decision unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cardGet the LowerScript cardA
Read-onlyIdempotent
Inspect

The static LowerScript discount card: RxBIN/RxPCN/RxGRP codes, how to use it at the pharmacy counter, wallet-pass and card-page links, member support, and the exact compliance wording (not insurance, up to 80%). No lookup involved — always the same answer for a given language.

NameRequiredDescriptionDefault
languageNoCard language / RxGRP network. Defaults to English.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds real value beyond that: it is "static," involves "no lookup," and is deterministic ("always the same answer for a given language"), reinforcing the idempotent hint with concrete behavior.

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?

It is a single front-loaded sentence led by the resource, with the determinism caveat closing it out. Dense but every clause maps to a distinct piece of returned content, with little waste.

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 no output schema, the description carries the burden of describing returns and does so thoroughly: codes, usage instructions, links, support, and exact compliance wording. Combined with rich annotations and a single optional parameter, nothing an agent needs to call it correctly 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 language enum and English default are already documented in the schema. The description only gestures at language via "for a given language"/RxGRP and adds no syntax beyond the schema, so baseline 3 is appropriate.

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 description names a specific resource and enumerates its contents (RxBIN/RxPCN/RxGRP codes, pharmacy-counter instructions, wallet-pass/card-page links, member support, compliance wording), so an agent knows exactly what it gets back. It also marks this as a static card distinct from lookups, separating it from find_drug and get_prices.

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?

"No lookup involved — always the same answer for a given language" tells the agent this is a deterministic static fetch needing no user-specific input, which is clear usage context. It stops short of explicit when-to-use/when-not routing, but the sibling tools (find_drug, get_prices) are functionally distinct, so alternatives are not really in play.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricesGet pharmacy pricesA
Read-onlyIdempotent
Inspect

Live cash prices for one drug at nearby pharmacies (up to 10, cheapest first, full spread shown — not just the lowest), using the LowerScript discount network (RxSense). Carries the LowerScript card codes, a wallet-pass link, and the lowerscript.com page for the same answer. One drug per call — no bulk lookups. Requires a 5-digit US ZIP in a state LowerScript currently serves (FL, TX, AZ, NC, SC, GA, IL, CA); city/state alone is not yet supported. Cost and pharmacy information only — refuses any clinical question (dose, safety, interactions, pregnancy, starting or stopping a medicine) with no price.

NameRequiredDescriptionDefault
zipYes5-digit US ZIP code. Required for a price — city/state alone cannot be geocoded by this tool yet.
cityNoOptional city name, for context only. Does not replace zip — a price lookup still needs a 5-digit ZIP.
drugYesDrug name, English or Spanish, brand or generic.
formNoOptional dosage form, e.g. "tablet", "capsule", "pen", "inhaler".
stateNoOptional 2-letter US state, for context only. Does not replace zip.
languageNoResponse language. Defaults to English.
quantityNoOptional fill quantity. Defaults to a typical fill size for the drug's own form (e.g. 30 tablets; 1 pen/inhaler).
strengthNoOptional strength, e.g. "500 mg".

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond the annotations: it discloses the upstream network (LowerScript/RxSense), that results include card codes, a wallet-pass link and a lowerscript.com page, that the full price spread is shown rather than just the cheapest, and that it hard-refuses clinical questions. Safety profile is already covered by readOnlyHint/idempotentHint, so remaining gaps like auth or rate limits are minor.

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 dense, front-loaded sentences that each carry information; the cheapest-first/not-just-lowest behavior and the state list are the kind of detail an agent needs. Slightly long, but no sentence is wasted.

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 no output schema, the description does the work of explaining the return payload (prices spread, card codes, wallet link, web page) and the hard prerequisites (valid served-state ZIP). An agent has everything needed to call it correctly and to know when it will refuse.

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 usefully enumerates the eight served states (FL, TX, AZ, NC, SC, GA, IL, CA) — a constraint not present in the schema — and reinforces the ZIP-over-city/state rule. It adds genuine meaning beyond the schema.

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+resource (live cash prices for one drug at nearby pharmacies) plus scope detail (up to 10, cheapest first, full spread). An agent can immediately distinguish this from find_drug (name resolution) and get_card (card retrieval).

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 explicit constraints: one drug per call, no bulk lookups, requires a 5-digit ZIP in a served state, city/state alone unsupported, and refuses clinical questions. It does not explicitly point to find_drug for resolving an unknown drug name, which is the one routing gap.

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. 1 tool update
    • Addedcompare_canada
  2. 3 tool updates
    • First observedfind_drug
    • First observedget_card
    • First observedget_prices

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Gives AI assistants live access to US prescription drug prices by pharmacy with observation dates, the free discount card, and vetted US equivalents of foreign-brand medicines, all through the Model Context Protocol.
    10
    40 PyPI
    MIT
  • 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
    Provides unified access to drug formulary data from US ACA marketplace health insurance plans, enabling drug search, coverage details, restriction info, and plan comparison across thousands of plans.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search for real-time prescription drug prices, find local pharmacies, and retrieve discount coupons through the GoodRx service. It uses Playwright browser automation to provide drug comparisons and checkout details like BIN and PCN codes.
    5
    10 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources