peptideclinic
Server Details
Find a licensed peptide clinic, in person or by telehealth.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: fetching one listing, searching listings, listing categories/places/sources, or retrieving stats. The only mild overlap is get_listing versus search_listings, but their inputs and outputs are clearly different.
All six tools follow a consistent snake_case verb_noun pattern, using get/list/search prefixes. There is no mixing of naming conventions.
Six tools are well-scoped for a peptide provider directory server. Each tool corresponds to a meaningful read/search operation and none appears redundant.
The read-only directory surface is mostly complete: lookup, search, category/place/source listing, and stats are covered. Minor gaps may exist for drilling into individual categories, places, or sources, but core browsing workflows are supported.
Available Tools
6 toolsget_listingBRead-onlyIdempotentInspect
Get one published peptide provider by its slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The listing slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world behavior, so the safety profile is covered. The description adds one genuine trait beyond the annotations: only 'published' listings are returned, implying unpublished/slug-missed cases behave differently, but it never says what happens on a miss.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is arguably too terse for the job, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with rich annotations and a complete schema this is close to sufficient, but there is no output schema, so the agent gets no notion of what a listing contains or how a missing slug is signalled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter, so the schema fully documents 'slug' including its pattern and length bounds. The description adds only the word 'slug' with no format or resolution semantics beyond that; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Get'), a specific resource ('one published peptide provider'), and the lookup key ('by its slug'), so the agent knows this is a single-record fetch. It does not explicitly contrast itself with search_listings or the list_* siblings, and it uses 'peptide provider' while the tool is named get_listing, which adds mild ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives are named. The phrase 'by its slug' implies you must already know the identifier (rather than searching), but the agent must infer that get_listing is the right choice over search_listings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsARead-onlyIdempotentInspect
Get the number of published peptide providers, places and categories, and when the data last changed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: the counts are scoped to *published* providers only, and the response includes a data-freshness signal ('when the data last changed'). It does not describe response shape, but that gap is minor against the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the primary deliverable (the counts) and appends the secondary one (last-changed). Every clause carries information; nothing is repeated or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters, no output schema, and annotations covering safety, the description's job is mainly to convey what comes back — and it does state the counted entities and the freshness field. It could be marginally stronger by sketching the return shape, but an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline for a parameterless tool is 4, and no schema/description conflict exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('get the number of') and concrete resources (published peptide providers, places, categories), plus an extra deliverable (last-changed timestamp). This clearly separates it from the list_*/search_* siblings, which return items rather than aggregate counts. It stops short of naming an alternative, so it's clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement and no sibling is named. However, the count-only framing strongly implies the intended use case (a quick aggregate overview rather than item retrieval), which fits the 'implied usage' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesARead-onlyIdempotentInspect
List categories with their peptide provider counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without description help. The description adds only the return-content hint (provider counts); it says nothing about ordering, pagination, or result size, which is a minor gap for an unpaginated list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, no restatement of the tool name as a separate clause, and every word carrying information. Optimal size for a trivial list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema, the description gives enough to call it correctly and even previews the payload shape (categories plus counts). Only ordering or empty-result behavior is left unstated, which is a small omission given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case: there is nothing for the description to disambiguate beyond confirming no filters are accepted. Schema coverage is 100% and the empty property set matches the description's unfiltered framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (categories) and adds the distinguishing content detail that results carry peptide provider counts. The resource noun separates it from siblings, but the description never explicitly contrasts it with list_places or list_sources, so differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as get_stats or list_sources. The tool is simple enough that usage is largely inferable, but the description itself offers no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_placesARead-onlyIdempotentInspect
List countries, regions and cities that have peptide providers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds one genuinely useful behavioral fact — the list is implicitly filtered to places that actually have peptide providers, not all places — but says nothing about ordering, completeness, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The scoping qualifier ('that have peptide providers') is placed at the end where it does the most work and nothing is repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema listing tool, the description is nearly sufficient: it states what is enumerated and under what implicit filter. It could mention whether results are grouped hierarchically (country > region > city) or flat, which matters for a three-level entity list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline a 4 applies. There is nothing for the description to clarify beyond what the empty schema already communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description supplies a specific verb (List) and disambiguates the vague resource name 'places' by naming the actual entities returned: countries, regions and cities. It doesn't explicitly differentiate itself from siblings like list_categories or list_sources, but the peptide-provider scope makes the domain clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the sibling listing tools (list_categories, list_sources, get_listing). Usage is only implied by the name and the one-sentence purpose; no prerequisites, exclusions, or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesARead-onlyIdempotentInspect
List where the peptide provider data comes from, with the license and refresh of each source.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds return-content context (each source comes with a license and refresh value), which is useful since no output schema exists, but it says nothing about pagination, ordering, or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb, resource, and returned fields all appear before any trailing detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only enumeration tool with no output schema, the description covers what is returned at a high level and the annotations cover the safety profile. Only pagination/ordering behavior is left unstated, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description correctly implies a no-argument listing call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List where the peptide provider data comes from') and clarifies the payload each entry carries (license and refresh). The resource is clearly distinct from siblings like list_categories, list_places, and get_stats, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the discovery call for provenance/licensing metadata, but the description offers no when-to-use condition, no prerequisites, and no pointer to alternatives such as get_stats for aggregate questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsBRead-onlyIdempotentInspect
Search published peptide providers by text, place and category.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search text, with at least one letter or digit. Matches name, categories, attributes, description and place. Typos fall back to close matches. | |
| city | No | City slug, from /places. | |
| sort | No | `relevance` needs `q` and is the default with it. `name` is the default without `q`. `recent` is newest first. | |
| limit | No | Items per page. | |
| cursor | No | `page.nextCursor` from the previous response. Opaque. Send the same filters and `limit`. | |
| region | No | Region slug, from /places. | |
| country | No | ISO 3166-1 alpha-2 country code, any case. A country the directory does not cover, as listed in /places, gives 400. | |
| category | No | Category slug, from /categories. A parent slug also matches its children. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-open-world behavior, so the description only needs to add context. It adds the 'published' scope, but says nothing about result paging (cursor/limit interplay) or the 400 behavior on uncovered countries mentioned in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the searchable facets come first. It is efficient but stops short of including the one or two clarifying clauses that would raise it above adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With eight optional filters, cursor pagination, and no output schema, the description should at least signal that results are paged and that place/category slugs come from sibling list tools. The schema covers the mechanics, but the description leaves an agent to discover pagination on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is documented, including sort defaults and cursor reuse, so the baseline of 3 applies. The description's 'text, place and category' only loosely maps to q, city/region/country, and category without adding format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and resource ('published peptide providers') plus the searchable facets (text, place, category). The 'published' qualifier scopes it usefully, but the description never contrasts it with get_listing (single record) or list_places/list_categories, leaving sibling differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not guidance, and no mention that place/category slugs should be discovered via list_places and list_categories (that hint exists only inside the schema). An agent has to derive its routing decision from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_listing - First observed
get_stats - First observed
list_categories - First observed
list_places - First observed
list_sources - First observed
search_listings
Related MCP Connectors
Find where to buy peptides from vetted, COA-tested vendors and check if a peptide vendor is legit.
Peptide vendor matchmaker. 11-signal rubric, GLP-1 + 25 peptides, region-aware, free.
Licensed US telehealth — GLP-1 medications, intake, consents, Stripe ACP. HIPAA-compliant, 30 tools.
Physicians for the agentic era. Book a US-licensed doctor: orders, prescribes, 90-day plan.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables searching and comparing GLP-1 medication providers, medications, side effects, and FAQs across a directory of 18,344 US clinics, telehealth programs, and pharmacies.13 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables querying US regulated-care providers (GLP-1 clinics) with tools for searching, retrieving details, and checking compliance, using natural language or function calls.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching peptide listings and vendors by facets such as price per mg, lab testing, and contact details, plus retrieving individual vendor and peptide records and listing peptides.MIT

Hormonaly MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI agents to access 24 clinical tools for evidence synthesis, protocol lookup, and decision support in peptide, hormone, and longevity medicine.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.