valet-parking-directory
Server Details
MCP server for valet parking: 789 US operators across 31,186 cities. 7 tools. No auth.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- getvaletparking/valet-parking-mcp
- GitHub Stars
- 0
- Server Listing
- valet-parking-directory
Available Tools
8 toolsvalet_find_nearest_operatorsFind Nearest OperatorsARead-onlyIdempotentInspect
List nearest valet operators within a 100-mile cap of a coordinate, optionally narrowed by service. Use this when a user is in a city with no listed operators and you need the closest available fallback ranked nearest-first. Empty array if nothing within 100 miles.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees (WGS84). Range: -90 to 90. | |
| lng | Yes | Longitude in decimal degrees (WGS84). Range: -180 to 180. | |
| limit | No | Max results to return; default 10, capped at 50 | |
| service | No | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every nearby operator regardless of services offered. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| operators | Yes | Operators within 100 miles of the input coordinate, sorted nearest-first. Empty array means nothing within 100 miles. |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral detail beyond the readOnlyHint/idempotentHint annotations: the 100-mile distance cap, nearest-first ranking, optional service narrowing, and the empty-array response if nothing qualifies. This fully informs the agent of operational expectations without contradiction.
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 tight three-sentence structure that front-loads the core verb and scope, then adds the primary use case and empty-state behavior. Every sentence earns its place and no explicit guidance is lost in prose.
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 read-only, idempotent, non-destructive operation with a full input schema and an output schema, the description covers all necessary context: purpose, cap, ordering, optional filter, and failure response. It is sufficient for an agent to select and call the tool 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?
Schema description coverage is 100%, and each parameter already includes types, ranges, defaults, and enum options. The description adds minimal semantic value beyond 'coordinate' and 'optionally narrowed by service', so the baseline of 3 is appropriate since the schema carries the parameter documentation weight.
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 clearly states the verb and resource: 'List nearest valet operators within a 100-mile cap of a coordinate, optionally narrowed by service.' It differentiates from city-based and operator lookup tools by emphasizing coordinates and fallback context, though it does not explicitly distinguish itself from the similarly named sibling valet_find_operators_near.
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?
It gives a concrete trigger scenario: 'Use this when a user is in a city with no listed operators and you need the closest available fallback ranked nearest-first.' This is useful, but it doesn't name alternatives or explicitly say when not to use the tool, leaving some inference about choosing between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_find_operators_in_cityFind Operators In CityARead-onlyIdempotentInspect
List valet operators serving a city slug plus state slug, optionally narrowed by service. Use this when an agent has a city already disambiguated and wants its operator roster ranked by listing tier then name. Empty array if no listed operators.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return; default 10, capped at 50 | |
| service | No | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every operator serving the city. | |
| city_slug | Yes | Lowercase kebab-case city slug (e.g. 'houston', 'san-francisco') | |
| state_slug | Yes | Lowercase kebab-case US state slug (e.g. 'tx', 'new-york') |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| operators | Yes | Operators serving the city, ranked tier:desc then name:asc. Empty array means no matches. |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive safety, so the bar is lower and the description clears it. It adds two genuinely useful behaviors not in the schema: results are ordered by listing tier then name, and the tool returns an empty array when no listed operators exist.
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?
Three short sentences each deliver distinct value: action and scope, when to use it and the ranking expectation, and the empty-array edge case. There is no filler, and the most decision-relevant content is front-loaded.
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 a full output schema and safety annotations present, the description covers the key selection context, the ranking behavior, and the no-result scenario without redundant return-type explanation. The only minor gap is not naming sibling tools for alternate scenarios, but the slug-based versus location-based distinction is adequately implied.
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% with rich descriptions for all four parameters (slugs, enum service values, limit with min/max/default), so the schema already documents semantics. The description merely rephrases 'optionally narrowed by service' and 'city slug plus state slug' without adding new detail, meeting but not exceeding the baseline.
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 opens with a specific verb 'List' and names an exact resource ('valet operators serving a city slug plus state slug'), immediately distinguishing it from sibling search/nearest/operator-detail tools. The optional service narrowing and the ranking-by-tier detail make the tool's scope unambiguous.
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?
It gives an explicit 'Use this when an agent has a city already disambiguated' condition, which clearly routes an agent to this tool after city resolution rather than to city-search or nearest-location tools. It does not explicitly name the alternatives to use in other cases, but the disambiguation condition is strong contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_find_operators_nearFind Operators NearARead-onlyIdempotentInspect
Find valet operators within a given radius of a coordinate, ranked by listing tier then distance. Use this when you have a coordinate and an event-context radius (5mi single venue, 25mi metro, 50mi regional). radius_miles is required; empty array if no matches.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees (WGS84). Range: -90 to 90. | |
| lng | Yes | Longitude in decimal degrees (WGS84). Range: -180 to 180. | |
| limit | No | Max results to return; default 10, capped at 50 | |
| service | No | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every operator within radius regardless of services offered. | |
| radius_miles | Yes | Search radius in miles. REQUIRED, no default. Pick based on context: 5 mi for a single venue, 25 mi for a metro, 50 mi for a regional sweep. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| operators | Yes | Operators within radius_miles of the input coordinate, ranked tier:desc then distance:asc. Empty array means no matches within radius. |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavior beyond that: the ranking order ('by listing tier then distance') and the empty-array return for no matches. These are operational details an agent needs, and they are not present in the annotations. No contradiction detected.
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?
Two sentences, front-loaded with the core action and ranking, followed by usage context. Every word earns its place—no fluff, no repetition of schema data, and no unnecessary detail. The critical usage constraint (radius_miles required) is included without padding.
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?
Combined with the schema (which covers all parameters, defaults, limits, and enums) and the presence of an output schema, the description fills the remaining gaps: ordering, empty-array behavior, and contextual radius guidance. An agent has everything needed to invoke this tool correctly without additional inference.
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%, meaning every parameter already has a meaningful schema description. The tool description repeats the radius guidance ('5mi single venue, 25mi metro, 50mi regional') which is already present in the schema for radius_miles. It does not add anything new about parameter meaning or relationships. With full schema coverage, a baseline 3 is appropriate.
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 ('Find'), a precise resource ('valet operators near a coordinate'), and adds distinguishing details: 'ranked by listing tier then distance'. This clearly separates it from siblings like valet_find_nearest_operators (which likely finds a single nearest) and valet_find_operators_in_city (which uses city rather than coordinates).
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 explicit when-to-use guidance: 'Use this when you have a coordinate and an event-context radius (5mi single venue, 25mi metro, 50mi regional)'. It also specifies the required radius_miles parameter. It does not explicitly name alternatives, but the context is clear enough for an agent to select this tool over the city-based sibling. Missing an explicit 'when not to use' or alternatives, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_get_operatorGet Operator ProfileARead-onlyIdempotentInspect
Get the full operator profile by slug including address, phone, website, services, venues_served, FAQs, and tipping note. Use this when an agent has a slug from a search tool or directory URL and needs the complete profile to rank or present. Returns isError on slug 404 or upstream outage.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Canonical kebab-case operator slug (e.g. '12-oaks-parking-llc'). Lowercase letters, digits, hyphens only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| operator | Yes | The full merged operator profile (Typesense + Payload long-tail fields) |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavior beyond annotations by noting 'Returns isError on slug 404 or upstream outage,' which communicates error semantics. The readOnly, idempotent annotations already cover safety, and this description enriches understanding without contradiction.
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 two sentences, front-loaded with the action and resource, and each sentence earns its place: one for scope/fields, one for usage context and error behavior. No redundancy or fluff.
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-parameter get-by-slug tool with robust annotations and an output schema, the description covers all necessary context: what the tool does, when to use it, and key error behavior. Nothing essential is missing.
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 schema already provides a detailed description of the slug parameter (kebab-case, lowercase, digits, hyphens) with 100% coverage. The tool description merely references 'by slug' without adding further parameter semantics, so the baseline of 3 is appropriate.
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 clearly states the tool gets the full operator profile by slug and enumerates the specific fields included (address, phone, website, services, venues_served, FAQs, tipping note). It distinguishes itself from sibling search tools by focusing on a direct slug-based lookup.
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 explicit when-to-use guidance: 'Use this when an agent has a slug from a search tool or directory URL and needs the complete profile to rank or present.' It does not explicitly name alternative tools or when not to use, but the context implies searching tools handle discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_list_servicesList Valet ServicesARead-onlyIdempotentInspect
List the 9 canonical valet service slugs with display name and category. Use this when an agent needs to validate or discover the supported service taxonomy before composing a follow-up search (e.g. valet_search_by_service_and_city). Returns the in-bundle catalog; no upstream call; no isError path.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| services | Yes | The 9 canonical valet service types, in catalog order |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, covering safety. The description adds valuable context beyond annotations: 'Returns the in-bundle catalog; no upstream call; no isError path.' This informs the agent about the tool's execution model and error behavior, although it isn't a full behavioral contract.
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?
Two sentences, front-loaded with the core purpose, followed by usage guidance and behavioral notes. Every sentence earns its place; no fluff or repetition. The structure is ideal for quick comprehension.
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 an output schema, the description fully covers purpose, use case, and execution traits. The presence of an output schema eliminates the need to describe return fields, and the description confirms the tool is safe and self-contained. It is complete for 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 has zero parameters, so the description cannot add parameter-level meaning. Per guidelines, a no-parameter tool receives a baseline of 4. The description's mention of '9 canonical service slugs' is an output detail rather than a parameter semantic, but it gives a sense of the result size.
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 clearly states a specific verb and resource: 'List the 9 canonical valet service slugs with display name and category.' It distinguishes itself from sibling tools by focusing on the service taxonomy, while siblings handle operators and cities. The 9-slug detail is concrete and unambiguous.
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?
Explicitly states when to use: 'Use this when an agent needs to validate or discover the supported service taxonomy before composing a follow-up search.' It even names a sibling tool as a companion, showing awareness of alternatives. Clarifies that no upstream call occurs, which sets expectations for reliability and speed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_request_quoteRequest Valet QuoteAInspect
Submit a valet parking quote request to the operators serving a US city. Use this when a person has asked you to arrange valet and has given their name, email, phone, city, service type and event date. The request is only sent after they confirm by email.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Free-text notes for the operator, e.g. venue name or timing details | |
| service | Yes | One of the 9 canonical valet service slugs | |
| city_slug | No | Canonical kebab-case city slug from valet_search_cities, e.g. 'austin'. Omit if using city_other. | |
| city_other | No | Free-text city name when no directory slug is known. Omit if using city_slug. | |
| event_date | Yes | Event date in YYYY-MM-DD format | |
| guest_count | No | Approximate guest count, if known | |
| contact_name | Yes | The requester's full name | |
| contact_email | Yes | Email address to send the one-tap confirmation link to | |
| contact_phone | Yes | Phone number the operator can call | |
| operator_slug | No | Send to this one operator only instead of the full fan-out for the city. Omit to notify every matched operator in the city. | |
| vehicle_count | No | Approximate vehicle count, if known |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | Yes | What the agent should tell the person to do next |
| _meta | Yes | TOOL-11 ToS and attribution block |
| status | Yes | Always pending-confirmation on success |
| reference | Yes | Short human-readable reference for this quote request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, providing no positive behavioral guidance. The description adds meaningful side-effect context: the quote request is not sent immediately but only after the user confirms by email. This goes beyond the annotations and informs the agent how to handle the user's expectation.
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?
Two tight sentences: the first covers what and when; the second covers a crucial workflow detail. There is no filler, and the most important behavioral caveat is placed in the final sentence where it stands out.
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?
Given the rich schema with 100% coverage, an output schema, and a clear trigger in the description, the tool is adequately documented. The main missing item is an explicit reference to the operator_slug fan-out option (send to one vs many), but that is covered in the schema, so this 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 schema description coverage is 100%, so the schema already explains each parameter, including optionality and city_slug vs city_other. The description mentions 'city' but not the exact parameter mapping, yet this is sufficiently handled by the structured schema. No additional semantic value is added by the description.
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 the precise action ('Submit a valet parking quote request'), the resource ('operators serving a US city'), and the user scenario. It clearly differentiates this submission tool from sibling search/find operators, since it's the only one that creates a quote request.
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 provides an explicit trigger: 'when a person has asked you to arrange valet and has given their name, email, phone, city, service type and event date.' It also adds a critical timing constraint: the request is sent only after email confirmation. However, it doesn't explicitly state when not to use it or name sibling alternatives, leaving slight ambiguity with the operator-finding tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_search_by_service_and_citySearch By Service And CityARead-onlyIdempotentInspect
Search valet operators by service slug plus city slug across all matching states. Use this when an agent has both a service slug and a city slug and wants a cross-state tier-then-name ranked list. Invalid service slugs surface the 9 canonical alternatives.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return; default 10, capped at 50 | |
| city_slug | Yes | Lowercase kebab-case city slug (e.g. 'austin', 'springfield'). May match multiple cities across states. | |
| service_slug | Yes | Required canonical valet service slug. One of 9 values; call valet_list_services for the full set. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| operators | Yes | Operators offering service_slug in any city matching city_slug across all states. Empty array means no matches. |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond annotations: cross-state scope, the tier-then-name ranking order, and notably the error handling for invalid service slugs ('surface the 9 canonical alternatives'). No contradiction with annotations.
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?
Three sentences, all front-loaded: purpose, usage context, then error behavior. No filler or repetition of schema content. Each sentence earns its place, though the last sentence on invalid slugs could arguably be folded into a parameter note.
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?
Comprehensive for this tool: output schema covers return format, annotations cover the safe read/idempotent profile, and the description covers purpose, scope, ranking, and error behavior. Missing only explicit mention of pagination semantics, but the limit parameter and output schema already address results handling.
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 schema fully documents all three parameters, including the enum values and a pointer to valet_list_services. The description adds minimal value beyond the schema—it echoes the two slugs and hints at the error behavior tied to service_slug, but does not materially extend parameter understanding. Baseline 3 is appropriate given the schema carries the load.
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+resource ('Search valet operators') with precise scoping ('by service slug plus city slug across all matching states'). The cross-state qualifier and 'tier-then-name ranked list' directly differentiate it from city-scoped tools like valet_find_operators_in_city, so an agent can distinguish it without opening schemas.
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?
Explicitly states the trigger condition: 'Use this when an agent has both a service slug and a city slug and wants a cross-state tier-then-name ranked list.' It clearly conveys the context for selection but doesn't explicitly name sibling alternatives or state when NOT to use it, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valet_search_citiesSearch CitiesARead-onlyIdempotentInspect
Search the cities directory by name prefix with population-ranked results. Use this when an agent needs to resolve a partial city name into a canonical city slug plus state slug plus lat/lng before composing valet_find_operators_in_city or valet_find_operators_near. Empty array if no matches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return; default 8, capped at 25 | |
| query | Yes | Partial or full city name (>=2 chars). Matched against name and lowercase name fields with prefix semantics. |
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | Yes | TOOL-11 ToS and attribution block |
| cities | Yes | Cities matching the query, ranked by text match then population desc |
| data_freshness | Yes | TOOL-10 freshness stamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral details beyond annotations, including 'population-ranked results' and 'Empty array if no matches.' It also previews the return meaning. With output schema present, this is solid additional transparency.
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 two sentences, front-loaded with the primary function, and then provides usage context and a key behavioral note (empty array). Every sentence earns its place with 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?
For a read-only search tool with 2 parameters, an output schema, and strong annotations, the description fully covers the tool's purpose, when to use it, and essential edge behavior (no matches). It also immediately connects to related tools, making the description complete for an agent selecting and invoking it.
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 parameters (query and limit) already have detailed descriptions covering prefix semantics, min length, default, and max. The tool description adds context about population ranking and the canonical output fields, but it doesn't add new parameter-level syntax or meaning beyond the schema, so the baseline of 3 is appropriate.
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 action ('Search the cities directory by name prefix'), a resource (cities directory), and a distinguishing trait (population-ranked results). It also clarifies the output (canonical city slug, state slug, lat/lng), which clearly differentiates it from sibling tools that find operators.
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 explicitly says when to use this tool: 'when an agent needs to resolve a partial city name into a canonical city slug plus state slug plus lat/lng before composing valet_find_operators_in_city or valet_find_operators_near.' This names alternatives and provides an explicit context, going beyond mere implication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Operator-as-agent MCP hub. 6 tools. First $5 free, then $0.001/call.
337 MCP tools with x402 micropayments on Base. $0.001/call. No signup, no API keys.
Agent-native MCP server over 49M+ US public and government records, privacy-first, always current.
MCP server for US nursing facility search and ownership lookup (NursingHomeDatabase).
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for offensive-security tooling, enabling AI agents to run reconnaissance, CVE intelligence, JavaScript analysis, HTTP probing, and port scanning against authorized targets.10MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that exposes over 20 standard penetration testing utilities, such as Nmap, SQLMap, and OWASP ZAP, as callable tools for AI agents. It enables natural language control over complex security workflows for automated and interactive penetration testing.93
- AlicenseNot gradedqualityDmaintenanceMCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.481MIT

verfi-mcp-serverofficial
AlicenseNot gradedqualityDmaintenanceMCP server for Verfi — TCPA consent verification tools for AI agents.11MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Some tools overlap in purpose: valet_find_nearest_operators and valet_find_operators_near both use coordinates and return nearby operators, while valet_find_operators_in_city and valet_search_by_service_and_city have similar city+service semantics. The descriptions help distinguish them, but an agent must read carefully to pick the right one.
All tools use the valet_ prefix and snake_case, so the naming family is recognizable and mostly verb-led. Minor deviations like valet_find_operators_near versus valet_find_nearest_operators and the longer valet_search_by_service_and_city make it slightly less predictable.
8 tools is well-scoped for a valet directory server: city lookup, service lookup, operator searches, profile retrieval, and quote submission. Each tool earns a distinct place in the workflow without bloat or dead weight.
The toolkit covers the core workflow end-to-end: resolve cities, search operators by city/coordinate/service, get full profiles, validate service slugs, and request a quote. Obvious minor gaps are operator name search and any quote management/update operation, but the primary directory flow is complete.