Checking how a brand shows up in AI answers usually means leaving the tool you are working in, opening a dashboard, clicking through tabs, and copying numbers back into a doc or a ticket.
The GeoRankers MCP server removes that round trip. You connect your GeoRankers account to Claude or ChatGPT once and then you ask questions about your brand in plain language.
Full disclosure: I am the founder of GeoRankers, so this post describes our own server.
TL;DR
- It gives Claude or ChatGPT read-only access to analytics GeoRankers has already computed for your products.
- You connect it with a Personal Access Token that you create in the dashboard.
- It reads results from past analysis runs. It does not run a new analysis when you ask.
- The data is brand level and aggregate, so read it as a directional signal.
What can you ask it?
You do not need to know any tool names. You ask in normal language and the assistant looks up the answer from your GeoRankers data.
Here are the kinds of questions it is built for -
What products do I have in GeoRankers?
Which keywords am I tracking for this product, and what search
queries are predicted for each one?
Summarize my latest visibility score and share of voice in a
short table.
How has my score changed over the last several runs? Are those
runs comparable with each other?
These are examples of what you can ask, not recorded sessions. Behind the scenes the server exposes eight read-only tools covering your applications, products, keywords, latest analytics, trends over time, and plan information. The assistant picks the right ones, so you never have to.
Why do comparable runs matter?
Two analysis runs are not always measuring the same thing. If the method or the set of platforms changed between them, a higher or lower score may not be a real change in your visibility. The trend data flags whether each run is comparable with the previous one, so ask for that when you ask about change over time.
How do you connect it?
Access requires an existing GeoRankers account. In the dashboard, open the Developers and API page and generate a Personal Access Token. You choose a name and an expiry of 30 days, 90 days, 180 days, one year, or no expiry. A shorter expiry is the safer default.
Claude
Claude connects through a custom connector. In Claude on the web, open your profile menu, go to Customize, then Connectors, and add a custom connector named GeoRankers. For the remote server URL, use this form with your own host and token:
https://<mcp-host>/sse?token=<your-token>
The dashboard shows the exact URL for your account with the token filled in. The token is part of that URL, so treat the whole thing like a password. Do not paste it into tickets, chats or screenshots, and revoke the token from the dashboard if it leaks.
ChatGPT
ChatGPT connects through a custom GPT. Create one, add an action, and import the schema from https://<mcp-host>/openapi.json. Set authentication to an API key of type Bearer and paste your token. No client secret or login URL is needed.
Other clients
I have only described Claude and ChatGPT, because those are the two the dashboard walks you through. Other MCP clients that accept a remote server URL may work with the same endpoint, but that is untested.
How does it work under the hood?
If you want to know what the assistant is actually calling, there are eight tools and every one of them is a read.
-
list_applicationsreturns the applications your account can access. Everything else starts from an application ID. -
list_productsreturns the products under one application. -
get_productreturns details for a single product. -
get_product_keywordsreturns the tracked keywords for a product along with the predicted search queries tied to them. -
get_product_analyticsreturns the latest computed analytics, including visibility score, share of voice and brand performance. -
get_analytics_trendreturns historical results, so you can see how scores moved across runs. -
get_current_subscriptionandget_subscription_plansreturn plan and usage information.
Two response fields are worth knowing if you pipe this data into a script.
The trend data carries a comparable_with_previous flag, with a list of reasons when it is false. In analytics results, geo_score can be null, and a status field explains why. The documented values are ok, insufficient_data, incomplete_coverage, scoring_quality_issue and legacy_unavailable, so branch on status before you use the score.
Tokens start with pat_, the server rejects anything else, and permissions are set per resource for products, analytics and account. Today every tool needs only read.
What are the limits?
The data is brand level and aggregate. It is not per user, per account or per prospect and it should not be read that way. It also does not claim to match what any one person sees in the ChatGPT or Gemini apps, because answers vary by session, location and time. Use scores and mention rates to track movement across comparable runs and not to assert an exact position.
Why does GeoRankers expose this over MCP?
GeoRankers approaches AI visibility around what it calls answer stability - how often a brand appears across repeated runs of the same buyer question, read together with the sources behind each answer. One run can mislead and a pattern across many runs is harder to dismiss. Putting that data in your assistant keeps it close to where you already do your analysis.
For background on the thinking, see the GeoRankers guide.
FAQ
Can it run a fresh analysis for me?
No. It only reads results from analysis runs that already happened.
Is it safe to put the token in a URL?
It works, but anyone with the URL can read your data, so keep it private, use a short expiry, and revoke the token if it leaks.
Can I see visibility for a specific prospect or account?
No. The data is brand level and aggregate.
A question for you
If you track how often a brand appears in AI answers, how many repeated runs of the same question do you need before a mention rate means anything to you, and what made you settle on that number?
Top comments (1)
tr.ee/dev-to