Pillwise
US medication lookup: drug search, forms and strengths, NDC/RxCUI, recalls, shortages.
Should I use this
Quality & Safety
Findings (2)
- LOWin get_packages
- LOWin lookup_rxcui
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"pillwise": {
"url": "https://api.pillwise.dev/mcp"
}
}
}Remote endpoints
https://api.pillwise.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
π’search_medications(as_of, limit, query)
Typeahead search by what a person calls a medication: brand, ingredient or everyday name. Returns brand and ingredient groups in the order a person would pick, not packages.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"limit": {
"description": "Hits to return (default 10).",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "What the person typed, at least 3 characters, like \"tylenol\" or \"vitamin d3\".",
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}π’get_form_options(as_of, id)
The forms (tablet, liquid, patchβ¦) and strengths a medication comes in, with labels for people and values to send back. Use the id from a search hit.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"id": {
"description": "A Pillwise drug id from search, like pw_g_β¦ or pw_d_β¦.",
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}π’get_drug(as_of, id)
The full record for a Pillwise drug id: names, ingredients, form, strength, packages and recalls.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"id": {
"description": "A Pillwise drug id, like pw_d_β¦.",
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}π’get_packages(as_of, id)
The package NDCs that belong to a Pillwise drug id.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"id": {
"description": "A Pillwise drug id, like pw_d_β¦.",
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}π’lookup_ndc(as_of, ndc)
The package and drug for an NDC: 11 digits, 10 with hyphens (4-4-2, 5-3-2 or 5-4-1), or a product NDC. A bare 10-digit code is matched only as listed; no padding is guessed.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"ndc": {
"description": "Like 50580-488-10 or 50580048810.",
"type": "string"
}
},
"required": [
"ndc"
],
"additionalProperties": false
}π’lookup_rxcui(as_of, rxcui)
The clinical drug for an RxCUI.
Input Schema
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional. Answer as of this day (YYYY-MM-DD) or instant (RFC 3339), within retained snapshots.",
"type": "string"
},
"rxcui": {
"description": "Digits, like 314076.",
"type": "string"
}
},
"required": [
"rxcui"
],
"additionalProperties": false
}π’list_recalls(drug_id, ndc, since, status)
Drug recalls, filtered by at least one of ndc, drug_id or since.
Input Schema
{
"type": "object",
"properties": {
"drug_id": {
"description": "A Pillwise drug id.",
"type": "string"
},
"ndc": {
"description": "A package or product NDC.",
"type": "string"
},
"since": {
"description": "Recalls on or after this day, YYYY-MM-DD.",
"type": "string"
},
"status": {
"description": "Optional, like Ongoing or Terminated.",
"type": "string"
}
},
"required": [],
"additionalProperties": false
}π’list_shortages(drug_id, ndc, status)
Drug shortages, filtered by at least one of ndc or drug_id.
Input Schema
{
"type": "object",
"properties": {
"drug_id": {
"description": "A Pillwise drug id.",
"type": "string"
},
"ndc": {
"description": "A package NDC.",
"type": "string"
},
"status": {
"description": "Optional, like Current or Resolved.",
"type": "string"
}
},
"required": [],
"additionalProperties": false
}π’catalog_freshness
How current the catalog is: the snapshot served and when it was built.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Community
Evidence