# 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.

Agent View of the PolicyLayer registry record for `valet_search_by_service_and_city`. HTML page: https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-search-by-service-and-city

## Facts

- Tool: `valet_search_by_service_and_city`
- Server: Valet Parking Directory (`https://api.getvaletparking.com/mcp`) — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory.md
- Homepage: https://github.com/getvaletparking/valet-parking-mcp
- Risk category: Read (Low risk)
- Registry record: grade C, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 3 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | no | Max results to return; default 10, capped at 50 |
| `city_slug` | string | yes | Lowercase kebab-case city slug (e.g. 'austin', 'springfield'). May match multiple cities across states. |
| `service_slug` | string | yes | Required canonical valet service slug. One of 9 values; call valet_list_services for the full set. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "valet_search_by_service_and_city",
    "arguments": {
      "city_slug": "<city_slug>",
      "service_slug": "<service_slug>"
    }
  }
}
```

## Why valet_search_by_service_and_city is rated Low

This tool retrieves and queries data from the valet parking directory without side effects. The description indicates it searches and returns information based on parameters (service slug and city slug), which is a pure read operation. The mention of 'Invalid service slugs surface the 9 canonical alternatives' further confirms it is informational/advisory with no data modification.

From the tool's own definition: "Tool performs a 'Search' operation that 'returns a cross-state tier-then-name ranked list' of valet operators matching given service and city parameters. No creation, modification, deletion, or execution capabilities are described."

## Use case

AI agents call valet_search_by_service_and_city to retrieve information from Valet Parking Directory without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Valet Parking Directory:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "valet_search_by_service_and_city": {}
  }
}
```

## Other tools on Valet Parking Directory (6)

- `valet_find_nearest_operators` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-find-nearest-operators.md
- `valet_find_operators_in_city` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-find-operators-in-city.md
- `valet_find_operators_near` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-find-operators-near.md
- `valet_get_operator` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-get-operator.md
- `valet_list_services` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-list-services.md
- `valet_search_cities` — Read — https://policylayer.com/tools/com-getvaletparking-valet-parking-directory/valet-search-cities.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-getvaletparking-valet-parking-directory · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-getvaletparking-valet-parking-directory
