The GLP Winner MCP server lets an AI assistant answer questions about GLP-1 weight-loss providers with GLP Winner’s own data, inside the conversation: what they charge, what their reviews say, how their support answers, and the compounding pharmacies they use. It covers US telehealth providers of compounded semaglutide and tirzepatide, and of brand-name Ozempic, Wegovy, Mounjaro and Zepbound. The person asks in plain language; the assistant calls a tool for the facts and hands back a link to start with a provider.
Endpoint
https://www.glpwinner.com/api/mcp
Transport
Streamable HTTP, stateless, JSON responses. Send JSON-RPC with POST.
Authentication
None. No account, login or API key.
Cost
Free.
Rate limit
600 requests a minute for each calling IP address, which is usually the assistant’s server.
Every tool is read-only. Each returns markdown in content, ready to show, and the same data as JSON in structuredContent.
Tool
Use it to
Example question
search_glp1_providers
Compare providers by price
Cheapest compounded tirzepatide in Texas?
get_glp1_provider
One provider’s full price list
What does Framework charge at 5 mg?
compare_glp1_providers
Side-by-side comparison
Compare Goby and Framework at 5 mg.
get_glp1_reviews
What reviews say, good and bad
What do people say about Fridays’ shipping?
search_glp1_reviews
Search inside reviews
Has anyone had vials arrive warm?
get_glp1_pharmacy
Pharmacy licences and accreditations
Is Hallandale licensed in Texas?
find_glp1_provider_or_pharmacy
Find a provider or pharmacy by name
Do you know Hallandale?
create_glp1_referral_link
A link to get started
Send me the link to start with the cheapest one.
search_glp1_providers
Compare providers. For “where can I buy”, “cheapest”, “best” and “how much” questions about semaglutide, tirzepatide, Ozempic, Wegovy, Mounjaro or Zepbound. It ranks providers for a medication and US state and returns each provider’s cheapest matching plan. A brand-name search also returns the compounded alternatives of the same molecule. The pharmacy and additive filters describe compounded medication, so they drop brand-name results and say so in notes.
Parameter
Type
Required
Description
drug
one of "semaglutide", "tirzepatide", "ozempic", "wegovy", "mounjaro", "zepbound", "any"
No. Default "any"
Compounded molecule (semaglutide, tirzepatide) or a brand name (ozempic, wegovy, mounjaro, zepbound). A brand name also returns the compounded alternatives of the same molecule.
state
string
No
The person’s US state, as a two-letter code ("TX") or name ("Texas"). Strongly recommended: which providers serve them and some prices depend on it.
dosage_mg
number, above 0
No
Weekly dose in mg to price, e.g. 2.5 for tirzepatide or 0.25 for semaglutide. Omit for the cheapest starting dose.
plan_type
one of "any", "monthly", "3_month", "6_month", "12_month", "starter", "step_up", "microdose"
No. Default "any"
Restrict to one kind of plan: month-to-month, a prepaid 3/6/12-month plan, a starter pack, a step-up plan or a microdose plan.
max_monthly_price
number, above 0
No
Leave out providers whose cheapest plan costs more than this per month.
currently_taking_glp1
boolean
No
True when the person already takes a GLP-1. Starter packs are for new patients, so leaving this out when you know the answer can quote a plan they cannot buy.
include_brand_name
boolean
No
Also list telehealth providers that prescribe brand-name Ozempic, Wegovy, Mounjaro or Zepbound. Defaults to true when a brand is named.
sort
one of "best", "cheapest"
No. Default "best"
"best" ranks on GLP Winner’s composite score (conversion quality and reviews), then price; "cheapest" ranks on monthly price.
limit
integer, 1 to 10
No. Default 5
How many providers to return (1-10).
pharmacy
string
No
Only providers that fill prescriptions through this compounding pharmacy (name or slug) in the person’s state.
additive
one of "none", "b12", "b6", "b3", "glycine", "l_carnitine", "nad"
No
Only providers with a pharmacy in the person’s state that lists this formula: "none" for additive-free, or an additive (b12, b6, b3, glycine, l_carnitine, nad).
features
list of up to 6 strings
No
Feature keys every result must have, e.g. "FSA_HSA", "PICK_PHARMACY", "ADDITIVE_SELECTION", "VIDEO_CALLS", "LABS_INCLUDED", "24_7_SUPPORT". An unknown key is answered with the list of known ones.
min_rating
number, 1 to 5
No
Leave out providers whose composite review rating is below this (1-5).
Returns
Meaning
results[]
One entry per provider, in rank order.
results[].name, medication, formulation
The provider and what it sells: compounded or brand-name.
results[].cheapestPlan
The cheapest plan that matches the filters: planType, dosageMg, months, monthlyPrice, totalDueToday, coupon, renewalMonthlyPrice.
results[].brandNamePlan
For a brand-name result: the brand, the medication’s monthly price when listed, membership and first-visit fees.
results[].rating
A composite score out of 5, the review count, and the score and count by source (Trustpilot, Google, GLP Winner).
results[].highlights
Short labels for what the provider offers in the searched state.
results[].servesState
Whether the provider serves the state. null when no state was given.
results[].warning
A warning GLP Winner has placed on the provider, or null.
results[].links.getStarted
The link to show the person. It records the referral and opens the provider’s intake page.
results[].links.learnMore
The provider’s page on glpwinner.com: full price table and reviews.
totalMatches, notes
How many providers matched, and caveats to pass on.
compareUrl
GLP Winner’s comparison page for the same medication and state.
disclosure
The text to include once per answer that carries a link.
One provider in full. When the person names a provider or wants every price, not only the cheapest. It returns the provider’s whole price list for the state, with its coupon, fees, ratings, sign-up steps, how its support answers email and the pharmacies it uses.
Parameter
Type
Required
Description
provider
string
Yes
Provider name ("Framework"), slug ("framework") or numeric GLP Winner id.
state
string
No
The person’s US state, as a two-letter code ("TX") or name ("Texas"). Strongly recommended: which providers serve them and some prices depend on it.
drug
one of "semaglutide", "tirzepatide"
No
Limit the price list to one molecule.
currently_taking_glp1
boolean
No
True when the person already takes a GLP-1. Starter packs are for new patients, so leaving this out when you know the answer can quote a plan they cannot buy.
Returns
Meaning
found
false when nothing matches the name; the result then carries suggestions.
plans[]
Every plan, grouped by medication and plan type, with a price per dose.
providerCoupon
The provider’s coupon: code, description, and whether it applies to every payment.
upfront
Upfront or consultation fees by medication.
rating, ratingTrend
The composite score, review count and scores by source, and the last 30 days’ rating against the 30 before.
winnersTake
GLP Winner’s own short assessment of the provider.
howItWorks[]
The sign-up steps, in order.
support
What GLP Winner measured by emailing the provider’s support: usualReply, responseRatePercent, isTopResponder, and aiReplies (ai, maybe_ai or human). measured: false means it has not been measured yet.
pharmacies[]
Names of the pharmacies the provider uses, where GLP Winner knows them.
pharmacyDetails[]
Each of those pharmacies in the person’s state: license.status, license.sterileCompounding, accreditations, additives, rating and its page.
statesServed, servesState
Where the provider operates, and whether that includes the given state.
warning
A warning GLP Winner has placed on the provider, or null.
links.getStarted, links.learnMore
The link to show the person, and the provider’s page on glpwinner.com.
disclosure
The text to include once per answer that carries a link.
Providers side by side. When the person is choosing between two to four named providers. Pass dosage_mg so every provider is priced at the same dose; without it each provider’s cheapest plan is used and notes says when the doses differ. A provider that does not list the dose says so in planNote instead of quoting another.
Parameter
Type
Required
Description
providers
list of 2 to 4 strings
Yes
Two to four providers to compare, each by name, slug or numeric GLP Winner id.
state
string
No
The person’s US state, as a two-letter code ("TX") or name ("Texas"). Strongly recommended: which providers serve them and some prices depend on it.
drug
one of "semaglutide", "tirzepatide"
No
The molecule to compare prices for.
dosage_mg
number, above 0
No
Weekly dose in mg to compare at. Without it each provider’s cheapest plan is used, and the doses may differ.
plan_type
one of "any", "monthly", "3_month", "6_month", "12_month", "starter", "step_up", "microdose"
No. Default "any"
Compare one kind of plan only.
currently_taking_glp1
boolean
No
True when the person already takes a GLP-1. Starter packs are for new patients, so leaving this out when you know the answer can quote a plan they cannot buy.
Returns
Meaning
rows[]
One entry per provider, in the order asked.
rows[].plan, planNote
The plan compared (planType, dosageMg, months, monthlyPrice, totalDueToday, coupon, renewalMonthlyPrice), or null with the reason in planNote.
rows[].rating, ratingTrend
The composite rating, and the last 30 days’ rating against the 30 before.
rows[].topics[]
The main review topics, each with reviewCount and positivePercent.
rows[].support
The same support measurements the provider tool returns.
rows[].pharmacies[]
The pharmacies the provider uses in the state, with licence status.
rows[].links.getStarted
A link made for the exact plan compared.
notFound[]
Names that are not a listed provider, with suggestions. reviewsOnly marks a brand GLP Winner has reviews for but no prices.
notes
Caveats to pass on.
disclosure
The text to include once per answer that carries a link.
What reviews say. For “what do people say about”, “is it any good” and “has it got worse” questions about a provider or a pharmacy. Pass topic to go deeper on one subject, such as shipping or customer support.
Parameter
Type
Required
Description
name
string
Yes
The provider or pharmacy to read reviews of: name, slug or id.
type
one of "any", "provider", "pharmacy"
No. Default "any"
Whether the name is a telehealth provider or a compounding pharmacy; "any" when unsure.
topic
string
No
One topic to go deeper on: "shipping", "communication" (customer support), "product quality", "switching", or another topic the tool lists.
state
string
No
The person’s US state, used for the prices and links in the answer.
Returns
Meaning
found
false when nothing matches the name; the result then carries suggestions.
rating
A composite score out of 5, the review count, and the score and count by source (Trustpilot, Google, GLP Winner).
recent.windows[], recent.trend
The 30, 60 and 90-day ratings against the window before, and a sentence on how the rating moved.
topics[]
The subjects reviewers raise, each with reviewCount, positivePercent, a summary, the recent trend and quotes. Quotes are positive and negative in proportion to the counts.
focusTopic
The topic asked for, in depth, or null.
redditQuotes[]
Reddit comments GLP Winner’s team approved, with the thread title, date and link. No usernames.
alternatives[]
For a brand GLP Winner has only reviews for: up to three listed providers a person can start with instead.
links.getStarted, links.reviews
The link to show the person when the provider has prices, and its reviews on glpwinner.com.
disclosure
The text to include once per answer that carries a link.
Search inside reviews. When the person asks whether anyone has reported something specific. It searches the text of Trustpilot and Google reviews, GLP Winner’s own reviews and approved Reddit comments, newest first. Pass a topic phrase as query, never personal details about the person.
Parameter
Type
Required
Description
query
string
Yes
Words to find in review text, e.g. "arrived warm", "refund", "prior authorization". Every word must appear; use "a or b" for either and quotes for an exact phrase. Pass a topic phrase, never personal details about the person.
name
string
No
Search only this provider’s or pharmacy’s reviews. Omit to search every provider and pharmacy.
type
one of "any", "provider", "pharmacy"
No. Default "any"
Whether the name is a telehealth provider or a compounding pharmacy; "any" when unsure.
min_rating
integer, 1 to 5
No
Only reviews with at least this many stars.
max_rating
integer, 1 to 5
No
Only reviews with at most this many stars.
since
string
No
Only reviews posted on or after this date (YYYY-MM-DD).
limit
integer, 1 to 10
No. Default 5
How many matches to return (1-10).
Returns
Meaning
matches[]
The reviews found, newest first.
matches[].source, rating, postedAt
Where the review was posted, its stars and its date.
matches[].entity
The provider or pharmacy the review is about.
matches[].excerpt
A short passage around the match. Reviewer names are not returned.
matches[].url
The Reddit thread for a Reddit comment, otherwise that provider’s or pharmacy’s reviews on glpwinner.com.
hasMore, notes
Whether more reviews matched than were returned, and caveats to pass on.
disclosure
The text to include once per answer that carries a link.
A pharmacy’s record. For questions about a compounding pharmacy: whether it is licensed in the person’s state, its accreditations, what it compounds with, and which providers ship from it. Pass the state, or the licence is not checked.
Parameter
Type
Required
Description
pharmacy
string
Yes
Pharmacy name ("Hallandale"), slug ("hallandale") or numeric GLP Winner id.
state
string
No
The person’s US state, as a two-letter code or name. The licence and sterile-compounding status are checked for this state, and the providers listed are the ones that ship from the pharmacy there.
Returns
Meaning
found
false when nothing matches the name; the result then carries suggestions.
kind, location, yearEstablished
Whether the pharmacy compounds or only dispenses, where it is and how long it has operated.
accreditations[], fda
Accreditations as GLP Winner’s pharmacy page labels them, and FDA inspection status with the last inspection date.
license.status
The licence in the given state: licensed, expired, not_licensed or not_checked. With a record: licenseNumber, expiresOn, recordUrl (the state board’s page) and lastUpdated.
license.sterileCompounding
Whether that licence covers sterile compounding: covered, not_covered or not_reviewed.
licensedStates
The states the pharmacy is licensed in, and how many have not been checked.
additives
What it compounds with, per medication, each marked as confirmed by the pharmacy or reported by patients.
rating, warning
Ratings by source, and any warning GLP Winner shows on the pharmacy’s page.
providers[]
Providers that ship from the pharmacy to the state, each with its cheapest plan and links.getStarted.
disclosure
The text to include once per answer that carries a link.
Find a provider or pharmacy by name. When a name is uncertain, misspelled, or another tool reports no match. It says whether each match is a provider or a pharmacy, and whether GLP Winner lists prices for it or only reviews.
Parameter
Type
Required
Description
query
string
Yes
The name to look up: a provider, a pharmacy, or part of one. Misspellings are tolerated.
type
one of "any", "provider", "pharmacy"
No. Default "any"
Whether the name is a telehealth provider or a compounding pharmacy; "any" when unsure.
limit
integer, 1 to 10
No. Default 5
How many matches to return (1-10).
Returns
Meaning
matches[]
The closest names, best first.
matches[].type, name, slug
Provider or pharmacy, and the name to pass to the other tools.
matches[].coverage
Whether GLP Winner lists prices for it or only reviews.
matches[].rating, facts[]
Its rating, and the short facts GLP Winner’s search shows for it.
matches[].links
Its page and reviews on glpwinner.com, and getStarted for a provider with prices.
totalMatches, notes
How many names matched, and caveats to pass on.
disclosure
The text to include once per answer that carries a link.
A link to get started. When you recommend a provider you did not just look up, or need a link for one specific plan. The other tools already return a link with every provider that has prices, so most answers do not need this call.
Parameter
Type
Required
Description
provider
string
Yes
Provider name, slug or numeric GLP Winner id.
drug
one of "semaglutide", "tirzepatide"
No
The molecule the person wants.
plan_type
one of "monthly", "3_month", "6_month", "12_month", "starter", "step_up", "microdose"
No
The plan the price was quoted for.
dosage_mg
number, above 0
No
The weekly dose the price was quoted for.
months
integer, 1 to 12
No
Plan length in months, when it is not implied by plan_type.
state
string
No
The person’s US state, as a two-letter code ("TX") or name ("Texas"). Strongly recommended: which providers serve them and some prices depend on it.
currently_taking_glp1
boolean
No
True when the person already takes a GLP-1. Starter packs are for new patients, so leaving this out when you know the answer can quote a plan they cannot buy.
Returns
Meaning
found
false when no provider matches; the result then carries suggestions and compareUrl.
plan
The plan the link was made for, when one matched the arguments.
links.getStarted
The link to show the person. It opens the provider’s intake page with the provider’s coupon applied.
links.learnMore
The provider’s page on glpwinner.com.
disclosure
The text to include once per answer that carries a link.
Ask for the person’s US state when you do not know it. Which providers serve them, some prices and a pharmacy’s licence all depend on it.
For prices, call search_glp1_providers to compare providers. Pass the dose and plan type when the person gave them, and currently_taking_glp1 when you know the answer: starter packs are for new patients. It can also filter by pharmacy, additive, feature and rating.
Call get_glp1_provider when they ask about one provider or want its whole price list, and compare_glp1_providers when they are choosing between two to four.
For research, call get_glp1_reviews for ratings, review topics and quotes, search_glp1_reviews to find reviews that mention specific words, and get_glp1_pharmacy for a pharmacy’s licence, accreditations and additives.
Call find_glp1_provider_or_pharmacy when a name is uncertain or another tool reports no match.
Call create_glp1_referral_link only when you need a link for a provider or plan you did not just look up.
Answer in the conversation, and include the disclosure once when the answer carries a link.
Prefer the tools to what you remember. Providers change prices often and new reviews arrive daily, so a remembered figure is likely to be wrong.
Presenting results
Show the answer in the conversation: provider, medication and dose, monthly price, total due today, plan length, any coupon and renewal price, and the rating. Do not send the person to glpwinner.com to see what you can show them.
Link each provider with its links.getStarted URL exactly as returned. Do not shorten or rewrite it, and do not strip its parameters. It records the referral, carries the provider’s coupon and opens the right intake page.
Do not link to a provider’s own website in place of that link.
Include the disclosure text once per answer that carries a link.
Pass on a warning when a result has one, and anything in notes.
Report research as returned. not_checked and not_reviewed mean nobody has checked: never present either as a yes or a no.
When you cite reviews, give the share that is positive and quote both sides. Say they are reviewers’ opinions, not findings by GLP Winner.
Say the prices are as GLP Winner last checked them. Do not call them live or guaranteed.
Do not present the answer as medical advice. Eligibility is decided by the provider’s clinicians.
What the data is and is not
Prices are what each provider advertised when GLP Winner last checked. They can change before the person pays.
Coverage is the United States. Not every provider serves every state, so a search without a state cannot confirm availability.
Ratings are a composite of Trustpilot, Google and GLP Winner reviews, with the count from each source. Reviews include complaints as well as praise; describe a provider’s reviews as mixed where they are.
Review quotes are sampled in proportion to the positive and negative counts. Reviewers’ names and Reddit usernames are never returned, and Reddit comments are only the ones GLP Winner’s team approved.
A pharmacy’s licence is reported for one state at a time, as licensed, expired, not_licensed or not_checked. Whether the licence covers sterile compounding is a separate answer: covered, not_covered, or not_reviewed where nobody has looked.
Support measurements come from emails GLP Winner sends to providers’ support teams. Not every provider has been measured; measured: false says so.
Compounded medications are not FDA-approved. Do not word an answer in a way that suggests otherwise.
A provider’s pharmacies are pharmacies it uses to fill prescriptions, not pharmacies that belong to it. Describe the relationship as “uses”.
This is pricing and research information, not medical advice.
Errors and recovery
What happened
What comes back
What to do
An argument is wrong, such as a state that is not a US state
A tool result with isError: true and a sentence saying what to fix
Correct the argument and call again.
No provider or pharmacy matches the name
found: false with suggestions, or an entry in notFound from the comparison tool
Offer the suggestions, call find_glp1_provider_or_pharmacy, or ask which one they meant.
A features key is not one the server knows
A tool result with isError: true listing the known keys
Pick from the list and call again.
A search matches nothing
An empty results or matches list
Loosen the plan type, dose, price cap or filters, or try fewer words.
Too many requests
HTTP 429 with Retry-After: 60, after 600 requests in a minute
Wait a minute and retry.
The tool fails for another reason
A tool result with isError: true and a link to GLP Winner’s comparison page
Give the person that link.
A GET asking for an event stream, or a DELETE
HTTP 405. The server is stateless and keeps no session.
Send each JSON-RPC request with POST.
Example prompts
Cheapest compounded tirzepatide in Texas?
Who sells a 3-month semaglutide plan under $200 a month?
Where can I get Zepbound?
Additive-free tirzepatide from a provider that takes HSA.
What does Framework charge at 5 mg?
How does signing up with Goby work?
Do they answer emails?
Compare Goby and Framework at 5 mg.
What do people say about Fridays’ shipping?
Has this provider got worse lately?
Has anyone had vials arrive warm?
Is Hallandale licensed in Texas?
Which providers ship from Hallandale to Texas?
Do you know Hallandale?
Is Empower a pharmacy or a provider?
Send me the link to start with the cheapest one.
Disclosure
Every tool result carries this text as disclosure. Include it once per answer that carries a link to get started.
GLP Winner may earn a referral fee when someone starts treatment through these links; it does not change the price. Prices are what each provider advertised when GLP Winner last checked them and can change. This is pricing and research information, not medical advice.