PriceTracker GLP-1 MCP

Read-only MCP server for GLP-1 (semaglutide, tirzepatide) cash prices, price history and price index from PriceTracker GLP-1. No API key required.

Hosted MCP Server

npx add-mcp 'https://pricetrackerglp1.com/api/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

PriceTracker GLP-1 β€” MCP server

What GLP-1s really cost, checked every week, inside Claude, ChatGPT, Grok and Cursor.

A free, read-only Model Context Protocol server for PriceTracker GLP-1, the independent tracker of US telehealth GLP-1 prices. Your AI gets dated, source-linked prices instead of stale training data. Ask "What's the cheapest compounded tirzepatide month to month right now?" or "What does Zepbound cost self-pay at 5 mg?". The answer comes with the date each price was checked and a link to the page it came from.

  • πŸ”Œ Endpoint: https://pricetrackerglp1.com/api/mcp (streamable HTTP)
  • πŸ”“ No account, no key, no sign-up. Read-only. Free.
  • πŸ“Š Data: pricetrackerglp1.com/data, CC BY 4.0

Prices only. This server gives no medical or dosing advice. GLP-1 medications are prescription drugs, so talk to a licensed clinician. Compounded semaglutide and tirzepatide are lawful but not FDA-approved, and every compounded offer is labelled that way.

Tools

Ask your AI…Tool
"What does SnagRx charge for semaglutide?" Β· "Every Zepbound price you track"search_glp1_prices
"Cheapest tirzepatide programs, month to month, no membership fee"list_cheapest_glp1_programs
"Has CoreAge Rx changed its price?" Β· "Which GLP-1 prices moved this month?"get_glp1_price_history
"What does Wegovy cost self-pay from Novo?" Β· "Zepbound cash price ladder"get_manufacturer_cash_prices
"What's the GLP-1 Price Index this month?" Β· "Fair cash price for compounded semaglutide"get_glp1_price_index
"Which programs do you track?"list_glp1_programs

Filters: drug (semaglutide, tirzepatide, orforglipron, wegovy, ozempic, zepbound, mounjaro, foundayo, compounded semaglutide, compounded tirzepatide, compounded, brand), provider (name or slug; partial names work), form (injection / oral), billing (month_to_month leaves out prepaid plans), no_membership.

Every response includes:

  • last_updated plus a checked date on each price;
  • data_source URLs;
  • the CC BY 4.0 license;
  • affiliate_disclosure and not_medical_advice;
  • links back to the matching pricetrackerglp1.com page: the program page, the seller check, cheapest-by-drug, the index and the changes feed.

Prices are all-in, meaning the advertised price plus any verified membership fee. For prepaid 3, 6 and 12-month plans, the amount billed up front is shown too.

Setup

Claude (web and desktop): Settings β†’ Connectors β†’ Add custom connector. Use the name PriceTracker GLP-1 and the URL https://pricetrackerglp1.com/api/mcp.

Claude Code

claude mcp add --transport http pricetracker-glp1 https://pricetrackerglp1.com/api/mcp

ChatGPT (developer mode) / Grok: add a custom MCP connector with the same URL. No auth is needed.

Cursor, Windsurf and other config-file clients

{ "mcpServers": { "pricetracker-glp1": { "url": "https://pricetrackerglp1.com/api/mcp" } } }

stdio-only clients (runs locally and reads the same public data)

{ "mcpServers": { "pricetracker-glp1": { "command": "npx", "args": ["-y", "pricetracker-glp1-mcp"] } } }

Self-host / embed

npm i pricetracker-glp1-mcp
npx pricetracker-glp1-mcp --http          # streamable HTTP on $PORT (default 3000) at /mcp
// Next.js App Router: app/api/mcp/route.ts
import { handleMcpRequest } from "pricetracker-glp1-mcp/web";
export const POST = handleMcpRequest, GET = handleMcpRequest, OPTIONS = handleMcpRequest;

The handler is a stateless web-standard Request β†’ Response function, so it runs on Vercel, Cloudflare Workers, Bun and Deno. Data comes from the public JSON files. In-memory caching lasts 15 minutes (PTG_CACHE_TTL_MS), and if the source is briefly unavailable the last good copy is served. The standalone server applies a per-IP rate limit (RATE_LIMIT_PER_MIN, default 60).

Data and method

SourceRefreshWhat it contains
/data/glp1-prices.jsonhourly recompute; seller pages re-read weeklyevery offer, the index, per-molecule stats
/data/glp1-price-changes.jsonon each readgenuine price changes since 2026-08-20
/data/glp1-fair-cash-price.jsonmonthly methodmedian month-to-month price per product (3+ programs)
/llms-full.txton publishmanufacturer self-pay ladders
/price-index/YYYY-MMmonthlyindex reports, frozen at publication

Ranking is by verified all-in price. Ties go to the shorter commitment and then to the name. No program can pay for placement. See the methodology, sources and corrections.

Affiliate disclosure: PriceTracker GLP-1 earns a commission from some programs it lists. A commission never changes a price, a rank or a date (details).

Cite: PriceTracker GLP-1, pricetrackerglp1.com (CC BY 4.0).

Develop

npm install
npm test        # 11 integration tests against the live data (HTTP + stdio clients)
npm start       # http://localhost:3000/mcp
npx @modelcontextprotocol/inspector --cli http://localhost:3000/mcp --transport http --method tools/list

License

The code is MIT. The price data is Β© PriceTracker GLP-1, published under CC BY 4.0.