Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Medprice is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Compare US prescription prices by pharmacy, find nearby pharmacies and drug equivalents.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user medprice-mcp '--' npx -y @reneturcios/medprice mcp
# 2 — ask your agent for something these tools do
# compare_prices, ui_prices, find_nearby_pharmacies and 15 more
Medprice costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Medprice as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. You need Node.js — the current LTS (24) is the safe choice; npx comes with it. Claude Code registers it in one command; --scope user makes it available in every project. The '--' is in quotes so that PowerShell passes it on.
claude mcp add --scope user medprice-mcp '--' npx -y @reneturcios/medprice mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
18 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read from its source code. A server that builds its tool list when it starts can list more tools than this.
Price of one medicine with the free FineRx card at US pharmacy chains, near a place. Use when the person asks what a medicine costs, where it costs less, or its price near them or in a ZIP code. `drug is a name as typed or a slug from search_drugs; strength ("10 mg"), form`…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| drug | no | The medicine: a name as typed, or a slug from search_drugs. | |
| strength | no | The strength of the medicine (e.g. "10 mg"). | |
| form | no | The dosage form of the medicine (e.g. "tablet"). | |
| quantity | no | The quantity to price (the pack size / number of units). | |
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| ndc | no | The medicine's NDC (National Drug Code); accepted together with quantity for older callers. | |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. | |
| compare_to | no | A dollar amount the person named for this package (their insurance copay, what they pay now, or a price they want to beat); the answer then says how many chains were seen below it. |
Card prices for another dose, quantity or place — called by the FineRx card itself. Same answer as compare_prices, for 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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The slug of the medicine whose package is on screen in the card. |
| form | no | The dosage form of the medicine (e.g. "tablet"). | |
| strength | no | The strength of the medicine (e.g. "10 mg"). | |
| quantity | no | The quantity to price (the pack size / number of units). | |
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| where | no | The place as typed in the card (a ZIP, a city or an address); used for this one request, never stored. | |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| compare_to | no | A dollar amount the person named for this package (their insurance copay, what they pay now, or a price they want to beat); the answer then says how many chains were seen below it. |
Pharmacy stores within 30 miles, per chain — with the card price when a drug is given. Use when the person asks where the pharmacies are near a ZIP or near them. `zip is a 5-digit US ZIP (leave it out to use the host's approximate location when there is one). family` is a…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| family | no | A comma-separated list of pharmacy chain codes to include: walmart, cvs, walgreens, kroger, albertsons, costco, publix, heb, hyvee, meijer, wegmans, shoprite, bigy, gianteagle, kinney. | |
| drug | no | The medicine: a name as typed, or a slug from search_drugs. | |
| strength | no | The strength of the medicine (e.g. "10 mg"). | |
| form | no | The dosage form of the medicine (e.g. "tablet"). | |
| quantity | no | The quantity to price (the pack size / number of units). | |
| chains | no | The older name of the family filter: a comma-separated list of pharmacy chain codes to include. | |
| limit | integer | no | The maximum number of stores to return per chain (default 3). |
| locale | no | A language code for the answer (the host's own is used when left out). |
Pharmacies near a place 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| family | no | A comma-separated list of pharmacy chain codes to include: walmart, cvs, walgreens, kroger, albertsons, costco, publix, heb, hyvee, meijer, wegmans, shoprite, bigy, gianteagle, kinney. | |
| slug | no | The slug of the medicine whose package is on screen in the card. | |
| form | no | The dosage form of the medicine (e.g. "tablet"). | |
| strength | no | The strength of the medicine (e.g. "10 mg"). | |
| quantity | no | The quantity to price (the pack size / number of units). | |
| where | no | The place as typed in the card (a ZIP, a city or an address); used for this one request, never stored. | |
| locale | no | A language code for the answer (the host's own is used when left out). |
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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | no | The pharmacy chain to move the prescription TO, as a code: walmart, cvs, walgreens, kroger, albertsons, costco, publix, heb, hyvee, meijer, wegmans, shoprite, bigy, gianteagle, kinney. | |
| drug | no | The medicine: a name as typed, or a slug from search_drugs. | |
| strength | no | The strength of the medicine (e.g. "10 mg"). | |
| form | no | The dosage form of the medicine (e.g. "tablet"). | |
| quantity | no | The quantity to price (the pack size / number of units). | |
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| locale | no | A language code for the answer (the host's own is used when left out). |
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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| drugs | array | yes | The medicines to price together: two to six names as typed or slugs (a dose and a pack size may ride in each name). |
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slugs | array | yes | The medicines' slugs, with their packages in the parallel strengths, forms and quantities lists. |
| strengths | no | Parallel to slugs: the strength for each medicine (an empty string means not set). | |
| forms | no | Parallel to slugs: the dosage form for each medicine (an empty string means not set). | |
| quantities | no | Parallel to slugs: the quantity for each medicine (0 means not set). | |
| zip | no | A 5-digit US ZIP code to locate prices and stores near; pass it only when the person gave one. | |
| where | no | The place as typed in the card (a ZIP, a city or an address); used for this one request, never stored. | |
| locale | no | A language code for the answer (the host's own is used when left out). |
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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | no | A search to pre-fill in the FineRx search (a medicine, a brand from another country, or a misspelling). | |
| locale | no | A language code for the answer (the host's own is used when left out). |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | yes | What the person is typing in the FineRx search; matching medicines are suggested. |
| locale | no | A language code for the answer (the host's own is used when left out). |
The free FineRx discount card: its codes, how to use it, how to keep it. Use when the person asks for the card, how to pay less at the pharmacy, or right after you quoted a card price. Optional `drug` (a slug from search_drugs) adds that drug's card price for its most-priced…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. | |
| drug | no | The medicine: a name as typed, or a slug from search_drugs. |
Find a medicine by name (brand, generic, misspelled or 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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | The medicine name to search for (brand, generic, misspelled or in another script). |
| limit | integer | no | The maximum number of matching medicines to return (default 10). |
| locale | no | A language code for the answer (the host's own is used when left out). |
Strengths, forms and pack sizes of one medicine that have a card price, and its default package. Use when you have a slug and need to know which strengths and quantities exist before quoting a price. Returns `configs` (strength × form, each with quantities, where the card prices for…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The slug of the medicine to describe, from search_drugs. |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. |
What FineRx covers: pharmacy chains with card prices, how fresh they are, stores on the map, terms. Use when the person asks what FineRx is, how big or current the data is, or how to cite it. Returns the pharmacy chain families we hold card prices for, their store banners, the newest…
No parameter schema on file.
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 (a name works too). Returns three sections — havePrescription…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| locale | no | A language code for the answer (the host's own is used when left out). | |
| drug | no | The medicine: a name as typed, or a slug from search_drugs. |
What a medicine from another country is in the US, and its card price here. 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…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| brand | string | yes | The brand name of the medicine from another country, as typed. |
| country | no | The country the brand is sold in; picks between brands of the same name sold in different places. | |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. |
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;…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| brands | array | yes | The brand names of the medicines from another country: two to six names as typed. |
| country | no | The country the brand is sold in; picks between brands of the same name sold in different places. | |
| locale | no | A language code for the answer (the host's own is used when left out). | |
| channel | no | An optional channel tag identifying where the request comes through; leave it out unless the calling host supplies one. |
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.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| brand_slug | string | yes | The slug of the foreign brand picked in the FineRx search. |
| locale | no | A language code for the answer (the host's own is used when left out). |
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?"). `slug comes from search_drugs. Returns the reviewed brands that resolve to this drug: brand`,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The slug of the US medicine, from search_drugs. |
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Medprice or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| No per-tool rows for this release — see the note below. | ||
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Always latest — the install command names no version, so it installs the newest release when it runs; the current release on file is 0.1.0. Pin a release below and the command asks for exactly that one.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Medprice can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.