@striderlabs/mcp-goodrx
A Model Context Protocol (MCP) connector for the GoodRx prescription discount service. Enables AI assistants to search for drug prices, find pharmacies, and retrieve discount coupons using GoodRx.
Overview
This MCP connector uses Playwright browser automation to interact with GoodRx, providing real-time prescription drug pricing and discount coupon data.
Installation
npm install @striderlabs/mcp-goodrx
Or install Playwright browsers after installation:
npx playwright install chromium
Tools
goodrx_search_drug
Search for a prescription drug on GoodRx to find available pricing information, forms, and dosages.
Parameters:
drug_name(string, required) - Name of the drug (generic or brand name)dosage(string, optional) - Dosage form (e.g., "10mg", "500mg tablet")quantity(number, optional) - Number of pills/units
goodrx_get_prices
Get GoodRx discount prices for a drug at nearby pharmacies.
Parameters:
drug_name(string, required) - Name of the drugdosage(string, optional) - Dosage (e.g., "10mg")quantity(number, default: 30) - Number of pillszip_code(string, optional) - ZIP code to search nearform(string, optional) - Drug form (tablet, capsule, etc.)
goodrx_get_coupon
Get a GoodRx discount coupon for a specific drug at a pharmacy. Returns BIN, PCN, Group, and Member ID needed at checkout.
Parameters:
drug_name(string, required) - Name of the drugpharmacy(string, optional) - Pharmacy name (e.g., "CVS", "Walgreens")dosage(string, optional) - Dosage (e.g., "10mg")quantity(number, default: 30) - Number of pillszip_code(string, optional) - ZIP code for the pharmacy location
goodrx_find_pharmacies
Find pharmacies near a location that accept GoodRx discount coupons.
Parameters:
zip_code(string, required) - ZIP code to search nearpharmacy_name(string, optional) - Filter by pharmacy chain nameradius_miles(number, default: 10) - Search radius in miles
goodrx_compare_prices
Compare drug prices across multiple pharmacies to find the best deal using GoodRx.
Parameters:
drug_name(string, required) - Name of the drug to comparedosage(string, optional) - Dosage (e.g., "10mg")quantity(number, default: 30) - Number of pillszip_code(string, optional) - ZIP code for comparisonpharmacies(string[], optional) - Specific pharmacies to compare (e.g., ["CVS", "Walgreens", "Rite Aid"])form(string, optional) - Drug form (tablet, capsule, etc.)
Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"goodrx": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-goodrx"]
}
}
}
Usage with MCP CLI
npx @striderlabs/mcp-goodrx
Example Queries
Once connected, you can ask your AI assistant:
- "What is the cheapest price for Lisinopril 10mg near 90210?"
- "Find pharmacies near ZIP code 10001 that accept GoodRx"
- "Get me a GoodRx coupon for Metformin at CVS"
- "Compare prices for Atorvastatin 20mg at pharmacies near me"
Technical Details
- Uses Playwright with headless Chromium for browser automation
- Implements session management with singleton browser instance
- Anti-detection measures including custom user agent and navigator property overrides
- Graceful shutdown handling for SIGINT/SIGTERM
Requirements
- Node.js >= 18
- Playwright Chromium browser (installed via
npx playwright install chromium)
License
MIT
Author
Strider Labs [email protected]