MCP Documentation
A public read-only MCP server exposing the GetValetParking.com US valet directory via 7 tools. Agents use these tools to find operators by city, service type, or geographic coordinate across 31,000+ cities and 789 operators.
What this is
The GetValetParking MCP server provides structured, real-time access to the US valet parking
operator directory. All 7 tools are read-only and idempotent. The server runs on
Cloudflare Workers at https://api.getvaletparking.com/mcp using the
Streamable HTTP transport defined in the MCP 2025-06-18 specification.
Every tool response includes a data_freshness field with an
indexed_at timestamp so agents can evaluate recency before presenting results.
Operator data refreshes from Payload to Typesense daily at 03:00 UTC.
Tool overview
| Tool name | Title | Cost (points) |
|---|---|---|
valet_list_services | List Valet Services | 1 |
valet_get_operator | Get Operator Profile | 2 |
valet_search_cities | Search Cities | 1 |
valet_find_operators_in_city | Find Operators In City | 1 |
valet_search_by_service_and_city | Search By Service And City | 1 |
valet_find_nearest_operators | Find Nearest Operators | 3 |
valet_find_operators_near | Find Operators Near | 3 |
Tool reference
List Valet Services
valet_list_services
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.
No input parameters required.
Output fields
-
services: The 9 canonical valet service types, in catalog order -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Get Operator Profile
valet_get_operator
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.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | Canonical kebab-case operator slug (e.g. '12-oaks-parking-llc'). Lowercase letters, digits, hyphens only. |
Output fields
-
operator: The full merged operator profile (Typesense + Payload long-tail fields) -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Search Cities
valet_search_cities
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.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Partial or full city name (>=2 chars). Matched against name and lowercase name fields with prefix semantics. |
limit | integer | no | Max results to return; default 8, capped at 25 |
Output fields
-
cities: Cities matching the query, ranked by text match then population desc -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Find Operators In City
valet_find_operators_in_city
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 premium tier first then name. Empty array if no listed operators.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
state_slug | string | yes | Lowercase kebab-case US state slug (e.g. 'tx', 'new-york') |
city_slug | string | yes | Lowercase kebab-case city slug (e.g. 'houston', 'san-francisco') |
service | string | no | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every operator serving the city. |
limit | integer | no | Max results to return; default 10, capped at 50 |
Output fields
-
operators: Operators serving the city, ranked tier:desc then name:asc. Empty array means no matches. -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Search By Service And City
valet_search_by_service_and_city
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.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
service_slug | string | yes | Required canonical valet service slug. One of 9 values; call valet_list_services for the full set. |
city_slug | string | yes | Lowercase kebab-case city slug (e.g. 'austin', 'springfield'). May match multiple cities across states. |
limit | integer | no | Max results to return; default 10, capped at 50 |
Output fields
-
operators: Operators offering service_slug in any city matching city_slug across all states. Empty array means no matches. -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Find Nearest Operators
valet_find_nearest_operators
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.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
lat | number | yes | Latitude in decimal degrees (WGS84). Range: -90 to 90. |
lng | number | yes | Longitude in decimal degrees (WGS84). Range: -180 to 180. |
service | string | no | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every nearby operator regardless of services offered. |
limit | integer | no | Max results to return; default 10, capped at 50 |
Output fields
-
operators: Operators within 100 miles of the input coordinate, sorted nearest-first. Empty array means nothing within 100 miles. -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Find Operators Near
valet_find_operators_near
Find valet operators within a given radius of a coordinate, ranked premium tier first 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.
Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
lat | number | yes | Latitude in decimal degrees (WGS84). Range: -90 to 90. |
lng | number | yes | Longitude in decimal degrees (WGS84). Range: -180 to 180. |
radius_miles | number | 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. |
service | string | no | Optional service narrowing. One of the 9 canonical valet service slugs. Omit to list every operator within radius regardless of services offered. |
limit | integer | no | Max results to return; default 10, capped at 50 |
Output fields
-
operators: Operators within radius_miles of the input coordinate, ranked tier:desc then distance:asc. Empty array means no matches within radius. -
data_freshness: TOOL-10 freshness stamp -
_meta: TOOL-11 ToS and attribution block
Install
The MCP server uses the Streamable HTTP transport. Most clients support it directly
via a URL key. Claude Desktop requires the mcp-remote bridge package.
Claude Desktop
Add the following to your Claude Desktop config file.
On macOS the config lives at ~/Library/Application Support/Claude/claude_desktop_config.json.
On Windows the config lives at %APPDATA%\Claude\claude_desktop_config.json.
{
"mcpServers": {
"valet-parking-directory": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.getvaletparking.com/mcp"
]
}
}
} Cursor
Add the following to your Cursor MCP config.
Global config: ~/.cursor/mcp.json.
Project config: .cursor/mcp.json at the project root.
{
"mcpServers": {
"valet-parking-directory": {
"url": "https://api.getvaletparking.com/mcp"
}
}
} Continue
Add the following to your Continue config at .continue/config.yaml.
mcpServers:
- name: valet-parking-directory
type: streamable-http
url: https://api.getvaletparking.com/mcp Cline
Add the following entry to your Cline MCP server configuration.
{
"mcpServers": {
"valet-parking-directory": {
"url": "https://api.getvaletparking.com/mcp",
"disabled": false,
"autoApprove": []
}
}
} ChatGPT
Open ChatGPT Settings, then Apps and Connectors, then Add.
Enter Name: valet-parking-directory.
Enter URL: https://api.getvaletparking.com/mcp.
This requires ChatGPT Pro, Team, Enterprise, or Edu.
Steps may vary; refer to current ChatGPT documentation.
Rate limits
Each tool call consumes a point budget. The budget is 100 points per 60-second rolling window, measured per (IP, session) pair. A per-IP-per-day cap of 1,000 calls applies; exceeding it for two consecutive days triggers a 24-hour tarpit response. Per-tool kill switches are available as a manual override. Per-tool costs appear in the Tool overview table above.
Data freshness
Operator data refreshes from Payload to Typesense daily at 03:00 UTC. The
data_freshness field on every tool response includes the
indexed_at timestamp and a source tag. If
Payload-vs-Typesense drift exceeds 5%, tool responses return a transient 503
with a Retry-After header; drift between 1% and 5% adds a
data_freshness.warning field with the current drift percentage.
Drift status is observable via the mcp:drift_flag KV key.
Service taxonomy
The valet_list_services tool returns the following 9 canonical service slugs.
Pass these as the service or service_slug parameter when
filtering operators by service type.
| Slug | Display name |
|---|---|
wedding-valet | Wedding Valet |
corporate-event-valet | Corporate Event Valet |
private-event-valet | Private Event Valet |
funeral-valet | Funeral Valet |
hotel-resort-valet | Hotel & Resort Valet |
restaurant-valet | Restaurant Valet |
hospital-medical-valet | Hospital & Medical Valet |
major-venue-valet | Major Venue Valet |
general-valet | General Valet Service |
Terms of use
This server is a public, read-only interface. Permitted use: real-time agent queries grounded in a user intent. Prohibited: bulk extraction, dataset construction, or redistribution of operator data. Read the MCP terms.
Contact
Questions about this server: [email protected].