sleepstudies
Server Details
Find a sleep study clinic or home sleep test near you.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool targets a clearly distinct operation: single-listing retrieval, text/place/category search, category listing, place listing, source listing, and aggregate stats. The only potential overlap between get_listing and search_listings is resolved by the slug-vs-query distinction in the descriptions.
All tools use consistent snake_case verb_noun naming: get_listing, get_stats, list_categories, list_places, list_sources, search_listings. The pattern is predictable and readable throughout.
Six tools is well-scoped for a read-only sleep clinic directory API. Each tool covers a distinct facet of browsing, searching, and summarizing the data without obvious redundancy.
For a published-directory domain, the surface covers retrieval by slug, search by text/place/category, category/place/source browsing, and aggregate stats. No obvious read-only gaps remain, and write operations are not implied by the server's stated purpose.
Available Tools
6 toolsget_listingARead-onlyIdempotentInspect
Get one published sleep clinic 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 readOnly, idempotent, non-destructive, closed-world behavior. The description adds a meaningful scope constraint ('published'), telling the agent that unpublished/draft records are not returned, but it says nothing about not-found or unpublished-slug behavior.
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 zero wasted words; the key scope qualifier ('published') and lookup mechanism ('by its slug') are both stated immediately.
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 read tool with full schema coverage and rich annotations, the description covers the essential scope. The only notable omission is what happens when the slug does not resolve to a published clinic.
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 the slug parameter includes a pattern and length constraints. The description only restates that lookup is by slug, adding no syntax or format detail beyond the schema, so 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?
The description gives a specific verb ('Get') and resource ('one published sleep clinic') and states the lookup key ('by its slug'). It implicitly distinguishes itself from search_listings/list_places by returning a single published record, though it never names those siblings.
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 implied: call this when you already have a slug and need the single published record. There is no explicit guidance on when to prefer search_listings or what to do if the slug is unknown or unpublished.
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 sleep clinics, 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 fully covered. The description adds useful scope (published data only, includes last-changed time) but says nothing about the shape of the response or whether counts are per-type or bundled - notable since there is no output 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 that enumerates exactly what is returned with zero filler. Every clause earns its place.
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-argument, no-output-schema tool, the description adequately conveys what comes back at a high level (counts plus recency). It could be slightly more complete by noting the return structure, but nothing critical is missing for correct invocation.
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 the baseline of 4 applies; there is nothing for the description to disambiguate and no parameters risk of misuse.
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 a concrete resource set: published sleep clinics, places, categories, plus the last-changed timestamp. An agent can tell this is an aggregate-count tool rather than a listing tool, though it never names the sibling listing tools 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: the agent can infer this is for counts/timestamps rather than fetching records, since siblings are list_* and search_*. There is no explicit 'use this when you only need totals, use list_categories when you need names' routing statement or exclusion.
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 sleep clinic 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, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is fully covered structurally. The description adds only the fact that counts are joined into the result; it says nothing about ordering, pagination, or whether categories with zero clinics appear.
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?
One short sentence, front-loaded with the verb and resource, with the returned payload attached. No filler and nothing redundant with structured fields.
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?
A parameterless read with full annotation coverage and no output schema needs little explanation, and the description conveys what comes back at a high level. It stops short of clarifying the domain meaning of 'category' or how the clinic count is computed, which a caller might want.
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 and the schema is an empty closed object, so there is nothing for the description to disambiguate. Baseline 4 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?
Specific verb+resource ('List categories') plus a stated payload ('with their sleep clinic counts'). No sibling in the list also enumerates categories (list_places and list_sources cover different resources), so the differentiation is implicit rather than explicit, which keeps it at 4.
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?
The description gives no when-to-use framing, no exclusions, and no mention of alternatives such as get_stats or list_sources. An agent must infer that this is the right call when it needs the category vocabulary as opposed to aggregate statistics.
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 sleep clinics.
| 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. The description adds one useful behavioral fact, that results are restricted to places containing sleep clinics, but says nothing about return shape, ordering, or pagination.
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 resource and its scope arrive immediately and every word earns its place.
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 parameters, no output schema and full annotation coverage, the description carries nearly all the burden it needs to, defining the resource and the filter scope. The only shortfall is that it does not hint at the structure of the returned place hierarchy.
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 no parameter semantics to explain and the baseline of 4 applies. Nothing in the description conflicts with the empty schema.
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 (countries, regions, cities) and adds a meaningful scope qualifier (that have sleep clinics). It is distinguishable from list_categories and list_sources by resource type, though it never explicitly contrasts itself with those siblings.
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: the description suggests this is the tool for enumerating geographic places, but it gives no explicit when-to-use, when-not-to-use, or pointer to alternatives such as list_categories. For a simple, argument-free listing tool this gap is moderate rather than severe.
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 sleep clinic 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 readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety and idempotency are covered. The description adds useful return-content context by stating that each source includes license and refresh information. It does not describe pagination, ordering, or failure behavior, but for a no-param read-only list tool that is a minor gap.
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 compact sentence that front-loads the verb and resource, then adds the key returned fields. Every phrase earns its place and there is no filler.
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 parameters, no nested objects, and no output schema, the description carries a reasonable amount of context: it states what the tool lists and what each result contains. An agent has enough to call it correctly, though it could be slightly more complete by mentioning ordering or scope limits.
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 has zero parameters, so there are no parameter semantics to explain; baseline for 0 params is 4. The description correctly focuses on output content instead of inventing parameter guidance.
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 uses a specific verb and resource: 'List where the sleep clinic data comes from.' It also names the fields each item includes (license and refresh), making the purpose clear. It does not explicitly distinguish itself from siblings like list_categories or list_places, though 'sources' is reasonably distinguishable.
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 implied by the description: an agent would call this when it needs provenance, licensing, or refresh information about the data. However, there is no explicit when-to-use guidance, no exclusion criteria, and no mention of alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsARead-onlyIdempotentInspect
Search published sleep clinics 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 and closed-world, so the safety profile is covered. The description adds one genuine behavioral fact beyond that — only *published* clinics are returned — but says nothing about pagination behavior, result ordering defaults, or what an empty result means.
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 11-word sentence with zero filler, front-loaded with the verb and the resource scope. Nothing to trim and nothing buried.
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 8 optional parameters and no output schema, the description is minimally adequate: it conveys what is searched and that results are limited to published clinics. It does not describe the response envelope (cursor/page fields the schema references) or how multiple place filters combine, which leaves real gaps for a faceted search tool.
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%, so every one of the 8 parameters is already documented, including slug formats, the sort defaults and cursor reuse. The description only restates the filter grouping ('text, place and category') and adds no syntax or constraint detail beyond the schema. 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?
States a specific verb (search) and resource (published sleep clinics) plus the three filter axes (text, place, category). This clearly separates it from get_listing (single fetch) and the list_* siblings, 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: the word 'published' hints at scope, and 'search ... by text, place and category' suggests discovery scenarios. There is no statement of when to prefer this over get_listing or list_places, and no exclusions or prerequisites.
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 methadone and buprenorphine treatment near you.
Find a licensed peptide clinic, in person or by telehealth.
Find eating disorder treatment programs near you.
Find polygraph (lie detector) offices, pricing and service info across the US, Canada and the UK.
Related MCP Servers
- AlicenseAqualityCmaintenanceSearch 12,338 curated, SAMHSA-sourced addiction treatment facilities across all 50 US states.4MIT
- 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.145 npmMIT
- AlicenseBqualityCmaintenanceEnables AI assistants to search official NFZ waiting lists in Poland for specialists, diagnostic tests, and procedures near a given location, ranked by forecast waiting time or distance. Results include waiting counts, addresses, phone numbers, accessibility details, and pediatric availability, with no API key required.38MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to search Italian private healthcare services, clinics, and doctors, compare real-time availability, bookable times, and prices, and retrieve service preparation and pricing information, while leaving booking on cup24.it.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.