US local businesses, services and source-cited prices, city by city. Free, no API key.
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.
Searches published prices for a product or service across a city's businesses, e.g. "haircut", "oil change", "bowling". Each price includes its source URL and the date it was read.
City or town name, e.g. "Yerington"
Two-letter state code, e.g. "NV"
Searches published prices for a product or service across a city's businesses, e.g. "haircut", "oil change", "bowling". Each price includes its source URL and the date it was read.
| Argument | Type | Description |
|---|---|---|
| city* | string | City or town name, e.g. "Yerington" |
| limit | integer | |
| query* | string | |
| state* | string | Two-letter state code, e.g. "NV" |
{
"type": "object",
"required": [
"city",
"state",
"query"
],
"properties": {
"city": {
"type": "string",
"description": "City or town name, e.g. \"Yerington\""
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string"
},
"state": {
"type": "string",
"description": "Two-letter state code, e.g. \"NV\""
}
}
}Full record for one business: address, phone, website, hours, services, prices with sources. Pass the id from search results, or city + state + slug.
| Argument | Type | Description |
|---|---|---|
| id | string | |
| city | string | City or town name, e.g. "Yerington" |
| slug | string | |
| state | string | Two-letter state code, e.g. "NV" |
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"city": {
"type": "string",
"description": "City or town name, e.g. \"Yerington\""
},
"slug": {
"type": "string"
},
"state": {
"type": "string",
"description": "Two-letter state code, e.g. \"NV\""
}
}
}Lists the US cities and towns CityBotMagic covers, with business counts. Call this first if unsure whether a city is covered.
| Argument | Type | Description |
|---|---|---|
| state | string | Optional two-letter state code filter |
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "Optional two-letter state code filter"
}
}
}Finds local businesses in a city by keyword (name, category, service, product) and/or category. Returns contact details, hours availability and how many published prices each has.
| Argument | Type | Description |
|---|---|---|
| city* | string | City or town name, e.g. "Yerington" |
| limit | integer | |
| query | string | What the user needs, e.g. "oil change", "pizza", "plumber", "haircut" |
| state* | string | Two-letter state code, e.g. "NV" |
| category | string | Optional category or group keyword, e.g. "restaurant", "health_care" |
| has_prices | boolean | Only businesses with published prices |
{
"type": "object",
"required": [
"city",
"state"
],
"properties": {
"city": {
"type": "string",
"description": "City or town name, e.g. \"Yerington\""
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"description": "What the user needs, e.g. \"oil change\", \"pizza\", \"plumber\", \"haircut\""
},
"state": {
"type": "string",
"description": "Two-letter state code, e.g. \"NV\""
},
"category": {
"type": "string",
"description": "Optional category or group keyword, e.g. \"restaurant\", \"health_care\""
},
"has_prices": {
"type": "boolean",
"description": "Only businesses with published prices"
}
}
}