Search Restaurants
search_restaurantsSearch for restaurants near a place. Name the place with location (for example "Shibuya, Tokyo"), or give its latitude and longitude; one of the two is required, and location wins when both are sent. A name several places share returns status geo_conflict with candidates to choose from, and a name Seemor does not know returns status not_found. For picking where to eat or giving recommendations, use recommend; this tool is for browsing a list by distance or filters. Returns graded, ranked results with cuisine, price level, and Seemor analysis summaries. Fully analyzed restaurants (coverage_level 'full', letter grade or grade_state 'not_highlighted') come first; when fewer than limit are available, quick-read restaurants are appended after them, marked coverage_level 'basic' with grade null and a preliminary_band (e.g. 'A-range') graded from review analysis, not star ratings; the band is the floor of the range, so 'B-range' means at least B minus. total_in_area = analyzed_in_area + preliminary_in_area; a message explains when quick-read rows are included. When location names a place Seemor holds, rooms inside that place come first and any room outside it carries a place_note (present it as outside the place asked for); analyzed_in_place counts the analyzed rooms inside and returned_outside_place counts the returned rooms outside.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "search_restaurants"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: "grade" (default, best first) or "distance" (nearest first). | |
| limit | No | Maximum results to return. Default 10, max 10. | |
| cuisine | No | Filter by cuisine type (e.g. "Italian", "Japanese"). Case-insensitive substring match. | |
| latitude | No | Latitude of the place the diner is asking about, as the coordinates of that place (-90 to 90). Do not send the diner's own device location unless the diner gave it. | |
| location | No | Name of the place the diner is asking about, e.g. 'Shibuya, Tokyo', 'Soho, London', 'Rome'. Pass it with its city, state or country whenever the conversation shows which place is meant, so a name several places share needs no question. Use this instead of guessing coordinates. Either location or both latitude and longitude is required; if both are sent, location takes priority. This is the place the diner is asking about, named in words; do not fill it from the diner's own device location unless the diner gave it. | |
| longitude | No | Longitude of the place the diner is asking about, as the coordinates of that place (-180 to 180). Do not send the diner's own device location unless the diner gave it. | |
| min_grade | No | Minimum letter grade to include (e.g. "A-"). A minimum leaves out rows Seemor does not highlight; a minimum Seemor cannot apply returns results without a grade filter. | |
| radius_km | No | Search radius in kilometers. Default 2, max 10. | |
| price_level | No | Filter by price level: "$", "$$", "$$$", or "$$$$". |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| message | No | ||
| results | No | ||
| next_step | No | ||
| candidates | No | ||
| place_note | No | ||
| ai_generated | No | ||
| other_places | No | ||
| location_used | No | ||
| total_in_area | No | ||
| more_candidates | No | ||
| analyzed_in_area | No | ||
| query_understood | No | ||
| total_candidates | No | ||
| analyzed_in_place | No | ||
| digital_source_type | No | ||
| preliminary_in_area | No | ||
| returned_outside_place | No |