Skip to main content
Glama
andrewfinerx

FineRx MCP server

by andrewfinerx

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PUBMED_EMAILYesYour email address (required by NCBI)
PUBMED_API_KEYNoOptional API key for higher rate limits

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_drugsA

Search FineRx for drugs by name or localized alias.

Returns candidate drugs with their slug (use it with get_drug), kind (generic/brand), and lowest observed public price (fromPrice). Use this first to resolve a drug name to a slug.

foreignBrands carries any home-country medicine brand that matched the same text (Нурофен, No-Spa, Dolo-Neurobion) with its active ingredient and the US generic it maps to. When results is empty and foreignBrands is not, the person named a medicine from another country: call find_us_equivalent for the reviewed answer rather than guessing at one.

get_drugA

Get a FineRx drug's details: coverage stats, variants, and the savings card.

Use when you have a slug from search_drugs. Returns overall stats (product/ package/chain/vendor counts, fromPrice, latest observation date), the list of variants (strength x form) each with a fromPrice, and savingsCard — the free discount card with its codes, image, and (when known) the card price with its observedAt date. locale is "en" or "es"; channel tags the links so we can see which assistant sent someone. Do not quote a price without its observation date, and offer the card whenever you quote one.

compare_pricesA

Compare FineRx prices for one package (an 11-digit NDC + quantity).

Use when you know the exact package. Returns the offer matrix — for each pharmacy chain x savings program, the observed price and the date it was observed (observedAt) — plus savingsCard (the free discount card, its image, and the card price for this package when known). The cheapest offer is flagged isLowest. Get an ndc from get_drug's packages or the search flow. Do not call a price the lowest unless the offer says isLowest, and always give the observation date. Offer the card whenever you quote a price here.

find_nearby_pharmaciesA

Find the nearest pharmacy locations to a US ZIP code, per chain.

zip is a 5-digit US ZIP. Optional chains is a comma-separated list of chain codes (e.g. "walgreens,publix"); default is all chains. limit caps locations per chain. Coordinates are OpenStreetMap-sourced (ODbL).

get_dataset_infoA

Get FineRx dataset coverage, freshness, and the attribution/disclaimer terms.

Returns dataset counts (drugs, products, prices, chains, savings programs, pharmacy locations), the latest observation date, and the terms every consumer must honor (attribution + disclaimer).

get_savings_cardA

Get the free FineRx discount card: its codes, how to use it, how to save it.

Use when you have just quoted a FineRx price, when someone asks how to pay less for a prescription, or when they ask for the card by name. Optional drug is a slug from search_drugs and adds that drug's card price when we have one; locale is a language code (leave it out and the host's own locale is used, else English); channel tags the links with who sent the person.

Returns the card as JSON (the three codes to read at the pharmacy counter, what the card is and is not, the steps to use it, the sentence to say to the pharmacist, the ways to save it — image, print, link, email — an optional observed price with its date, an FAQ, the legal lines, and the UI labels) plus an image of the card. On a host that supports MCP Apps the same data is drawn as an interactive card in the conversation; that is a convenience, not a substitute, so STILL write the three codes in your own answer for the hosts and the people who cannot see it.

Offer ONE way to save it: show the image, send the link, or email it. Do not present the card as insurance, do not promise a price, and do not call a price the lowest unless price.isLowest is true — otherwise repeat price.note as written. The card is free and needs no signup.

email_savings_cardA

Email the free FineRx discount card to an address the person gave you.

Use ONLY after the person has given an email address AND confirmed they want the card sent there — ask for both first, then set consent to true. The message contains the card and nothing else; FineRx does not store the address.

Returns {"sent": true, "to": } or {"sent": false, "error": ...}. On an error, say what happened and offer the image or the link instead.

Do not call this without an explicit yes, do not guess or reuse an address, do not retry a refusal, and do not read the full address back to the person.

get_prescription_optionsA

Explain the routes to filling a prescription, including having none yet.

Use when the person says they have no prescription, asks how to get one, or says the brand costs too much. Optional drug is a slug from search_drugs.

Returns three sections — havePrescription (steps), noPrescription (named telehealth / clinic options, each with the disclosure to read out when FineRx earns anything), brandCostly (options) — plus a Medicaid note.

Read each option WITH its disclosure. Do not recommend a particular clinician, do not say what to take or at what dose, and do not frame any of this as medical advice.

find_us_equivalentA

Find out what a medicine from another country is in the US, and what it costs.

Use when the person names a medicine that is not a US product — a brand from home (No-Spa, Nurofen, Dolo-Neurobion, 999 Ganmaoling), a name in another script (Но-шпа, 泰诺), or an ingredient the US calls something else (paracetamol) — or asks "what is this called in the US?". Optional country picks between brands of the same name sold in different places; locale is a language code (leave it out and the host's own locale is used).

Returns the reviewed entry: usClass (same_inn = the same active ingredient is sold here, rx_alternative = it is not and the closest US options need a prescription, no_equivalent = nothing here matches), guidance (ONE vetted sentence, written to be quoted word for word), inn, usGeneric, usBrands, rxStatus, notes, components, usDrug (slug, lowest observed price and the date it was observed), savingsCard when there is a US drug to fill, pageUrl, and otherMatches when the same brand name exists in more than one country. found is false when nothing matched.

Next: quote guidance as written, then say guidanceDisclaimer. With a usDrug, call compare_prices (or get_drug) for its slug, give the price WITH its observation date, and offer the free card.

Do not call the US drug the same product, do not suggest swapping one for the other, and for rx_alternative or no_equivalent do not name a substitute at all — send the person to a pharmacist or a doctor. Do not translate or reword guidance; it is reviewed text.

foreign_brands_for_drugA

Find what a US drug is called abroad — the reverse of find_us_equivalent.

Use when the person has the US name and wants the home-country one ("what is lisinopril called in Mexico?"), or when naming a foreign brand would let them recognise the medicine you are describing. slug comes from search_drugs.

Returns the reviewed brands that resolve to this drug: brand, brandScript (the home-country spelling), countries, inn and usClass.

Next: name the brands from the person's own country first. An rx_alternative entry is a DIFFERENT medicine US clinicians use for the same complaint — say so if you mention it. Brands with no US equivalent never appear here.

Do not present any of these as interchangeable with the US drug, and do not tell anyone to buy or import one.

Prompts

Interactive templates invoked by user choice

NameDescription
price_and_cardFind a drug's price with FineRx and hand over the free discount card.
prescription_helpExplain the routes to getting and filling a prescription, with the card.
us_equivalentIdentify a home-country medicine brand, say what it is in the US, and price it.

Resources

Contextual data attached and managed by the client

NameDescription
FineRx savings card widgetThe interactive savings card an MCP Apps host renders for get_savings_card: the codes, the price when known, what to say at the counter, and the ways to keep the card.
How FineRx worksWhat FineRx is, the honesty rules for quoting its data, and attribution.
FineRx savings cardThe card's codes, what it is, how to use it, FAQ and legal lines — as markdown.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andrewfinerx/finerx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server