Endpoint
| URL | https://telehealthledger.com/mcp |
|---|---|
| Transport | streamable-http, json-rpc-2.0 |
| Protocol version | 2025-06-18 |
| Methods | initialize, tools/list, tools/call |
| Authentication | none |
| Access | Read-only |
Tools
These are the tools the endpoint returns for tools/list, printed from the same definitions.
search_prices: Search published prices
Search published Telehealth Ledger price rows. Optional filters: provider (name or slug), treatment (slug or label), and maxPrice (maximum comparisonPriceUsd), plus limit. Each row is the same record as GET /api/prices, including profileUrl and verifiedAt, the date the price was checked. Prices are dated checks, not quotes.
| Argument | Type | Required | Meaning |
|---|---|---|---|
provider | string | No | Provider name or slug. Matched case-insensitively against the provider name and slug. |
treatment | string | No | Treatment slug or label. Matched case-insensitively. |
maxPrice | number | No | Maximum comparisonPriceUsd, inclusive. |
limit | integer | No | Maximum rows to return. Default 25. |
get_provider_prices: Prices for one provider
Return published price rows for one provider slug. Rows match GET /api/prices, including profileUrl and verifiedAt, the date the price was checked. Prices are dated checks, not quotes.
| Argument | Type | Required | Meaning |
|---|---|---|---|
slug | string | Yes | Provider slug, the last segment of profileUrl. |
service_health: Service health
Report whether the public Telehealth Ledger service is responding. Returns the same status and service fields as GET /api/health. This is an uptime check, not a health claim.
No arguments.
Worked example
A request for one compounded semaglutide row, and the endpoint’s own response to it, generated when this page was built. On the wire, content[0].text is a JSON string; it is printed here as parsed JSON so it can be read. structuredContent carries the same object.
Request
POST https://telehealthledger.com/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_prices",
"arguments": {
"treatment": "compounded-semaglutide",
"limit": 1
}
}
}Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": {
"license": {
"name": "CC BY 4.0",
"url": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "Telehealth Ledger, telehealthledger.com"
},
"canonical": "https://telehealthledger.com/api/prices",
"note": "Prices are dated checks of published program pages, not quotes. verifiedAt is the check date. These figures are not medical advice and make no health claim.",
"matched": 31,
"filters": {
"treatment": "compounded-semaglutide",
"limit": 1
},
"rows": [
{
"provider": "SnagRX",
"slug": "snagrx",
"treatment": "compounded-semaglutide",
"treatmentLabel": "Compounded semaglutide injection",
"medicationType": "compounded",
"productName": "Compounded semaglutide injection",
"priceBasis": "continuing",
"comparisonPriceUsd": 99,
"introPriceUsd": null,
"salePriceUsd": null,
"recurringPriceUsd": 99,
"recurringPriceLowUsd": null,
"recurringPeriodDays": null,
"upfrontPriceUsd": 828,
"effectiveMonthlyPriceUsd": 69,
"commitmentMonths": 12,
"medicationIncluded": true,
"verifiedAt": "2026-11-10",
"sourceUrl": "https://snagrx.com/semaglutide",
"profileUrl": "https://telehealthledger.com/providers/snagrx",
"priceRole": "continuing-monthly",
"lowestPriceUsd": 99,
"approvalLabel": "compounded (not FDA-approved)",
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/); attribution: Telehealth Ledger, telehealthledger.com"
}
]
}
}
],
"structuredContent": {
"license": {
"name": "CC BY 4.0",
"url": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "Telehealth Ledger, telehealthledger.com"
},
"canonical": "https://telehealthledger.com/api/prices",
"note": "Prices are dated checks of published program pages, not quotes. verifiedAt is the check date. These figures are not medical advice and make no health claim.",
"matched": 31,
"filters": {
"treatment": "compounded-semaglutide",
"limit": 1
},
"rows": [
{
"provider": "SnagRX",
"slug": "snagrx",
"treatment": "compounded-semaglutide",
"treatmentLabel": "Compounded semaglutide injection",
"medicationType": "compounded",
"productName": "Compounded semaglutide injection",
"priceBasis": "continuing",
"comparisonPriceUsd": 99,
"introPriceUsd": null,
"salePriceUsd": null,
"recurringPriceUsd": 99,
"recurringPriceLowUsd": null,
"recurringPeriodDays": null,
"upfrontPriceUsd": 828,
"effectiveMonthlyPriceUsd": 69,
"commitmentMonths": 12,
"medicationIncluded": true,
"verifiedAt": "2026-11-10",
"sourceUrl": "https://snagrx.com/semaglutide",
"profileUrl": "https://telehealthledger.com/providers/snagrx",
"priceRole": "continuing-monthly",
"lowestPriceUsd": 99,
"approvalLabel": "compounded (not FDA-approved)",
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/); attribution: Telehealth Ledger, telehealthledger.com"
}
]
},
"isError": false
}
}What the data covers
130 price rows from 31 brands; the newest check is dated 11 November 2026. Each row carries its own check date (verifiedAt), the provider page it was read from (sourceUrl) and its profile on this site (profileUrl).
Treatments in the data
- Compounded glutathione injection (
glutathione-injection) - Compounded NAD+ injection (
nad-injection) - Compounded NAD+ nasal spray (
nad-nasal-spray) - Compounded oral NAD+ (
nad-oral) - Compounded oral semaglutide (
oral-semaglutide) - Compounded oral Sermorelin (
sermorelin-oral) - Compounded oral tirzepatide (
oral-tirzepatide) - Compounded semaglutide injection (
compounded-semaglutide) - Compounded Sermorelin injection (
sermorelin-injection) - Compounded tirzepatide injection (
compounded-tirzepatide) - Mounjaro injection (
mounjaro) - Ozempic injection (
ozempic) - Wegovy injection (
wegovy) - Zepbound injection (
zepbound)
Licence and credit
The data is published under CC BY 4.0. Credit: Telehealth Ledger, telehealthledger.com.
Price CSV · Methodology · Corrections · Press