API Documentation

MCP tools

Every tool the MCP server offers, with its parameters.

15 tools. Tools marked "Uses credits" start scans, which cost the same credits as in the dashboard, and need a key with the scan permission. All the others only read.

get_account

Read only

The signed-in account: name, credit balance, plan, monthly credits, the AI engines the plan can scan, how many businesses are used and allowed, whether this connection can start scans, and what scans cost in credits (per map scan by grid size, per AI answer, per Web Search page). Call this first, and before a large scan.

No parameters.

list_businesses

Read only

Every business in the account: id, name, category, address, website, phone, how many keywords are tracked, its latest finished map scan in one line, and a dashboard link. The business id is what the other tools take.

No parameters.

get_business

Read only

One business with its overview: details, what needs attention, its keywords with their latest results per platform, campaigns, review rating per site, listing watch status, the latest citation audit summary, and a dashboard link. The best single call for "how is this business doing".

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.

list_keywords

Read only

Tracked keywords (the searches a business is tracked for), most recently scanned first, up to 100. Each has its platform, the latest and previous headline figure (ATRP for Google Maps where lower is better, mention rate for AI where higher is better, Google position for Web Search where lower is better), the change (positive means better), how many scans it has and a dashboard link. Filter by business and platform.

Parameter Type Required Description
business_id string No Only this business (UUID from list_businesses).
platform string: google_maps, google_search, google_ai_overview, google_ai_mode, chatgpt, gemini, perplexity, grok, claude No Only this platform: google_maps, google_search (Web Search) or an AI engine.

get_keyword_history

Read only

The finished scans of one tracked keyword in date order (oldest first), each with its headline figures: the trend of that keyword. Takes the keyword id from list_keywords. Returns the latest 20 scans unless limit is given (max 100).

Parameter Type Required Description
keyword_id string Yes The tracked keyword id (UUID) from list_keywords.
limit integer (min 1, max 100) No How many of the latest scans to return (default 20).

list_scans

Read only

Scans, newest first: id, business, keyword, platform, status, progress, dates, credits used, headline figures when finished, and a dashboard link. Filter by business, keyword, campaign, platform, status or a start date. Returns 20 unless limit is given (max 100). Use get_scan for one scan in full.

Parameter Type Required Description
business_id string No Only this business (UUID from list_businesses).
keyword_id string No Only this tracked keyword (UUID from list_keywords).
campaign_id string No Only scans started by this campaign (UUID from list_campaigns).
platform string: google_maps, google_search, google_ai_overview, google_ai_mode, chatgpt, gemini, perplexity, grok, claude No Only this platform.
status string: pending, running, completed, failed No Only scans in this status.
since string No Only scans started on or after this date (YYYY-MM-DD).
limit integer (min 1, max 100) No How many scans to return (default 20).

get_scan

Read only

One scan in full: settings, status and progress (call again until status is completed), the headline figures, and by kind. Google Maps scan: ATRP, ARP, Local Visibility, the grid of ranks (rows north to south) and the top competitors. AI scan: mention rate, share of voice, average position, the businesses and websites the answers named, and per-town results or the grid. Web Search check: the position and page of the website and the results above it. Includes the previous scan of the same keyword for comparison and a dashboard link.

Parameter Type Required Description
scan_id string Yes The scan id (UUID) from list_scans, or from a run_* tool.
include_grid boolean No Include the grid of ranks (default true). Turn it off for a shorter answer.

list_campaigns

Read only

Campaigns (scheduled scans of several keywords, which can mix Google Maps, Web Search and AI engines): id, business, keywords, platforms, schedule, whether active, next and last run, last run status and the credits one run uses. The campaign id is what run_campaign takes.

Parameter Type Required Description
business_id string No Only this business (UUID from list_businesses).

get_reviews

Read only

A business' review profiles per review site (rating on a 5-star scale, review count, link, when last checked) and its most recent reviews (rating, text cut to about 600 characters, author, date, whether the owner replied). Filter reviews by site, a maximum rating (for example 3 to see the unhappy ones) and a start date. Returns 20 reviews unless limit is given (max 50).

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.
site string: google, facebook, yelp, tripadvisor, bbb, trustpilot, angi, yellowpages No Only reviews from this site.
max_rating integer (min 1, max 5) No Only reviews rated this or lower.
since string No Only reviews posted on or after this date (YYYY-MM-DD).
limit integer (min 1, max 50) No How many reviews to return (default 20).

get_listings

Read only

A business' listings health: the latest citation audit (directories it is found on, missing, with a wrong name, address or phone, and where competitors are listed but the business is not), the Google listing watch (status, last check, recent changes to the Google profile) and the top backlink gaps.

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.

run_map_scan

Uses credits

Start a Google Maps geo-grid scan of a keyword for a business. Uses credits: one per grid point (a 7x7 grid is 49), charged as in the dashboard (get_account lists the costs). Without grid settings it uses the keyword's existing grid, else the grid sized to the business' competition, else 7x7. Returns the scan id, the credits used and left and a dashboard link; results are usually ready in 1-3 minutes: call get_scan with the id. Only run it when the user asked for a scan.

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.
keyword string Yes What customers search, e.g. "emergency plumber".
grid_size integer: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 No Points per side of the grid (3, 5, 7 ... 21). More points cost more credits. Optional.
radius number (min 0.1, max 50) No Distance from the center to the edge of the grid, in the distance unit. Optional.
distance_unit string: mi, km No mi (miles) or km. Optional.

run_ai_scan

Uses credits

Ask AI engines a question customers ask (for example "who is the best plumber in Austin?") and see whether they recommend the business. One scan per engine. Uses credits: one per AI answer, charged as in the dashboard; get_account lists the engines the plan includes and the cost. Google AI Overviews and AI Mode are asked over a small grid around the business; ChatGPT, Gemini, Perplexity, Grok and Claude are asked several times about each town. Returns the scan ids, the credits used and left and a dashboard link; results are usually ready in 1-3 minutes: call get_scan with each id. Only run it when the user asked for a scan.

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.
prompt string Yes The question to ask, as a customer would, e.g. "best pizza near me". "near me" becomes the town; or write {location} where the town goes.
platforms array of string Yes Which AI engines to ask: google_ai_overview, google_ai_mode, chatgpt, gemini, perplexity, grok, claude. Only engines in the plan work (get_account lists them).
towns array of string No Towns the chat assistants are asked about, e.g. "Chelsea, New York". Default: the business' own town.
answers_per_town integer (min 1, max 10) No How many times each town is asked (more is steadier, and costs more). Default 5.

run_web_search_check

Uses credits

Check where the business' website ranks in Google's regular (organic) results for a keyword. Needs the business to have a website. Uses credits: one per page of 10 results read (5 for the default top 50, held up front; pages not needed are refunded when the check finishes). Without a location it uses the business' own town. Returns the scan id, the credits used and left and a dashboard link; results are usually ready in 1-3 minutes: call get_scan with the id. Only run it when the user asked for a check.

Parameter Type Required Description
business_id string Yes The business id (UUID) from list_businesses.
keyword string Yes What customers search, e.g. "emergency plumber".
location string No Where the search is made from, as Google names it: City,State,Country (e.g. "Austin,Texas,United States"). Default: the business' own town.
national boolean No Set true to search without a location (national results) instead of the business' town.
max_results integer (min 10, max 100) No How many Google results to look through, 10 to 100 (default 50).

run_campaign

Uses credits

Run a campaign right now, outside its schedule: every keyword is scanned on Google Maps, and on the campaign's Web Search and AI engines too. Uses credits: the whole run is charged up front, as in the dashboard (list_campaigns shows credits_per_run); if the balance does not cover it, nothing starts. The schedule does not change. Returns the scan ids, the credits used and left and a dashboard link; results are usually ready in 1-3 minutes: call get_scan with each id. Only run it when the user asked for it.

Parameter Type Required Description
campaign_id string Yes The campaign id (UUID) from list_campaigns.

rescan

Uses credits

Run an earlier scan again with the same settings (Google Maps, AI or Web Search), so the new scan joins the same keyword's history. Uses credits, the same as the first run (the scan's credits_used shows it). Returns the new scan id, the credits used and left and a dashboard link; results are usually ready in 1-3 minutes: call get_scan with the id. Only run it when the user asked for it.

Parameter Type Required Description
scan_id string Yes The scan id (UUID) from list_scans to run again.