AI visibility + fact-checks (ChatGPT/Perplexity), review gaps & competitor scans, local SEO.
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 what AI assistants get WRONG about a local business. Asks ChatGPT and Perplexity live (with web search) about the business's hours, address, phone, and category, then verifies each stated fact against Google Business ground truth. Returns a severity-ranked list of conflicts (with the AI's value vs. the trusted value and source) plus discrepancies to check. Conservative by design: a claim with no trusted source is 'unverifiable' (never an error), and a conflict is only counted when it reproduces across engines — so it won't cry wolf. Call this when a user asks whether AI has the right info about a business, or 'why does ChatGPT say we're closed'. Takes ~15-30 seconds. Price: $1.49 per delivered check.
City and state/region, e.g. "Cincinnati, OH"
The local business to fact-check
Optional: the business website — if an AI answer cites this domain, a mismatch is treated as a possibly-stale discrepancy rather than an error
Optional category anchor, e.g. "restaurant" — helps resolve the business; not required
Find what AI assistants get WRONG about a local business. Asks ChatGPT and Perplexity live (with web search) about the business's hours, address, phone, and category, then verifies each stated fact against Google Business ground truth. Returns a severity-ranked list of conflicts (with the AI's value vs. the trusted value and source) plus discrepancies to check. Conservative by design: a claim with no trusted source is 'unverifiable' (never an error), and a conflict is only counted when it reproduces across engines — so it won't cry wolf. Call this when a user asks whether AI has the right info about a business, or 'why does ChatGPT say we're closed'. Takes ~15-30 seconds. Price: $1.49 per delivered check.
| Argument | Type | Description |
|---|---|---|
| website | string | Optional: the business website — if an AI answer cites this domain, a mismatch is treated as a possibly-stale discrepancy rather than an error |
| location* | string | City and state/region, e.g. "Cincinnati, OH" |
| businessName* | string | The local business to fact-check |
| businessType | string | Optional category anchor, e.g. "restaurant" — helps resolve the business; not required |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessName",
"location"
],
"properties": {
"website": {
"type": "string",
"maxLength": 300,
"description": "Optional: the business website — if an AI answer cites this domain, a mismatch is treated as a possibly-stale discrepancy rather than an error"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City and state/region, e.g. \"Cincinnati, OH\""
},
"businessName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The local business to fact-check"
},
"businessType": {
"type": "string",
"maxLength": 80,
"description": "Optional category anchor, e.g. \"restaurant\" — helps resolve the business; not required"
}
}
}Poll a deep research report by slug. Free. Returns status (generating / ready / failed); a failed report triggers the automatic refund of its launch charge. Deep reports typically take 10-20 minutes — poll every few minutes, not every few seconds.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The slug returned by start_deep_report |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The slug returned by start_deep_report"
}
}
}Ask ChatGPT and Perplexity live (with web search) who they'd recommend in a business's category and city, and report whether THIS business appears. Returns honest appearance counts (never an invented metric), a per-engine split, who gets recommended instead, and which local sites the AI answers cite. AI answers vary substantially between runs — one check is a snapshot, not a stable measurement; re-check over time for the real picture. Call this when a user wants to know if AI assistants recommend a local business. Takes ~10-30 seconds. Price: $0.79 per delivered check.
| Argument | Type | Description |
|---|---|---|
| website | string | Optional: the business website — a cited domain counts as an appearance |
| location* | string | City and state/region, e.g. "Cincinnati, OH" |
| businessName* | string | The local business to check |
| businessType* | string | Category anchor, e.g. "gym" — the AI assistants are asked category questions, so this is required |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessName",
"location",
"businessType"
],
"properties": {
"website": {
"type": "string",
"maxLength": 300,
"description": "Optional: the business website — a cited domain counts as an appearance"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City and state/region, e.g. \"Cincinnati, OH\""
},
"businessName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The local business to check"
},
"businessType": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Category anchor, e.g. \"gym\" — the AI assistants are asked category questions, so this is required"
}
}
}Fetch a completed deep research report by slug. Free. Returns the long-form report (markdown), a structured-findings JSON block, the action list, and the report card. If the report is still generating you get its status instead; if it failed, the launch charge is refunded automatically.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The slug returned by start_deep_report |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The slug returned by start_deep_report"
}
}
}Returns server status, the price list, and (when authenticated) your credit balance. Free — call it to check connectivity and see what this server offers.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Compare a local business's Google rating and review count against the top same-category rivals nearby, with the gap math done: who leads, the rating delta, the review-volume ratio, and a verdict (leading / rated_equal_or_better_but_outreviewed / trailing). Live Google Maps lookup at call time. Call this when a user wants to know how a business's reviews stack up against local competitors. Takes a few seconds. Price: $0.39 per delivered comparison.
| Argument | Type | Description |
|---|---|---|
| address | string | Optional: street address of the SPECIFIC location to compare, e.g. "332 Ludlow Ave" — use for chains/multi-location businesses so the right branch anchors the comparison |
| location* | string | City and state/region, e.g. "Cincinnati, OH" |
| businessName* | string | The local business to check |
| businessType* | string | Category anchor, e.g. "dentist" — rivals are the top Google Maps results for this category nearby |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessName",
"location",
"businessType"
],
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"description": "Optional: street address of the SPECIFIC location to compare, e.g. \"332 Ludlow Ave\" — use for chains/multi-location businesses so the right branch anchors the comparison"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City and state/region, e.g. \"Cincinnati, OH\""
},
"businessName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The local business to check"
},
"businessType": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Category anchor, e.g. \"dentist\" — rivals are the top Google Maps results for this category nearby"
}
}
}A live competitor scan: a research agent finds the business's strongest same-category rival nearby and scouts it (offer, pricing signals, review positioning, what they do that this business doesn't), while two ground-truth lookups run in parallel: ChatGPT/Perplexity sampling for AI-assistant visibility, and a direct Google Places review comparison (reviewSnapshot — the authoritative numbers; finding source URLs are verified against what the agent actually retrieved). The AI-visibility portion is a single-run snapshot — AI answers vary substantially between runs. BLOCKING and slow: typically 2-4 minutes — only call it from contexts that tolerate a long tool call. Price: $1.99 per delivered scan; a failed scan is never charged.
| Argument | Type | Description |
|---|---|---|
| address | string | Optional: street address of the SPECIFIC location to scan, e.g. "332 Ludlow Ave" — use for chains/multi-location businesses so the right branch anchors the review comparison |
| location* | string | City and state/region, e.g. "Cincinnati, OH" |
| businessName* | string | The local business to scan |
| businessType* | string | Category anchor, e.g. "ice cream shop" — rival discovery and AI sampling are both category-anchored |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessName",
"location",
"businessType"
],
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"description": "Optional: street address of the SPECIFIC location to scan, e.g. \"332 Ludlow Ave\" — use for chains/multi-location businesses so the right branch anchors the review comparison"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City and state/region, e.g. \"Cincinnati, OH\""
},
"businessName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The local business to scan"
},
"businessType": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Category anchor, e.g. \"ice cream shop\" — rival discovery and AI sampling are both category-anchored"
}
}
}Launch a full overnight-grade research report on a local business: an autonomous research crew maps the competitive landscape, reads the business's and rivals' web presence, and delivers a long-form graded report with structured findings and an action list. ASYNC: this tool returns a slug immediately; the report takes roughly 10-20 minutes. Poll check_report_status, then fetch with get_report_result. Price: $9.99, charged when the report launches; if the report fails, the charge is refunded automatically. Each call starts a NEW report — do not retry a call that already returned a slug.
| Argument | Type | Description |
|---|---|---|
| brief | string | Optional research focus, e.g. "we're losing weekend foot traffic — figure out why" |
| website | string | Optional: the business website, read to ground services and positioning |
| location* | string | City and state/region, e.g. "Cincinnati, OH" |
| businessName* | string | The local business to research |
| businessType* | string | Category anchor, e.g. "dentist" — competitor discovery is category-anchored |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessName",
"location",
"businessType"
],
"properties": {
"brief": {
"type": "string",
"maxLength": 2000,
"description": "Optional research focus, e.g. \"we're losing weekend foot traffic — figure out why\""
},
"website": {
"type": "string",
"maxLength": 300,
"description": "Optional: the business website, read to ground services and positioning"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "City and state/region, e.g. \"Cincinnati, OH\""
},
"businessName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The local business to research"
},
"businessType": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Category anchor, e.g. \"dentist\" — competitor discovery is category-anchored"
}
}
}