brightlocal_create_ grid_ reportCreates a new Local Search Grid report for a location.
Ask how a location ranks across its neighborhood, see which reviews came in this week, add a new client location from a Google Maps link and check who else shows up in local results, all from your AI client, with changes off until you turn them on.
PopMCPBrightLocal
BrightLocal's published API: locations, clients, Google Business Profile links, Active Sync alerts, Local Rank Tracker, Local Search Grid, Reputation Manager, Local AI Visibility, AI Insights, Citation Builder and Citation Tracker, plus the paid data lookups for rankings, search volume, listings and reviews of any business.
117 tools in the full catalog: 57 read and 60 write. 35 load by default, and the rest are found with tool search.
brightlocal_create_ grid_ reportCreates a new Local Search Grid report for a location.
brightlocal_get_ grid_ reportReturns a single Local Search Grid report by ID.
brightlocal_get_ latest_ grid_ runReturns the most recent run of a Local Search Grid report for one keyword.
brightlocal_list_ grid_ reportsReturns a paginated list of the account's Local Search Grid reports, optionally filtered by location or search query.
brightlocal_run_ grid_ reportTriggers an on-demand re-run of a Local Search Grid report.
brightlocal_create_ location_ from_ maps_ urlCreate a location using data from a Google Maps URL.
brightlocal_get_ locationFetch all the details for a specific location.
brightlocal_list_ locationsFind locations by query string, country and/or proximity to geo coordinates.
brightlocal_location_ overviewSee everything about one location in one call: its details, and its rank tracker, search grid, reputation, AI visibility, citation builder and citation tracker reports, its Google Business Profile link and the Active Sync alerts waiting for a decision.
brightlocal_update_ locationUpdate one or more fields for a specified location.
brightlocal_get_ latest_ ai_ visibility_ runReturns the most recent run for the report.
brightlocal_list_ ai_ visibility_ reportsReturns a paginated list of your Local AI Visibility reports.
brightlocal_run_ ai_ visibility_ reportTriggers an on-demand run for the report.
brightlocal_check_ rankingsCheck where a business ranks for a search term, or see who ranks, right now.
brightlocal_check_ search_ volumeGet monthly search volume for up to 1000 search terms in one place.
brightlocal_get_ citation_ campaign_ lookupReturns the citation lookup results for a campaign, the sites found for the business and their listing status.
brightlocal_list_ citation_ campaignsReturns a paginated list of the account's Citation Builder campaigns, searchable by location name, campaign name, client name, state, postcode, or campaign ID.
brightlocal_create_ rank_ reportCreates a new Local Rank Tracker report for a location, configuring the keywords, search engines, schedule, and alerting to track.
brightlocal_create_ reputation_ reportCreates a new Reputation Manager report for a location, configuring which review directories to monitor, the run schedule, and email alerting.
brightlocal_get_ rank_ report_ historyReturns a Local Rank Tracker report's history of runs, newest first.
brightlocal_get_ rank_ report_ resultReturns the detailed rankings, competitors, URLs, and SERP screenshots for a specific report run.
brightlocal_list_ rank_ reportsReturns a paginated list of the account's Local Rank Tracker reports, optionally filtered to a single location.
brightlocal_list_ reputation_ reportsReturns a paginated list of the account's Reputation Manager reports, optionally filtered to a single location.
brightlocal_list_ reputation_ reviewsReturns the reviews collected for a Reputation Manager report, filterable by directory, star rating, and date range.
brightlocal_run_ rank_ reportTriggers an on-demand run of a Local Rank Tracker report.
brightlocal_get_ citation_ report_ resultsReturns the citation results for a specific Citation Tracker report run.
brightlocal_list_ citation_ reportsReturns all Citation Tracker reports for the account, optionally filtered by location.
brightlocal_lookup_ listingRead a business's listing on a directory: its name, address, phone and profile details.
brightlocal_create_ clientCreates a new client for the authenticated customer.
brightlocal_list_ active_ sync_ alertsReturns the pending Active Sync change alerts for a location, external changes detected on a third-party directory (e.g. Google Business Profile) awaiting accept or reject.
brightlocal_list_ clientsReturns a paginated list of clients belonging to the authenticated customer.
brightlocal_get_ creditsRead both credit balances: Citation Builder credits and Local Search Grid credits, with the grid credit type.
brightlocal_list_ business_ categoriesFetch a list of supported business categories.
brightlocal_fetch_ reviewsFetch reviews of any business from a directory such as Google, Facebook, Trustpilot or Tripadvisor, without a report.
brightlocal_get_ location_ recommendationsRetrieve AI-powered recommendations and insights for a specific location.
brightlocal_delete_ grid_ reportDeletes a Local Search Grid report.
brightlocal_get_ grid_ competitor_ rankingsReturns one specific competitor's rankings across the grid for a specific run and keyword.
brightlocal_get_ grid_ competitorsReturns the competing businesses found across the grid for a specific run and keyword.
brightlocal_get_ grid_ creditsReturns the account's remaining Local Search Grid credits and the credit type (ad-hoc run or point-based) determined by the subscription.
brightlocal_get_ grid_ point_ resultsReturns the ranked local pack results (businesses, ranking position, reviews) at one specific grid point for a run and keyword.
brightlocal_get_ grid_ runReturns a specific run of a Local Search Grid report for one keyword, including its status and the results at each grid point.
brightlocal_get_ latest_ grid_ competitor_ rankingsReturns one specific competitor's rankings across the grid for the most recent run of a keyword.
brightlocal_list_ grid_ runsReturns the run history for a Local Search Grid report's keyword, optionally filtered to active or archived runs.
brightlocal_update_ grid_ reportUpdates an existing Local Search Grid report's configuration.
brightlocal_create_ locationCreate a new location.
brightlocal_create_ location_ from_ place_ idCreate a location using data from a Google Place ID.
brightlocal_delete_ locationPermanently delete a location.
brightlocal_delete_ location_ logoDelete a logo associated with a location.
brightlocal_delete_ location_ photoDelete an photo from the gallery associated with a location.
brightlocal_link_ google_ placeLinks (or repairs) the Google Place of an existing location from a Google Place ID, without changing any other location data.
brightlocal_upload_ location_ logoUpload and associate an logo with a location.
brightlocal_upload_ location_ photoUpload and associate an image with a location.
brightlocal_compare_ ai_ visibility_ run_ with_ previousReturns the deltas between this run and the previous completed run of the same report.
brightlocal_compare_ ai_ visibility_ runsReturns the deltas between two completed runs of the same report that you choose explicitly.
brightlocal_create_ ai_ visibility_ reportCreates a Local AI Visibility report for a single location.
brightlocal_delete_ ai_ visibility_ reportDeletes a report, identified by its report_id, along with all of its run results.
brightlocal_get_ ai_ visibility_ reportReturns a single Local AI Visibility report addressed by its report_id.
brightlocal_get_ ai_ visibility_ runReturns the results of a specific run of the report, addressed by run_id.
brightlocal_list_ ai_ visibility_ runsReturns the report's run history as a paginated list of run summaries, newest first.
brightlocal_update_ ai_ visibility_ reportUpdates an existing report, identified by its report_id.
brightlocal_confirm_ citation_ campaignConfirm and pay for a campaign with credits.
brightlocal_create_ citation_ campaignCreates a new Citation Builder campaign for a location.
brightlocal_create_ secondary_ citation_ campaignThis endpoint creates a follow-up (secondary) campaign.
brightlocal_delete_ citation_ campaignDeletes a Citation Builder campaign.
brightlocal_get_ citation_ campaignReturns a single Citation Builder campaign by ID.
brightlocal_get_ citation_ creditsGet your remaining credit balance.
brightlocal_get_ rankings_ htmlFetch the status or HTML pages for a previously submitted request using the rankings_id returned.
brightlocal_get_ rankings_ screenshotFetch the status or screenshots of the SERP pages for a previously submitted request using the rankings_id returned.
brightlocal_get_ search_ rankingsFetch the status or rankings for a previously submitted request using the rankings_id returned.
brightlocal_get_ search_ volumeFetch the status or Monthly Search Volume for a previously submitted request using the request_id returned.
brightlocal_request_ search_ rankingsSubmit a search ranking request to major search engines and their local variants, namely Google, Google (as Mobile), Google Local Finder, Bing and Bing Local.
brightlocal_request_ search_ volumeYou can submit a request for up to 1000 search terms and each request relates to one geo location.
brightlocal_search_ geo_ locationsSearch for a canonical location name.
brightlocal_update_ citation_ campaignUpdates an existing Citation Builder campaign.
brightlocal_delete_ rank_ reportDeletes a Local Rank Tracker report.
brightlocal_delete_ reputation_ reportDeletes a Reputation Manager report.
brightlocal_get_ rank_ reportFetch all the details for a specific Local Rank Tracker report.
brightlocal_get_ reputation_ reportFetch all the details for a specific Reputation Manager report.
brightlocal_list_ reputation_ directoriesReturns the review directories Reputation Manager supports monitoring for a given country.
brightlocal_run_ reputation_ reportTriggers an on-demand re-run of a Reputation Manager report.
brightlocal_update_ rank_ reportUpdates an existing Local Rank Tracker report's configuration, keywords, search engines, schedule, or alerting.
brightlocal_update_ reputation_ reportUpdates an existing Reputation Manager report's monitored directories, schedule, or alerting.
brightlocal_connect_ gbp_ locationConnects a Google Business Profile location to the given BrightLocal location.
brightlocal_create_ citation_ reportCreates a new Citation Tracker report for a location.
brightlocal_delete_ citation_ reportPermanently deletes a Citation Tracker report.
brightlocal_get_ citation_ reportReturns the configuration and metadata for a specific Citation Tracker report.
brightlocal_get_ gbp_ accountReturns details of a connected Google account together with its location groups.
brightlocal_get_ gbp_ authorization_ statusReturns the current status of a Google Business Profile OAuth flow, identified by the state value used when the flow was initiated.
brightlocal_get_ gbp_ connectionReturns the GBP connection details for the given BrightLocal location.
brightlocal_list_ gbp_ group_ locationsReturns the verified Google Business Profile locations available in the given account group.
brightlocal_remove_ gbp_ connectionRemoves the GBP connection from the given BrightLocal location.
brightlocal_run_ citation_ reportTriggers an on-demand run of a Citation Tracker report.
brightlocal_start_ gbp_ authorizationStarts the Google Business Profile OAuth consent flow.
brightlocal_update_ citation_ reportUpdates an existing Citation Tracker report.
brightlocal_fetch_ listingSubmit a request to fetch a business listing using its URL.
brightlocal_find_ listingSubmit a search business listing request to the selected directory.
brightlocal_get_ listing_ resultGet Results ready says whether it has finished; a finished search can have success false when no profile was found.
brightlocal_list_ listing_ directoriesGet All Directories The directory ids find_listing accepts.
brightlocal_list_ listing_ directories_ by_ countryGet All Directories by Country
brightlocal_accept_ active_ sync_ alertAccepts an Active Sync alert, applying the external change detected on a third-party directory (e.g. Google Business Profile) to the location.
brightlocal_cancel_ active_ sync_ requestCancels an in-progress Active Sync request for a location.
brightlocal_commit_ batchCommitting a batch signals that you've finished adding jobs.
brightlocal_create_ batchCreates a new batch.
brightlocal_delete_ batchDeletes a batch and all data retrieved for jobs within it.
brightlocal_delete_ clientDeletes the specified client.
brightlocal_get_ batchRetrieves the results of all jobs in the batch.
brightlocal_get_ clientReturns a single client by its numeric ID.
brightlocal_reject_ active_ sync_ alertRejects an Active Sync alert, discarding the external change detected on a third-party directory (e.g. Google Business Profile) and keeping the current location data.
brightlocal_set_ active_ syncTurns Active Sync on or off for a location's connection to a specific directory integration.
brightlocal_stop_ batchCancels a batch midway through processing.
brightlocal_update_ clientUpdates only the fields supplied in the request body.
brightlocal_get_ time_ optionsThis returns a list of the supported timezones and runtimes that can be used when scheduling an Local Search Grid report.
brightlocal_list_ white_ label_ profilesReturns the account's white label profiles, each with its profile ID and name, used to brand reports for resellers.
brightlocal_add_ reviews_ job_ by_ businessFinds a profile URL from business data then fetches reviews using that URL.
brightlocal_add_ reviews_ job_ by_ urlFetches reviews for a given directory profile URL.
brightlocal_get_ location_ recommendations_ statusRetrieve the processing status of AI-powered recommendations for a specific location.
brightlocal_prepare_ location_ recommendationsTrigger preparation of AI-powered recommendations for a specific location.
Credentials off one BrightLocal screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In BrightLocal, open your account menu at the top right and choose API. Copy your API key, or click Create API Key if there is none, and paste it into PopMCP. It checks the key against your account and shows how many locations it found.
••••••••••••3f7aOne key reaches every client and location in the account. Connections start read-only, which also blocks anything that spends credits or a paid data request. With changes on, confirming a citation campaign pays for it with your credits, and the tools tell the AI to ask you first.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your BrightLocal credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Give me the full picture for our Brighton location: reports, Google link and anything waiting on me
brightlocal_list_locationsok
Then just ask for the work
“Give me the full picture for our Brighton location: reports, Google link and anything waiting on me”
“How did this location's rankings change in the latest rank tracker run?”
“Show the latest search grid for 'dentist' and tell me where we are weakest”
“Which one and two star reviews came in this month?”
“Add this business from its Google Maps link and start tracking 'emergency plumber'”
“Does ChatGPT mention us when people ask for a dentist in Brighton?”
“Who ranks for 'roof repair' in Marion, Illinois right now, and what is the monthly search volume?”
“Where are this business's citations, and how many credits do we have left?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting BrightLocal behind an AI client.
An active BrightLocal plan and your API key. BrightLocal's help center says the key needs a Track, Manage or Grow plan. The key is on the API page in your account menu, and if there is none you click Create API Key.
No. A key is one BrightLocal account, so one connection reaches every client and location in it. Ask about one location by name and the AI looks it up. If you have a second BrightLocal account, connect it with its own key.
Locations and reports work within your plan. The rankings, search volume, listing and review lookups use BrightLocal's Data APIs, which BrightLocal charges per request: a trial key has 250 free test requests, and after that it asks for an agreement. Running a search grid, preparing AI recommendations and confirming a citation campaign spend credits. PopMCP adds no charge of its own for any of them.
Not on a read-only connection, which is how connections start, because every call that spends counts as a change. If you turn changes on, a paid call goes through as soon as the AI makes it. The tools tell the AI to do these only when you asked, and it can read your balances first.
BrightLocal runs reports in the background. The AI starts the run and reads the results once it has finished. For one-off lookups, PopMCP waits for the answer for you, and if BrightLocal is still working it hands back an id, so the same lookup is not paid for twice.
Yes. The AI gets a sign-in link from BrightLocal for the Google account owner to open. After that it lists the verified Google locations and links the right one to your BrightLocal location.
BrightLocal includes login passwords with campaign details. PopMCP hides them before anything reaches the AI, so read them in BrightLocal itself if you need them.
The old key stops working straight away, so this connection fails until you reconnect with the new key. Other tools that use the old key stop working too.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect BrightLocal in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking BrightLocal on the consent screen. The BrightLocal tools are then available in that session, and no BrightLocal credential is stored on your machine.
Loading 117 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 35-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 117 here. A trigger is something PopMCP watches for you: 7 BrightLocal events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into BrightLocal.
Launch a hosted MCP endpoint for BrightLocal, keep tool access under control, and start testing real workflow prompts right away.