Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "compare_basket", "find_us_equivalents", "get_transfer_steps" and 1 more; changed the definition of "compare_prices", "search_drugs" and "ui_prices" (15 tools before, 19 now)
⟨107 unchanged words⟩ (+ ``quantity``) is accepted for older callers. ``compare_to`` is a dollar amount the person named for THIS package — their insurance copay, what they pay now, or a price they want to hear about — and the answer then says how many chains were seen below it. Returns the package, every chain's card price ⟨71 unchanged words⟩
⟨7 unchanged words⟩ "default":null,"title":"Channel"},"compare_to":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Compare To"},"drug":{"anyOf":[{"type":"string ⟨70 unchanged words⟩
⟨9 unchanged words⟩ in another script) and get its slug. Not needed before compare_prices, compare_basket or get_transfer_steps: they take a name as typed. Use it when the person asks what FineRx has, or a name is ambiguous. Returns candidates with ``slug`` (for get_drug and compare_prices ⟨54 unchanged words⟩
{"properties":{"compare_to":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Compare To"},"form":{"anyOf":[{"type":"string ⟨67 unchanged words⟩
Card prices for several medicines at once: which pharmacy chain was seen pricing the whole list, and the sum there. Use when the person names two or more medicines and asks what they cost together, or which one pharmacy to use for all of them. ``drugs`` is two to six names as typed or slugs; a dose and a pack size may ride in each name ("atorvastatin 40 mg 90"). ``zip`` is a 5-digit US ZIP — pass it only when the person gave one; without it the host's approximate location is used when there is one, else the chains are listed nationally. Returns the package used f…
What several medicines from another country are in the US — the list a person brought from home. Use when the person names two or more medicines that are not US products (brands from home, names in another script) and asks what they are here. ``brands`` is two to six names as typed; optional ``country`` picks between brands of the same name sold in different places. One medicine: use find_us_equivalent. Returns one entry per medicine found, each exactly as find_us_equivalent gives it: ``usClass``, the reviewed ``guidance`` sentence (quote it word for word), t…
How to move a prescription from the pharmacy that has it to the one the person wants to use. Use when the person says their prescription is at another pharmacy, asks how to switch pharmacies, or picked a chain from the card prices and their prescription is elsewhere. ``chain`` is the chain they want to move TO, as a code: walmart, cvs, walgreens, kroger, albertsons, costco, publix, heb, hyvee, meijer, wegmans, shoprite, bigy, gianteagle, kinney. Optional ``drug`` (+ strength, form, quantity) adds that chain's card price with its date. ``zip`` is a 5-digit US ZIP —…
The same list of medicines for another place — called by the FineRx card itself. ``slugs`` with their packages in parallel lists (an empty string or 0 = not set). ``where`` is the place as typed in the card: used for this one request, never stored. Not for the model.
Certificate changed, valid to 2026-12-30
Added "open_price_finder", "ui_equivalent" and "ui_suggest"; changed the definition of "get_prescription_options", "ui_nearby" and "ui_prices" (12 tools before, 15 now)
⟨28 unchanged words⟩ too much. Optional ``drug`` is a slug fromsearch_drugs.search_drugs (a name works too). Returns three sections — havePrescription(steps),noPrescription (clinics and telehealth, each with the disclosureto read outwhen FineRx earns anything), brandCostly — plus a Medicaidnote, where the drug's card prices start (dated), and the
Added "ui_nearby" and "ui_prices"; changed the definition of "compare_prices", "email_savings_card", "find_nearby_pharmacies" and 7 more (10 tools before, 12 now)
ComparePriceFineRxofpricesoneformedicineonewithpackagethe(anfree11-digitFineRxNDCcard+
Certificate recorded, valid to 2026-10-08
Authorization not required
First tool surface recorded: 10 tools (server version 1.30.0)
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Pharmacies near aZIPplace for the package on screen — called by the FineRx card itself. ``where`` is the place as typed in the card (a ZIP, a city or an address): used for this one request, never stored. Not for the model.
⟨57 unchanged words⟩ "default":null,"title":"Strength"},"where":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Where"},"zip":{"anyOf":[{"type":"string ⟨10 unchanged words⟩
Card prices for another dose, quantity orZIPplace — called by the FineRx card itself. Same ⟨4 unchanged words⟩ the package and place picked inside the card. ``where`` is the place as typed in the card (a ZIP, a city or an address): used for this one request, never stored. Not for the model.
⟨42 unchanged words⟩ "default":null,"title":"Strength"},"where":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Where"},"zip":{"anyOf":[{"type":"string ⟨12 unchanged words⟩
Open the FineRx search inside the card, so the person can look a medicine up themselves. Use when the person asks to open FineRx, wants to search or browse on their own, or is not sure of the name. Optional ``query`` pre-fills the search (a medicine, a brand from another country, a misspelling). The card then suggests matches as they type, each with where its card prices start and the date, and a pick shows card prices by chain near a place they choose. Returns the matches for ``query`` (if any), foreign brands that matched, a few often-searched medicines, and th…
One foreign brand the person picked in the FineRx search — called by the card itself. The same answer as find_us_equivalent for exactly that brand (its ``brandSlug`` from ui_suggest): the reviewed guidance, word for word, and the US product only when it has the same active ingredient. Not for the model.
Medicines matching what the person is typing in the FineRx search — called by the card itself. Up to eight matches with where their card prices start (dated), and foreign brands that matched. Not for the model.
{"properties":{"channel":{"defaultanyOf":[{"mcptype":"string"},{"type":"null"}],"default":null,"title":"Channel"},"drug":{"anyOf":[{"type":"string"},{"localetype":{"null"}],"default":null,"entitle":"Drug"},"form":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"LocaleForm"},"locale":{"anyOf":[{"type":"string"},{"ndctype":{"null"}],"default":null,"title":"NdcLocale"},"ndc":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Ndc"},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Quantity"},"strength":{"anyOf":[{"type":"numberstring"},{"type":"null"}],"requireddefault":null,"title":"Strength"},"zip":{"anyOf":[{"ndctype":"string"},{"quantitytype":"null"}],"default":null,"title":"Zip"}},"title":"compare_pricesArguments","type":"object"}
before
{"additionalProperties":true,"title":"compare_pricesDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Compare drugCard prices near a place"}
⟨19 unchanged words⟩ given an email address AND confirmed they wantthethe card sent there — ask for both first, then set ``consent`` to true. Themessagemessage contains the card and nothing else; FineRx does not store the address. Returns{"sent":``sent`` true,"to":with<maskedtheaddress>}masked address, or{"sent":``sent`` false,"error":with...}.the reason. On an error, say what happened and offer theimageprintable card or thelink instead.Donot call this without an explicit yes, do not guess or reuse an address,Dodonot retry a refusal,and do notor read the full addressback to the person.back.
⟨11 unchanged words⟩ ,"type":"string"},"locale":{"defaultanyOf":[{"entype":"string"},{"titletype":"Localenull"}],"typedefault":null,"stringtitle":"Locale"}},"required":["email"],"title ⟨3 unchanged words⟩
before
{"additionalProperties":true,"title":"email_savings_cardDictOutput","type":"object"}after
—{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint" ⟨6 unchanged words⟩
FindPharmacythestoresnearestwithinpharmacy30locationsmiles,toper chain — with the card price when aUSdrug is given. Use when the person asks where the pharmacies are near a ZIPcode,orpernearchain.them. ``zip`` is a 5-digit USZIP.ZIPOptional(leave``chains``it out to use the host's approximate location when there is one). ``family`` is a comma-separated list ofchainchain codes:(e.g.walmart,"cvs, walgreens, kroger, albertsons, costco, publix");,defaultheb, hyvee, meijer, wegmans, shoprite, bigy, gianteagle, kinney (``chains`` isallthe olderchains.name``limit``ofcapsthe same filter). With ``drug`` (+ optional strength, form,locationsquantity)pereachchain.storeCoordinatescarriesareitsOpenStreetMap-sourcedchain's card price and observation date. Returns stores (ODbLchain, address, city, distance, whether it is a pharmacy or a store with a pharmacy inside — not verified).and the card. Stock is not visible: suggest calling ahead. Coordinates © OpenStreetMap contributors.
⟨7 unchanged words⟩ "default":null,"title":"Chains"},"drug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Drug"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Family"},"form":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Form"},"limit":{"default":3,"title":"Limit","type":"integer"},"ziplocale":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"ZipLocale"},"quantity":{"anyOf":[{"type":"stringinteger"},{"type":"null"}],"requireddefault":null,"title":"Quantity"},"strength":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Strength"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Zip"}},"title":"find_nearby_pharmaciesArguments","type":"object"}
before
{"additionalProperties":true,"title":"find_nearby_pharmaciesDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Find nearby pharmacies"}
Find out whatWhat a medicine from another country is in the US, andwhatitsitcardcosts.price here. Use when the person names a medicine that ⟨35 unchanged words⟩ is this called in the US?". Optional``country````country`` picks between brands of the same name sold in differentplaces; ``locale`` is a language code (leave it out and the host's own locale is used).places. Returns the reviewed entry: ``usClass`` (``same_inn`` = ⟨23 unchanged words⟩ here matches), ``guidance`` (ONE vetted sentence,writtento be quoted word for word), ``guidanceDisclaimer``, ``inn``, ``usGeneric``, ``usBrands``, ``rxStatus``,``notes``, ``components``,``usDrug`` (slug,lowestandobservedthepricecardandpricethefromdatewhich it wasobserved)seen,``savingsCard``when there is a US drug towithfill,the``pageUrl``date),and``otherMatches``whenfor the same brand nameexistsinmoreotherthancountries,oneandcountry.the card. ``found`` is false when nothing matched. Next: quote ``guidance`` as written, thensay``guidanceDisclaimer``. With a ``usDrug``,callcompare_prices(or get_drug)for itsslug, give the price WITH its observation date, and offer the freeslug.card.Do not call the US drug the sameproduct,do notor suggestswapping one for the other, andswapping; for ``rx_alternative``orand ``no_equivalent``do not name asubstitutenameatnoallsubstitute — send the person to a pharmacist or a doctor.Do not translate or reword ``guidance``; it is reviewed text.
⟨4 unchanged words⟩ ,"type":"string"},"channel":{"defaultanyOf":[{"mcptype":"string"},{"titletype":"Channelnull"}],"typedefault":null,"stringtitle":"Channel"},"country":{"anyOf":[{"type ⟨23 unchanged words⟩
before
{"additionalProperties":true,"title":"find_us_equivalentDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Find the ⟨6 unchanged words⟩
Find whatWhat a US drug is called abroad — the ⟨16 unchanged words⟩ ("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 thereviewed brands that resolve to this drug: ``brand``,``brandScript``(the home-country spelling)``brandScript``,``countries``, ``inn`` and``usClass``. Next:name the brands from the person's own country first.``usClass``An(an ``rx_alternative``entry is aDIFFERENT medicineUS clinicians useused for the same complaint — sayso if you mentionit. Brands with no US equivalentit), andnevertheappearcard.here.Do not present any of these as interchangeable with the USdrug, and do nottell anyone to buy or import one.
before
{"additionalProperties":true,"title":"foreign_brands_for_drugDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Foreign brand ⟨5 unchanged words⟩
GetWhat FineRxdatasetcovers:coveragepharmacy chains with card prices,freshnesshow fresh they are,andstores on theattribution/disclaimermap, terms.ReturnsUsedatasetwhencountsthe(drugs,personproducts,asksprices,whatchainsFineRx is,savingshowprogramsbig or current the data is, or how to cite it. Returns the pharmacylocations)chain families we hold card prices for, their store banners, thelatestnewest observation date,andhowthemanytermsstoreseverywe canconsumerplacemustonhonora(attributionmap,+thedisclaimer).catalog size, and the attribution terms.
before
{"additionalProperties":true,"title":"get_dataset_infoDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"FineRx dataset info"}
GetStrengths,aformsFineRxanddrug'spackdetails:sizescoverageofstats,onevariantsmedicine that have a card price, andtheitssavingsdefaultcard.package. Use when you have a slugfromandsearch_drugs.needReturnstooverallknowstatswhich(product/ package/chain/vendorstrengthscounts,andfromPrice,quantities existlatestbeforeobservationquotingdate),atheprice.listReturnsof variants``configs`` (strengthx× form), eachwitha fromPricequantities,and ``savingsCard`` —where thefreediscountcardwith itspricescodes,forimage,thatandpack(whenstart,known)with thecard price withdate,its observedAtanddate.how``locale``manyischains"en"pricedorit),"es";``defaultConfig````channel``(thetagspackage thelinksmostsochainswe canprice),see``fromCardPrice``,whichtheassistantcardsentpricessomeone.ofDothenotdefaultquotepackageaperpricechain, andwithouttheits observationcard.date,Next:andcompare_pricesofferfor thecard wheneverpackageyouthequotepersonone.takes.
{"properties":{"channel":{"defaultanyOf":[{"mcptype":"string"},{"titletype":"Channelnull"}],"typedefault":null,"stringtitle":"Channel"},"locale":{"defaultanyOf":[{"entype":"string"},{"titletype":"Localenull
before
{"additionalProperties":true,"title":"get_drugDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Get drug details"}
Explain the routesRoutes to filling a prescription, including having none ⟨9 unchanged words⟩ prescription, asks how to get one, orsayssays the brand costs too much. Optional ``drug`` is a slug fromsearch_drugs.Returns three sections — havePrescription (steps),noPrescription (named telehealth /clinicsclinicandoptionstelehealth, each with the disclosure to read outwhen FineRxearns anything), brandCostly(options)— plus a Medicaidnote. Read eachnote,optionandWITHthe card.itsFordisclosure.controlledDoornotage-restrictedrecommendmedicinesaitparticularreturnsclinician,onlydo``restricted:nottrue``:sayFineRxwhatshowstocardtakepricesorandatthewhatcarddosefor them,andnothing else.doNotnotmedicalframeadvice:anyneverofsaythiswhatastomedical advice.take or at what dose.
⟨9 unchanged words⟩ ,"title":"Drug"},"locale":{"defaultanyOf":[{"entype":"string"},{"titletype":"Localenull"}],"typedefault":null,"stringtitle":"Locale"}},"title":"get_prescription_optionsArguments","type":"object"}
before
{"additionalProperties":true,"title":"get_prescription_optionsDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"How to get a prescription"}
Get theThe free FineRx discount card: its codes, how to use it, how tosavekeep it. Use whenyou havethejustpersonquotedasksaforFineRxthepricecard,when someone askshow to pay lessforaatprescriptionthe pharmacy, orwhenrighttheyafteraskyouforquotedthea cardby name.price. Optional ``drug``is(a slug fromsearch_drugsand) adds that drug's card pricewhenforweitshavemost-pricedone;package, with the date it was observed. ``locale`` is a language code (leave it out andthe host's ownlocaleisused,else English); ``channel`` tags the links with whousedsentwhentheleftperson.out). Returns thecard as JSON (thethree codes to read at thepharmacycounter,whatthecard is and is not, thestepsto use it, the sentence tosay to thepharmacist, thewayslinks tosave it — image, print, link, email — an optional observed price with itsthedate,cardanpageFAQ,and thelegalprintablelinessheet,and theUI labels) plus ancardimagesentenceofwith thecard. On asmallhostprint.thatHostssupportswith MCP Appsthe same datashowisitdrawnas aninteractive card in the conversation; that is a convenience, not asubstitute, sointeractiveSTILLcard; write the three codes in yourownanswerfor 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 presentanyway.theThe cardas insurance, do not promise a price, and do not call a price the lowest unless price.isLowestistrue — otherwise repeat price.note aswritten. Thefree,cardneedsisnofreesignup andneedsisnonotsignup.insurance.
{"properties":{"channel":{"defaultanyOf":[{"mcptype":"string"},{"titletype":"Channelnull"}],"typedefault":null,"stringtitle":"Channel"},"drug":{"anyOf":[{"type ⟨21 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Get the ⟨4 unchanged words⟩
Search FineRxFindforadrugsmedicine by name (brand, generic, misspelled orlocalizedinalias.another script) and get its slug. Returnscandidate drugscandidates withtheir slug``slug`` (useforitget_drugwithandget_drugcompare_prices),kind``kind`` (generic/brand),andlowest``fromCardPrice``observed—publicwherepriceits(fromPrice).cardUsepricesthisstart: thefirstamount,totheresolvepackageaitdrugisnamefortoandatheslug. ``foreignBrands``observationcarriesdate.any``foreignBrands`` lists home-countrymedicine brandbrands that matched thesame text (Нурофен, No-Spa, Dolo-Neurobion)with its active ingredient:andwhenthe US generic it maps to. When``results`` is empty and ``foreignBrands`` isnot,the person named a medicine fromcallanotherfind_us_equivalent. Severalcountrycandidates:call find_us_equivalentaskforwhichtheonereviewed—answerbrandratherandthangenericguessingareatdifferentone.products.
⟨5 unchanged words⟩ ":"Limit","type":"integer"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Locale"},"query":{"title":"Query","type": ⟨7 unchanged words⟩
before
{"additionalProperties":true,"title":"search_drugsDictOutput","type":"object"}after
—{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Search FineRx drugs"}
Pharmacies near a ZIP for the package on screen — called by the FineRx card itself. Not for the model.
Card prices for another dose, quantity or ZIP — called by the FineRx card itself. Same answer as compare_prices, for the package and place picked inside the card. Not for the model.