tmsclinics
Server Details
Compare TMS clinics, coverage and published costs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: get_listing fetches one clinic by slug, while search_listings queries by text/place/category, and the three list_* tools each cover a different facet (categories, places, sources). There is minimal risk of misselection.
All tools follow a consistent verb_noun snake_case pattern (get_listing, get_stats, list_categories, list_places, list_sources, search_listings). The choices of get/list/search are semantically appropriate and predictable.
Six tools is well-scoped for a read-only directory API, with each tool earning its place across retrieval, search, and metadata discovery. No redundancy or bloat.
For a published-directory read API, the surface is complete: single-record retrieval, search, discovery of categories/places, provenance via sources, and stats metadata. No obvious gaps for the stated read-only purpose.
Available Tools
6 toolsget_listingARead-onlyIdempotentInspect
Get one published TMS 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, closed-world and non-destructive, so the safety profile is covered. The description adds one genuine behavioral fact beyond that — only *published* listings are returned — but says nothing about what happens when a slug is unknown or unpublished, nor what the response contains.
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 no filler. Nothing could be removed without losing meaning.
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 annotations this is close to adequate, but with no output schema the description should at least indicate what a returned 'listing' contains or what a miss looks like. The 'published' qualifier is the only extra context given.
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 single slug parameter has a pattern, length bounds and description, so the schema does the heavy lifting. The phrase 'by its slug' only restates the parameter's role without adding format or normalization guidance (e.g., whether it must already match the pattern).
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 states a specific verb (get), cardinality (one), domain resource (published TMS clinic), and lookup key (slug). It implicitly contrasts with the list/search siblings through 'one' vs 'search_listings'/'list_places', but never names an alternative explicitly, so it stops short of a 5.
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: fetch by slug when the identifier is already known, rather than searching. The description never says when to prefer this over search_listings or what to do if only a name is known, and gives no prerequisites.
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 TMS 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 behavior, so the safety profile is fully covered. The description adds useful scope context (counts are of *published* records) and that a last-changed timestamp is returned, but says nothing about result shape or whether counts can drift between calls.
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 names the resource, the returned metrics, and the freshness signal with no filler. Every clause carries information.
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 its share of the burden by naming what is returned (three counts plus last-changed). A brief note on whether counts are global or scoped to a source would close the remaining 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 the baseline applies and there is nothing for the description to document beyond confirming that all counts are returned unconditionally with no filtering options such as source or category.
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 ('Get the number of published TMS clinics, places and categories') plus the freshness attribute, which makes clear this is an aggregate-counts tool rather than a listing tool. It does not name the sibling list_* tools, so the differentiation is implied by the word 'number' 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?
Usage is only implied: an agent can infer this is the tool for totals rather than enumerations, but the description never says when to prefer it over list_categories/list_places or that it should be called before paginating. No exclusions or alternative routing are given.
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 TMS 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 and non-destructive, so the safety profile is fully covered. The description adds the one thing annotations cannot: that each category is returned with a TMS clinic count. It says nothing about ordering, completeness, or whether categories without 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?
A single front-loaded sentence with zero filler; the payload description is attached directly to the verb.
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-param, read-only listing tool with no output schema, the description plus annotations give enough to call it correctly and anticipate the shape of each row. A brief note on ordering or whether empty categories are included would make it complete.
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 no parameters, so the baseline is 4; there is nothing for the description to disambiguate and it does not waste words pretending otherwise.
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 states a specific verb and resource ('List categories') plus the payload ('with their TMS clinic counts'), so an agent knows exactly what it returns. It does not reference any sibling like list_places or list_sources, but the resource noun alone makes it 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 only implied: an agent wanting the category taxonomy would call this. There is no statement of when to prefer it over siblings such as list_sources or get_stats, though with zero parameters the decision space is very small.
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 TMS 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, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered without the description. The description adds one useful behavioral fact beyond annotations: results are filtered to locations that actually have TMS clinics, not all geographies. That is the extent of the added context.
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 short sentence with the resource and its scope front-loaded. No filler, no redundancy.
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 the essential scope information. It does not describe the shape of the returned list (e.g., whether items are hierarchical or flat), but that is a minor omission for such a simple 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?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a parameterless tool is 4. The description correctly implies the call needs no arguments.
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 (List) plus a precisely scoped resource (countries, regions and cities that have TMS clinics). It is clearly distinct from siblings like list_categories and list_sources, though it does not explicitly name them.
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 enumeration nature of the tool — an agent would reasonably call it to discover which geographies are available. However, there is no explicit when-to-use statement, no mention of related tools such as get_listing or search_listings, and no note about prerequisites.
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 TMS 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, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds value by disclosing what the result contains (per-source license and refresh cadence), which matters 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 with a clear verb and no filler; the returned fields are appended in one compact clause. Nothing to trim.
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, full annotation coverage and no output schema, the description gives enough to call correctly and anticipate the response shape. It stops short of describing ordering, count, or whether sources can be empty, which an agent might still 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, so there is nothing to disambiguate and the baseline of 4 applies. The description correctly implies no filtering options exist.
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 (data sources / provenance) and names the per-source fields returned (license, refresh). The resource is clearly distinct from siblings like list_places or search_listings, though the description doesn't explicitly contrast with them.
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 explicit when/when-not or alternatives are given; usage is only implied by 'where the TMS clinic data comes from', i.e. provenance/licensing lookups. For a zero-parameter list this is largely self-evident, but the agent must infer the trigger condition.
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 TMS 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 readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds one genuine behavioral fact beyond that: only *published* clinics are returned. It says nothing about result ordering, pagination behavior, or what a search returns structurally.
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 filler. The verb, scope qualifier and facets are all in the first few words.
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 an 8-parameter, all-optional facet search with no output schema, the description is serviceable but thin — it doesn't describe the paginated response shape or how facets combine (AND vs OR), leaving the agent to infer that from the schema's cursor note.
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 covers every nuance (slug sources, sort defaults, cursor semantics, 400 on uncovered country). The description's phrase "by text, place and category" merely restates the facets already fully documented in 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?
States a specific verb and resource ("Search published TMS clinics") plus the three facets it searches by. It implicitly distinguishes itself from get_listing (single record) and the list_* siblings, though it never names them.
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 infers you call this to find clinics matching text/place/category. There is no explicit statement of when to prefer this over get_listing or the list_* tools, and no note that all parameters are optional (empty search returns everything published).
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
Search US hospital prices, compare costs, and find insurance-negotiated rates.
Factual UK ADHD & autism assessment price and wait comparison. Read-only; not medical advice.
Search 12,338 curated, SAMHSA-sourced addiction treatment facilities across all 50 US states.
Editorially independent addiction & mental-health directory — facilities, therapists, expert Q&A.
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

costkits-mcpofficial
AlicenseAqualityCmaintenanceProvides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.1256 npmMIT- AlicenseAqualityBmaintenanceSearches Germany's therapie.de therapist directory and inspects public contact details, qualifications, billing options, treatment methods and reported availability without login or API key. Adds a private local workflow for comparing profiles, shortlisting, drafting and exporting enquiry emails, recording appointments, and tracking contact history and follow-ups.21MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.