privateelevators
Server Details
Find home elevator dealers, installers and service firms.
- 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-record fetch by slug (get_listing), text/facet search (search_listings), taxonomy listing (list_categories, list_places, list_sources), and aggregate metadata (get_stats). The only plausible overlap is get_listing vs search_listings, but the descriptions clearly separate a slug lookup from a text search.
All six tools follow a strict verb_noun snake_case pattern (get_*, list_*, search_*), with verbs that accurately signal cardinality (get = one, list/search = many). No stylistic deviations.
Six tools is well-scoped for a read-only directory API, and each one covers a distinct facet (records, search, categories, places, sources, stats). No redundant or filler tools.
The surface covers the core read workflows for a published directory: retrieve one, search many, enumerate taxonomies, cite sources, and report totals. Minor gaps exist (e.g. no way to fetch details for a single category/place/source, and no explicit pagination or related-listings operation), but agents can work around these via search filters.
Available Tools
6 toolsget_listingARead-onlyIdempotentInspect
Get one published home lift company 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 and closed-world, so safety is covered. The description adds one real behavioral detail — only published listings are returned, so unpublished slugs presumably yield nothing/error — but says nothing about not-found behavior 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?
One short sentence, front-loaded with the verb and resource, with no filler. It is perhaps too terse — the "published" constraint could be foregrounded as a caveat rather than buried as an adjective.
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 simple single-param read tool with full annotations, the description covers the core contract: one published entity looked up by slug. With no output schema, the absence of any indication of what a successful response contains or what a miss looks like is a minor but real 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?
Single parameter with 100% schema coverage including pattern and length constraints, so the schema fully documents it. The description only restates "by its slug" and adds no format or lookup semantics 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?
Specific verb+resource with scope qualifiers: "one" single item, "published", and "by its slug" — clearly a point lookup rather than the list/search siblings. It doesn't explicitly name search_listings or the list_* tools, so differentiation is implied by "one" 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?
"By its slug" implies the prerequisite of an already-known slug, which mildly steers an agent away from this tool when it only has a name. There is no explicit when-to-use/when-not or pointer to search_listings for slug discovery.
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 home lift companies, 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 establish read-only, idempotent, non-destructive, closed-world behavior, so the description does not need to restate safety. It adds useful scope by saying the counts cover published entities and that it returns a freshness timestamp, but it does not disclose additional operational behavior such as response format or caching.
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?
It is a single efficient sentence with the core purpose front-loaded and no redundant text. Every part contributes to what the tool returns.
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 statistics tool, the description covers the key returned metrics and data freshness, and annotations cover the safety profile. The exact response shape is not specified, but the essential information an agent needs to call it correctly is present.
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; a baseline of 4 is appropriate. The description does not need to compensate for any schema gaps.
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: it says it gets counts of published companies, places, and categories plus when data last changed. That clearly distinguishes it from list/search tools in substance, though it does not explicitly name siblings or contrast itself 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?
Usage is implied by the aggregate counts and freshness data: an agent can infer this is the tool for summary statistics rather than listings. However, there is no explicit when-to-use guidance, no exclusions, and no named alternative among get_listing, list_categories, list_places, list_sources, or search_listings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesBRead-onlyIdempotentInspect
List categories with their home lift company counts.
| 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 safety is fully covered. The description adds only that each returned category is accompanied by a home lift company count, which is genuinely new context absent from annotations; it says nothing about cardinality, ordering, or whether categories are static or user-scoped.
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 no filler and the key attribute (counts) front-loaded alongside the resource. Nothing is redundant with the title or schema.
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?
There is no output schema, so the description carries the burden of describing the return shape; it names only one field (company counts) and leaves the category identifier/name fields, ordering, and result size unexplained. For a simple zero-param list tool this is adequate but not 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 zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly implies a no-argument call rather than suggesting any filtering capability that does not 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 and resource (list categories) plus the payload content (home lift company counts), which is more specific than a bare 'list categories'. It does not differentiate from siblings like list_places or list_sources, so an agent must infer that this is the taxonomy endpoint rather than a place listing.
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 guidance, no mention of alternatives, and no prerequisites. With four sibling list/search tools in the same namespace, an agent has no signal for choosing list_categories over list_places or get_stats.
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 home lift companies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the useful inclusion criterion that only places with home lift companies are returned, but it does not describe return structure or ordering.
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?
The description is a single efficient sentence that front-loads the action and the resource. Every part of the sentence contributes meaning, with no wasted language.
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 simple, parameterless list tool with strong annotations on safety and idempotency, the description is nearly complete: it states what is listed and the inclusion criterion. The main omission is any sense of return shape or hierarchy, which is not covered by an output schema.
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 are no parameter semantics to explain. The baseline for a parameterless tool is 4, and the description does not need to compensate for any schema gaps.
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 ('List') and resource ('countries, regions and cities'), plus a clear scope condition: places that have home lift companies. It is distinguishable from siblings such as list_categories and list_sources, though it does not explicitly contrast itself 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?
There is no explicit guidance on when to use this tool versus alternatives like list_categories, list_sources, or search_listings. The only implied use case is browsing geographic coverage, which an agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesBRead-onlyIdempotentInspect
List where the home lift company 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, openWorldHint=false and no destruction, so safety is covered. The description adds that each entry carries a license and refresh cadence, which is real content beyond annotations, but with no output schema it stops short of describing the full returned 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 padding; every clause (source, license, refresh) carries information about the result.
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-param read-only tool with no output schema, the description could reasonably spell out the returned fields more fully (source name, URL, license type, refresh interval). It hints at two of them, which is adequate but leaves gaps.
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 of 4 applies. The description correctly implies a no-argument enumeration and doesn't invent filters.
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 home lift company data comes from') and names the payload fields ('license and refresh of each source'). It is clearly distinct from the listing/category/place siblings, though it never explicitly contrasts 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?
There is no statement of when to call this versus get_listing, get_stats, or the other list_* tools. The purpose implies provenance/attribution lookup, but the agent is left to infer that.
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 home lift companies 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, closed-world, so safety needs no restating. The description does add one real behavioral fact not in annotations — only 'published' companies are matched — but says nothing about result shape, ranking behavior or empty-result handling, which the schema only partially covers.
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, and the key scope word 'published' appears early. It is efficient but so terse that it forgoes the chance to carry usage or return-shape guidance.
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 parameters, no output schema and is this the main entry point for the domain, the description covers only the what. It never says what a result contains, how paging surfaces, or that results are ranked, leaving the agent to reconstruct behavior from the schema alone.
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 the baseline is 3. The description confirms that text, place and category are the intended filter dimensions but adds no syntax, precedence or combination rules beyond what the schema already documents in detail (slugs from /places and /categories, sort defaults, cursor reuse).
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 home lift companies) plus the three faceting axes (text, place, category), which is enough to distinguish it from the singular get_listing and the enumeration siblings list_categories/list_places. It does not explicitly name any sibling, so it stops short of full differentiation.
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 by the phrase 'search ... by text, place and category'; there is no statement of when to prefer this over list_* or get_listing, nor any exclusion or prerequisite guidance. An agent must infer that this is the discovery entry point and the others are follow-ups.
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 7,000+ local service businesses across America by category, location, or keyword.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceSearch 6,900+ U.S. surety bond requirements across all 50 states. Instant pricing.-
- FlicenseNot gradedqualityBmaintenanceThe routing layer between AI agents and local Florida businesses. Live data on permits, sector gaps, and market signals across 2,383 ZIP codes — so when an agent, voice assistant, or real customer needs something done, the right business gets the job. Ask LocalIntel Claim Your Listing-
- AlicenseAqualityBmaintenanceFind 76,000+ curated healthcare service vendors across 25 categories and all 50 US states. Search by category, specialty, city, state, and EHR system to identify billing, credentialing, EHR, and practice-consulting vendors that serve medical practices.31MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search checked US roofing, siding, and gutter contractors by city and trade, and to retrieve individual contractor profiles with contact details, claimed status, and ratings. Read-only, requires no login or API key, and filters out closed or unlisted businesses.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.