Restaurant inspections for Chicago, NYC, Minneapolis, Milwaukee, Austin, and Denver.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find restaurants within a given radius of a location and return each restaurant's last 3 inspections (newest first). Accepts either explicit latitude/longitude or an address string (geocoded via Google Maps). Default radius is a quarter mile (0.25).
Optional city filter.
Max restaurants to return (1-100).
Optional street address; resolved to lat/lng via Google Maps Geocoding API. Used only if latitude/longitude are not supplied.
Center latitude in decimal degrees. Required if no address is provided.
How many recent inspections to include per restaurant. Default 3.
Center longitude in decimal degrees. Required if no address is provided.
Search radius in miles. Defaults to 0.25 (a quarter mile).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 23, 2026.
Find restaurants within a given radius of a location and return each restaurant's last 3 inspections (newest first). Accepts either explicit latitude/longitude or an address string (geocoded via Google Maps). Default radius is a quarter mile (0.25).
| Argument | Type | Description |
|---|---|---|
| city | string | Optional city filter. |
| limit | integer | Max restaurants to return (1-100). |
| address | string | Optional street address; resolved to lat/lng via Google Maps Geocoding API. Used only if latitude/longitude are not supplied. |
| latitude | number | Center latitude in decimal degrees. Required if no address is provided. |
| history_n | integer | How many recent inspections to include per restaurant. Default 3. |
| longitude | number | Center longitude in decimal degrees. Required if no address is provided. |
| radius_miles | number | Search radius in miles. Defaults to 0.25 (a quarter mile). |
{
"type": "object",
"properties": {
"city": {
"enum": [
"all",
"chicago",
"nyc",
"minneapolis",
"milwaukee",
"austin",
"denver"
],
"type": "string",
"default": "all",
"description": "Optional city filter."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Max restaurants to return (1-100)."
},
"address": {
"type": "string",
"description": "Optional street address; resolved to lat/lng via Google Maps Geocoding API. Used only if latitude/longitude are not supplied."
},
"latitude": {
"type": "number",
"description": "Center latitude in decimal degrees. Required if no address is provided."
},
"history_n": {
"type": "integer",
"default": 3,
"maximum": 20,
"minimum": 1,
"description": "How many recent inspections to include per restaurant. Default 3."
},
"longitude": {
"type": "number",
"description": "Center longitude in decimal degrees. Required if no address is provided."
},
"radius_miles": {
"type": "number",
"default": 0.25,
"maximum": 25,
"minimum": 0.01,
"description": "Search radius in miles. Defaults to 0.25 (a quarter mile)."
}
}
}Get restaurant inspection records for one city: chicago, nyc, minneapolis, milwaukee, austin, or denver. Page by repeating the call with the previous response's next_offset until has_more is false. The response includes total_count, offset, limit, has_more, and next_offset.
| Argument | Type | Description |
|---|---|---|
| city* | string | City to query: chicago, nyc, minneapolis, milwaukee, austin, or denver. |
| limit | integer | Number of records per request (1-500). Use 500 to get maximum data per call for large datasets. |
| offset | integer | Number of records to skip, for pagination. Pass the previous response's next_offset to get the next page. Default 0. |
{
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"enum": [
"chicago",
"nyc",
"minneapolis",
"milwaukee",
"austin",
"denver"
],
"type": "string",
"default": "chicago",
"description": "City to query: chicago, nyc, minneapolis, milwaukee, austin, or denver."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Number of records per request (1-500). Use 500 to get maximum data per call for large datasets."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Number of records to skip, for pagination. Pass the previous response's next_offset to get the next page. Default 0."
}
}
}Get Milwaukee restaurant food inspection data with full pagination support. Response includes pagination metadata (total_count, offset, limit, has_more, next_offset) to guide further requests. To page through all records, repeat the call passing next_offset until has_more is false.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of records per request (1-500). Use 500 to get maximum data per call. |
| offset | integer | Number of records to skip, for pagination. Pass the previous response's next_offset to get the next page. Default 0. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Number of records per request (1-500). Use 500 to get maximum data per call."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Number of records to skip, for pagination. Pass the previous response's next_offset to get the next page. Default 0."
}
}
}Fuzzy-search restaurants by name across Chicago, NYC, Minneapolis, Milwaukee, Austin, and Denver. Tolerates misspellings and partial names. Returns one entry per restaurant with its recent inspections, newest first, and a similarity score.
| Argument | Type | Description |
|---|---|---|
| city | string | Optional city scope. |
| limit | integer | Max number of matches to return (1-50). |
| query* | string | Restaurant name or partial name (e.g., 'giordanos', 'shake shak'). |
| history_n | integer | How many recent inspections to include per restaurant. Default 3. |
| threshold | number | Fuzzy match threshold between 0 and 1 (higher = stricter). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"city": {
"enum": [
"all",
"chicago",
"nyc",
"minneapolis",
"milwaukee",
"austin",
"denver"
],
"type": "string",
"default": "all",
"description": "Optional city scope."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max number of matches to return (1-50)."
},
"query": {
"type": "string",
"description": "Restaurant name or partial name (e.g., 'giordanos', 'shake shak')."
},
"history_n": {
"type": "integer",
"default": 3,
"maximum": 20,
"minimum": 1,
"description": "How many recent inspections to include per restaurant. Default 3."
},
"threshold": {
"type": "number",
"default": 0.6,
"maximum": 1,
"minimum": 0,
"description": "Fuzzy match threshold between 0 and 1 (higher = stricter)."
}
}
}Answer a restaurant question with a card or a map. Use a restaurant name for a card, or a violation term plus a city for a map (for example pest inspections in Milwaukee). Hosts that support MCP Apps render the card or map inline. The text result still names the matches for hosts that only show text.
| Argument | Type | Description |
|---|---|---|
| city | string | City scope. Required for a violation map. |
| view | string | card, map, or auto. auto uses a card for a restaurant and a map for a violation search. |
| limit | integer | Maximum places to show (1-12). |
| query | string | Restaurant name, or a violation word when violation is omitted. |
| violation | string | Violation text to map, such as pest, roach, or dropping. |
{
"type": "object",
"properties": {
"city": {
"enum": [
"all",
"chicago",
"nyc",
"minneapolis",
"milwaukee",
"austin",
"denver"
],
"type": "string",
"default": "all",
"description": "City scope. Required for a violation map."
},
"view": {
"enum": [
"auto",
"card",
"map"
],
"type": "string",
"default": "auto",
"description": "card, map, or auto. auto uses a card for a restaurant and a map for a violation search."
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1,
"description": "Maximum places to show (1-12)."
},
"query": {
"type": "string",
"description": "Restaurant name, or a violation word when violation is omitted."
},
"violation": {
"type": "string",
"description": "Violation text to map, such as pest, roach, or dropping."
}
}
}