Live US drug acquisition costs (CMS NADAC) for AI assistants. Free, no auth, weekly data.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Full profile of a US prescription drug by brand or generic name: identity and manufacturer, live CMS NADAC acquisition pricing, Medicare Part D spending and utilization, estimated pricing spread, and active clinical-trial pipeline. Broader than drug_price_lookup — use when someone wants the whole picture of a drug.
Brand or generic drug name, e.g. Wegovy, metformin
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Full profile of a US prescription drug by brand or generic name: identity and manufacturer, live CMS NADAC acquisition pricing, Medicare Part D spending and utilization, estimated pricing spread, and active clinical-trial pipeline. Broader than drug_price_lookup — use when someone wants the whole picture of a drug.
| Argument | Type | Description |
|---|---|---|
| drug* | string | Brand or generic drug name, e.g. Wegovy, metformin |
{
"type": "object",
"required": [
"drug"
],
"properties": {
"drug": {
"type": "string",
"description": "Brand or generic drug name, e.g. Wegovy, metformin"
}
}
}Look up the live public acquisition cost (CMS NADAC — National Average Drug Acquisition Cost) for a prescription drug in the United States: the per-unit price retail pharmacies actually pay to buy it, by strength, with the effective date. This is the honest baseline for judging what an employer health plan is charged by its PBM. Accepts a brand or generic name (e.g. "Gleevec", "imatinib", "atorvastatin").
| Argument | Type | Description |
|---|---|---|
| drug* | string | Brand or generic drug name |
{
"type": "object",
"required": [
"drug"
],
"properties": {
"drug": {
"type": "string",
"description": "Brand or generic drug name"
}
}
}Search US prescription drugs by full or partial brand/generic name. Returns matching drugs with their generic name and brand names, so you can pick the right one before calling drug_price_lookup or drug_spread_check.
| Argument | Type | Description |
|---|---|---|
| query* | string | Full or partial drug name (min 2 characters) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Full or partial drug name (min 2 characters)"
}
}
}List current US prescription drug shortages from the FDA Drug Shortage Database (refreshed daily). Optionally filter by drug name or drug class. Returns the generic name, brand names, how long the shortage has been running, and how many manufacturers are affected. Useful for checking whether a drug a plan or patient depends on is in shortage before a refill or formulary decision.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional drug name or class to filter by (omit to list the most recent shortages) |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional drug name or class to filter by (omit to list the most recent shortages)"
}
}
}Compare what a US health plan was actually charged for a prescription fill against the live public acquisition cost (CMS NADAC) for the same quantity. Returns the acquisition cost, the amount charged, the gap, and the multiple. Use when someone asks "my plan paid $X for [drug] — is that high?". The gap is not all margin (a dispensing fee and claim administration are legitimate), but on most generics the legitimate part is a few dollars, not hundreds.
| Argument | Type | Description |
|---|---|---|
| drug* | string | Brand or generic drug name |
| units | number | Units in the fill (e.g. tablets). Default 30. |
| amount_charged* | number | What the plan (or member) was charged for the fill, in USD |
{
"type": "object",
"required": [
"drug",
"amount_charged"
],
"properties": {
"drug": {
"type": "string",
"description": "Brand or generic drug name"
},
"units": {
"type": "number",
"description": "Units in the fill (e.g. tablets). Default 30."
},
"amount_charged": {
"type": "number",
"description": "What the plan (or member) was charged for the fill, in USD"
}
}
}Look up any US medical claim code across all major code sets at once: CPT (with 2025 RVUs), ICD-10-CM diagnoses, HCPCS Level II, MS-DRG payment groups, CARC denial reason codes (accepts EOB formats like CO-45 or PR-1), and place-of-service codes — plus Medicare MUE unit limits and NCCI bundling-edit counts. Official CMS/CDC/X12 data. Use when someone has a code from a medical bill, claim, EOB, or denial letter.
| Argument | Type | Description |
|---|---|---|
| code* | string | The code, e.g. 99213, E11.9, J1885, 470, or CO-45 |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The code, e.g. 99213, E11.9, J1885, 470, or CO-45"
}
}
}Plain-English explanation of pharmacy benefit (PBM) contract terms that drive employer plan cost: spread pricing, pass-through pricing, AWP, WAC, NADAC, MAC, rebates, rebate pass-through, effective rate guarantees, lesser-of logic, DIR fees, audit rights. Each explanation includes what to watch for in a contract. Call with a specific term, or without one to list all terms.
| Argument | Type | Description |
|---|---|---|
| term | string | The contract term to explain (optional — omit to list all) |
{
"type": "object",
"properties": {
"term": {
"type": "string",
"description": "The contract term to explain (optional — omit to list all)"
}
}
}Generate a dated preparation checklist for an employer pharmacy-benefit (PBM) contract renewal. Given the renewal date, returns what a plan sponsor should request and do at 120, 90, 60, and 30 days out — contract and exhibits, claims data, rebate reconciliation, benchmark review, and the decision record. Deterministic and vendor-neutral.
| Argument | Type | Description |
|---|---|---|
| renewal_date* | string | Renewal date, ISO format YYYY-MM-DD (e.g. 2027-01-01) |
{
"type": "object",
"required": [
"renewal_date"
],
"properties": {
"renewal_date": {
"type": "string",
"description": "Renewal date, ISO format YYYY-MM-DD (e.g. 2027-01-01)"
}
}
}