GMaps Lead Finder

Scrape Google Maps business leads, reviews, and photos via hosted Remote MCP.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
93%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~918Tokens (tool definitions)
~626 BTypical response size
Moderate attention impact (0.72% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "gmaps-lead-finder": {
      "url": "https://gmapsleadfinder.com/mcp"
    }
  }
}

Remote endpoints

https://gmapsleadfinder.com/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒gmaps_me

Get current GMaps Lead Finder plan and credit balance for the authenticated API key.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟑gmaps_create_job(keyword)

Create a Maps search job for exactly one keyword. Shares the single in-flight job limit with the web app (409 if another job is running).

Input Schema

{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "description": "Single search keyword, e.g. \"coffee shops in Austin TX\""
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false
}
🟒gmaps_get_job(jobId)

Get maps job status and per-keyword file metadata. Poll until status is completed, partial, or failed.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Job UUID from gmaps_create_job"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
🟒gmaps_get_results(jobId, limit, cursor)

Fetch paginated place rows as JSON for a finished maps job (respects user export column preferences).

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Job UUID"
    },
    "limit": {
      "type": "number",
      "description": "Page size (1-500, default 100)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from previous nextCursor"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
🟑gmaps_create_reviews_job(place)

Create a Google Maps reviews scrape job for exactly one place (Maps URL, maps.app.goo.gl / goo.gl/maps short link, or business_id 0x…:0x…). Shares the single in-flight job limit with maps jobs (409 if busy).

Input Schema

{
  "type": "object",
  "properties": {
    "place": {
      "type": "string",
      "description": "Google Maps place URL, share short link (maps.app.goo.gl / goo.gl/maps/…), or business_id (0x…:0x…)"
    }
  },
  "required": [
    "place"
  ],
  "additionalProperties": false
}
🟒gmaps_get_reviews_job(jobId)

Get reviews job status. Poll until status is completed, partial, or failed.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Job UUID from gmaps_create_reviews_job"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
🟒gmaps_get_reviews_results(jobId, limit, cursor)

Fetch paginated review rows as JSON for a finished reviews job.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Reviews job UUID"
    },
    "limit": {
      "type": "number",
      "description": "Page size (1-500, default 100)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from previous nextCursor"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
🟑gmaps_create_photos_job(place)

Create a Google Maps photos scrape job for exactly one place (Maps URL, maps.app.goo.gl / goo.gl/maps short link, business_id 0x…:0x…, or Place ID ChIJ…). Shares the single in-flight job limit (409 if busy).

Input Schema

{
  "type": "object",
  "properties": {
    "place": {
      "type": "string",
      "description": "Google Maps place URL, share short link (maps.app.goo.gl / goo.gl/maps/…), business_id (0x…:0x…), or Place ID (ChIJ…)"
    }
  },
  "required": [
    "place"
  ],
  "additionalProperties": false
}
🟒gmaps_get_photos_job(jobId)

Get photos job status. Poll until status is completed, partial, or failed.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Job UUID from gmaps_create_photos_job"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
🟒gmaps_get_photos_results(jobId, limit, cursor)

Fetch paginated photo rows as JSON for a finished photos job.

Input Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "Photos job UUID"
    },
    "limit": {
      "type": "number",
      "description": "Page size (1-500, default 100)"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from previous nextCursor"
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools