What it does
GeoGridAPI measures where a Google listing ranks on Google Maps for one keyword, on every point of a grid around it. The MCP server exposes the same engine as the REST API to your AI agent.
One question, one map.
“Where does Plomberie du Marais rank for plumber in Paris?” The agent calls
find_business, thenrun_grid, then answers with the average rank, the points in the top 3 and where the listing drops off.Every point is a real Google Maps search.
At each grid point, the keyword is searched on Google Maps from those coordinates, as a desktop search with no history, and the listing's position among the top 20 places is recorded (null = not in the top 20). Sponsored places are not counted.
The map comes back as an image.
A completed grid comes with the PNG heatmap, who ranks ahead and the change since the previous grid of the same map.
Grid formats.
Square 3 × 3, 5 × 5, 7 × 7 or 9 × 9, or circle, diamond, hexagon, cross, ellipse and rectangle (13 to 49 points), radius 0.5 to 30 km (1 to 30 km for non-square shapes). Points that fall in the sea are neither measured nor charged.
Same credits as the console and the API.
1 credit = 1 grid point (a 7 × 7 costs 49 credits). Only running grids spends credits, and a failed grid is refunded automatically.
The tools
The server exposes 13 tools and 6 ready-made prompts.
| Tool | What it does | Cost |
|---|---|---|
| find_business | Finds a Google Business Profile by name and city and returns its place_id. | Free* |
| estimate_grid | Gives the exact number of points and credits of a grid before running it. | Free |
| run_grid | Measures a listing for a keyword on a grid (same shapes as the API: shape, size or density, radius_km). | 1 credit per point |
| run_grids | Runs up to 50 grids in one call: one listing × several keywords, or several listings × one keyword. | 1 credit per point, per grid |
| get_batch | Reads the progress and results of a batch started with run_grids. | Free |
| get_grid | Returns a grid with its rank matrix, the map image, the competitors ahead and the change since the previous grid. | Free |
| list_grids | Lists your past grids. | Free |
| get_history | Returns the ranking trend of the same map over time. | Free |
| schedule_grid | Reruns a grid every week or every month. Creating the schedule is free. | 1 credit per point, at each run |
| list_schedules | Lists your repeated grids. | Free |
| update_schedule | Pauses or resumes a repeated grid. | Free |
| delete_schedule | Stops a repeated grid. | Free |
| get_balance | Returns your credits balance. | Free |
* find_business is free but needs a credit balance above zero, and is limited to 30 searches per minute per account. Test grids cost 0 credits.
Six ready-made prompts
In Claude, open the + menu, then GeoGridAPI; in Claude Code, use the /mcp__geogridapi__… commands. Each prompt asks for the listing and the keyword, states the price before running a grid, then answers in the keyword's language.
| Prompt | Name |
|---|---|
| Local visibility audit | local_audit |
| Who ranks ahead | who_ranks_ahead |
| Several keywords (up to 50) | several_keywords |
| Ranking trend | ranking_trend |
| Track my listing (every week or month) | track_listing |
| Client report | client_report |
Install
Claude (claude.ai, desktop and mobile apps)
Open Customize → Connectors, select + Add, then Add custom connector. Name it GeoGridAPI, paste the URL below and add it. On Team and Enterprise plans, an owner adds it once in Organization settings → Connectors, then each member connects. The Free plan allows one custom connector.
Connecting opens GeoGridAPI: log in, then allow Claude. Grids run this way are live and spend your credits.
https://api.geogridapi.io/mcpChatGPT
Open Plugins (chatgpt.com/plugins), select +, then Add custom MCP server. Enter the URL below and choose OAuth. Custom MCP servers depend on your ChatGPT plan and workspace: on Business, Enterprise and Edu, an admin may have to allow them first.
Connecting opens GeoGridAPI: log in, then allow ChatGPT. Grids run this way are live and spend your credits.
https://api.geogridapi.io/mcpClaude Code
Run the command, then /mcp, geogridapi and Authenticate: you sign in in the browser, with no key to copy.
claude mcp add --transport http geogridapi https://api.geogridapi.io/mcpOn a machine without a browser (CI, a server), or to use a test key, pass the key in a header instead:
claude mcp add --transport http geogridapi https://api.geogridapi.io/mcp \
--header "Authorization: Bearer gga_live_…"Cursor
Add the server to .cursor/mcp.json with your API key in a header.
{
"mcpServers": {
"geogridapi": {
"url": "https://api.geogridapi.io/mcp",
"headers": { "Authorization": "Bearer gga_live_…" }
}
}
}Local (stdio) clients
For clients that only start local servers, such as Claude Desktop's claude_desktop_config.json, Windsurf or Cline, the open-source relay github.com/geogridapi/geogridapi-mcp forwards every call to the hosted server with your key. It needs Node.js 20 or later.
{
"mcpServers": {
"geogridapi": {
"command": "npx",
"args": ["-y", "github:geogridapi/geogridapi-mcp"],
"env": { "GEOGRIDAPI_API_KEY": "gga_live_…" }
}
}
}Any other MCP client
Point any Streamable HTTP MCP client to https://api.geogridapi.io/mcp with OAuth sign-in or an Authorization: Bearer header.
Build for free with test keys
Create a gga_test_… key in the console and use it instead of gga_live_… in the Claude Code, Cursor or stdio config above. Your agent can call every tool, read a full grid object and the map image, and you spend 0 credits. Switch to a gga_live_ key when you are ready to measure real listings.
Test keys need a client that sends an API key header. The Claude and ChatGPT connectors sign in with OAuth and always run live grids.
claude mcp add --transport http geogridapi https://api.geogridapi.io/mcp \
--header "Authorization: Bearer gga_test_…"What a test grid returns
- Status pending, then running, then completed, like a live grid, with mode "test" and
points_charged0. - Synthetic, deterministic ranks: the same listing, keyword and size always give the same map. The grid is centred on the center you send (otherwise on Paris) and the listing keeps the name of your query.
- Example competitors, the top 3 at each point and the change since a comparable test grid.
- A PNG image with a Test badge and no map background, and your webhook, signed like a live one.
Example prompts
Copy these into Claude, ChatGPT or Cursor once the server is connected:
Where does Plomberie du Marais rank for plumber in Paris? Run a 9 × 9 grid.
How much would a 7 × 7 grid for Joe's Pizza Broadway, New York on pizza cost? Don't run it yet.
Run a circle grid, medium density, 3.5 km radius, for my listing on emergency plumber, then tell me who ranks ahead in the south-east.
Run the same 5 × 5 grid for pizza, pizza delivery and pizza near me and compare the average ranks.
Show me the ranking trend of my last grids for plumber and tell me if I improved.
Rerun this grid every Monday.
How many credits do I have left?
FAQ
What is a Google Maps rank MCP server?
An MCP server that lets an AI assistant measure a business's Google Maps ranking. GeoGridAPI's server runs a geo-grid: the same keyword searched on Google Maps from every point of a grid around the listing, returning the rank at each point, the average rank, the points in the top 3, the competitors ahead and a heatmap image.
Which AI clients does it work with?
Claude (claude.ai, the desktop app and Claude Code), ChatGPT, Cursor and any MCP client that supports Streamable HTTP, at https://api.geogridapi.io/mcp. Claude and ChatGPT connect with OAuth sign-in; Claude Code and Cursor can pass an API key in an Authorization: Bearer header. Clients that only start local servers can use the open-source stdio relay.
How much does it cost?
The MCP server uses the same prepaid credits as the API: 1 credit = 1 grid point, so a 7 × 7 grid costs 49 credits. Packs start at €20 excl. VAT for 10,000 credits (also €60 = 50,000, €120 = 150,000, €400 = 600,000). Credits never expire, there is no subscription, and new accounts get 500 free credits with no card. Only running grids spends credits: finding a listing, estimating a grid, reading grids, the history and the balance are free. A failed grid is refunded automatically.
Can I try it without spending credits?
Yes. gga_test_ keys return free, deterministic mock grids, so you can wire the server into Claude Code, Cursor or any client that sends an API key header and test every tool for 0 credits. The Claude and ChatGPT connectors sign in with OAuth and always run live grids.
How is the rank measured?
At each grid point, the keyword is searched on Google Maps from those coordinates, as a desktop search with no history, and the listing's position among the top 20 places is recorded; null means it is not in the top 20. Sponsored places are not counted. Your phone may show a different rank because it uses your exact location and history.
Prefer code?
Build a geo-grid rank tracker with the REST API in about 20 lines of Node.js or Python: a test key, polling or a signed webhook, a terminal heatmap and the PNG map.