Tools
find_restaurant
Fuzzy name search with optional city disambiguation
find_restaurant
Search for restaurants by name. Supports partial and fuzzy matching with optional city filtering.
Tier: Free
Use cases
- Find a specific restaurant when you know the name (or part of it)
- Disambiguate between restaurants with the same name in different cities
- Get a
seemor_idto use withlookup_restaurant
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | -- | Restaurant name to search for. Partial matches work. |
city | string | No | -- | City to narrow the search. |
limit | number | No | 5 | Maximum results to return (1-10). |
Response
| Field | Type | Description |
|---|---|---|
status | "ok" | Response status |
results | array | Matching restaurants (see fields below) |
total_matches | number | Total matches found (may exceed limit) |
Result fields
| Field | Type | Possible values | Description |
|---|---|---|---|
seemor_id | string | UUID | Unique restaurant identifier. Use this with other tools. |
name | string | -- | Restaurant name |
address | string | null | -- | Street address |
coordinates | object | { lat: number, lng: number } | Geographic coordinates |
city | string | null | -- | City name |
neighborhood | string | null | -- | Neighborhood name |
cuisine_tags | string[] | -- | Cuisine classifications (e.g., ["italian", "pizza"]) |
grade | string | null | A+, A, A-, B+, B, B-, C+, C, C-, D, F (may include ? suffix) | Seemor letter grade. Null if not yet analyzed. A ? suffix indicates reduced confidence -- fewer than 100 reviews or review authenticity concerns. |
coverage_level | string | "full", "basic" | full = deep analysis available. basic = catalogued but not yet analyzed. |
This tool returns a lightweight response. For full details (TL;DR, price level, grade label, URL), use lookup_restaurant with the returned seemor_id.
Example request
curl -X POST https://api.seemor.ai/api/mcp \
-H "Authorization: Bearer sk_seemor_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_restaurant",
"arguments": {
"name": "Dishoom",
"city": "London"
}
}
}'Example response
{
"status": "ok",
"results": [
{
"seemor_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Dishoom Shoreditch",
"address": "7 Boundary St, London E2 7JE",
"coordinates": { "lat": 51.5244, "lng": -0.0763 },
"city": "London",
"neighborhood": "Shoreditch",
"cuisine_tags": ["indian", "bombay cafe"],
"grade": "A-",
"coverage_level": "full"
}
],
"total_matches": 5
}Notes
- Matching priority: exact match > starts-with > substring. Results sorted by analysis depth, then alphabetically.
- The
limitparameter accepts 1-20 in the schema but the handler caps at 10. - Use
coverage_levelto check whether deeper data is available before callinglookup_restaurantwith standard or premium fields.