# HasData Google Maps (remote · mcp.hasdata.com)

Google Maps places, reviews, contributor history, photos and posts as JSON. No Google Cloud.

- Trust score: 85/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-16

## Components

- remote · `mcp.hasdata.com`: 85/100 (this document), [markdown](https://verifymcp.io/servers/com-hasdata-google-maps/mcp.md), [page](https://verifymcp.io/servers/com-hasdata-google-maps/mcp)
- npm · `@hasdata/google-maps-mcp`: 49/100, [markdown](https://verifymcp.io/servers/com-hasdata-google-maps/hasdata-google-maps-mcp.md), [page](https://verifymcp.io/servers/com-hasdata-google-maps/hasdata-google-maps-mcp)
- pypi · `hasdata-google-maps-mcp`: 34/100, [markdown](https://verifymcp.io/servers/com-hasdata-google-maps/hasdata-google-maps-mcp-2.md), [page](https://verifymcp.io/servers/com-hasdata-google-maps/hasdata-google-maps-mcp-2)

## Channel facts

- Endpoint: `https://mcp.hasdata.com/mcp?apis=google_maps`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.7`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-16.

- **Endpoint Security**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 78/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1809 tokens (~180/item across 10 items; 6 tools + 4 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the HasData Google Maps MCP server?

HasData Google Maps is a hosted endpoint at https://mcp.hasdata.com/mcp?apis=google_maps, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-hasdata-google-maps 'https://mcp.hasdata.com/mcp?apis=google_maps'
```

### Cursor

```json
{
  "mcpServers": {
    "com-hasdata-google-maps": {
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-hasdata-google-maps": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-hasdata-google-maps]
url = "https://mcp.hasdata.com/mcp?apis=google_maps"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-hasdata-google-maps": {
      "type": "remote",
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-hasdata-google-maps --url 'https://mcp.hasdata.com/mcp?apis=google_maps' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-hasdata-google-maps:
    url: "https://mcp.hasdata.com/mcp?apis=google_maps"
```

### Netclaw

```json
{
  "McpServers": {
    "com-hasdata-google-maps": {
      "Transport": "http",
      "Url": "https://mcp.hasdata.com/mcp?apis=google_maps"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-hasdata-google-maps -t streamable-http -u 'https://mcp.hasdata.com/mcp?apis=google_maps'
```

### Other

```json
{
  "mcpServers": {
    "com-hasdata-google-maps": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-14 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-12 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 20. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-09 (score 82, +43)

- [security improvement] Transport: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Authorization: Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.10
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: excellent
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail

### 2026-09-28 (score 39, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-25 (score 39, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-22 (score 39)

First indexed and scored.

## MCP tools (6)

### `hasdata_google_maps_contributor_reviews_getMapReviews` (~233 tokens)

google_maps_contributor_reviews: GET /

Get Map Contributor Reviews

Lists all Google Maps reviews authored by a specific Local Guide / contributor by contributorId, with language/country targeting and nextPageToken pagination. Returns per-review rating, text, date, place name, place address, photos, and owner responses. Use for reviewer reputation checks, detecting fake/bot review patterns, local-guide activity analysis, and building review-author profiles for trust scoring.

Input parameters:

- `contributorId` (string, required): Google Maps Contributor ID.
- `gl` (string): The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `nextPageToken` (string): Defines the next page token. It is used for retrieving the next page results.
- `num` (number): Number of results per page, ranging from 10 to 200.

### `hasdata_google_maps_photos_getMapPhotos` (~205 tokens)

google_maps_photos: GET /

Get Place Photos

Fetches the photo gallery of a Google Maps place by dataId or placeId, paginated with nextPageToken and filterable by categoryId. Returns each photo with image URL and thumbnail. Use for restaurant-menu extraction, venue/ambience visual audits, building rich place detail pages, and sourcing up-to-date imagery for POI listings.

Input parameters:

- `categoryId` (string): Filters photos by category.
- `dataId` (string): Google Maps data ID. Either dataId or placeId should be set.
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `nextPageToken` (string): Token for fetching the next page of photos.
- `placeId` (string): Unique reference to a place on Google Maps. Either dataId or placeId should be set.

### `hasdata_google_maps_place_getPlaceDetails` (~299 tokens)

google_maps_place: GET /

Get Place Details

Fetches full Google Maps place data by placeId with optional domain/language localization. Returns name, address, coordinates, phone, website, categories, hours, rating, review count, price level, photos, attributes/amenities, and plus_code. With fetchWebResults, also returns the place panel's web results (the business's own site and its Instagram, Facebook, delivery and other listings) with title, link, displayed link and snippet. Use for local SEO audits, POI enrichment, lead generation, competitor mapping, and building location-aware agents.

Input parameters:

- `domain` (string): Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
- `fetchWebResults` (boolean): Also collect the place panel's "Web results" section (the business's website and its pages on Instagram, Facebook, delivery services, etc.) and return it as `webResults`. This takes an extra request…
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `placeId` (string, required): A unique identifier for the place. This ID can be obtained from Google Maps search results.

### `hasdata_google_maps_posts_getMapPosts` (~178 tokens)

google_maps_posts: GET /

Get Map Posts

Fetches the latest Google Maps Posts (timeline-style updates such as offers, events, announcements, and notices) for a place by dataId or placeId, with language targeting. Returns per-post title, description, image, posted_at, link, and source/business name. Use for small-business intelligence, local-marketing monitoring, competitor activity tracking, and surfacing current promotions and events from local merchants.

Input parameters:

- `dataId` (string): Google Maps data ID.
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `placeId` (string): Unique reference to a place on a Google Map. Either dataId or placeId should be set.

### `hasdata_google_maps_reviews_getMapReviews` (~257 tokens)

google_maps_reviews: GET /

Get Map Reviews

Paginated fetch of Google Maps reviews for a place by dataId or placeId, with sort (mostRelevant, newestFirst, ratingHigh, ratingLow), topicId filter, and language. Returns per-review author name and profile link, star rating, text, published/relative date, likes count, owner response, attached photos, and local-guide flag. Use for reputation management, sentiment and topic mining, competitor review benchmarking, and feeding review data into summarization or trust-score LLMs.

Input parameters:

- `dataId` (string): Google Maps data ID.
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `nextPageToken` (string): Defines the next page token. It is used for retrieving the next page results.
- `placeId` (string): Unique reference to a place on a Google Map. Either dataId or placeId should be set.
- `sortBy` (string): Parameter used for sorting and refining results.
- `topicId` (string): Defines the ID of the topic you want to use for filtering reviews.

### `hasdata_google_maps_search_performMapSearch` (~447 tokens)

google_maps_search: GET /

Get Google Maps Search Results

Runs a Google Maps search by keyword plus optional GPS coordinates (@lat,lng,zoomz via `ll`) with language, country, domain, and offset-based pagination (start). Returns the local pack list with placeId, name, address, coordinates, rating, review count, price level, categories, phone, website, hours, and thumbnail. Use for local lead generation, competitor density mapping, market expansion research, hyperlocal directories, and feeding placeIds into the Maps Place, Reviews, or Photos endpoints.

Input parameters:

- `domain` (string): Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
- `gl` (string): The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
- `hl` (string): The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
- `ll` (string): GPS coordinates of the location where the search query is to be performed. This parameter is required if the 'start' parameter is present. The format for the `ll` parameter is `@` followed by latitud…
- `q` (string, required): Search query term or phrase.
- `start` (number): Specifies the result offset for pagination purposes. The offset dictates the number of rows to skip from the beginning of the results. This is useful for accessing subsequent pages of search results.…

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-hasdata-google-maps/mcp#diagnostics

## Score history

- 2026-10-16: 85
- 2026-10-15: 85
- 2026-10-14: 85
- 2026-10-13: 84
- 2026-10-12: 84
- 2026-10-10: 83
- 2026-10-09: 82
- 2026-10-04: 39
- 2026-10-03: 39
- 2026-10-02: 39
- 2026-10-01: 39
- 2026-09-30: 39
- 2026-09-29: 39
- 2026-09-28: 39
- 2026-09-27: 39
- 2026-09-26: 39
- 2026-09-25: 39
- 2026-09-24: 39
- 2026-09-23: 39
- 2026-09-22: 39

## Common questions

### What is the HasData Google Maps MCP server?

HasData Google Maps is an MCP server listed in the public MCP registry as com.hasdata/google-maps. Google Maps places, reviews, contributor history, photos and posts as JSON. No Google Cloud. This page covers its hosted endpoint (https://mcp.hasdata.com/mcp?apis=google_maps).

### Is the HasData Google Maps MCP server safe to use?

HasData Google Maps scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the HasData Google Maps MCP server expose?

HasData Google Maps exposes 6 tools: hasdata_google_maps_contributor_reviews_getMapReviews, hasdata_google_maps_photos_getMapPhotos, hasdata_google_maps_place_getPlaceDetails, hasdata_google_maps_posts_getMapPosts, hasdata_google_maps_reviews_getMapReviews, hasdata_google_maps_search_performMapSearch. Their descriptions and schemas cost roughly 1,619 tokens of context every time the server is loaded.

### Does the HasData Google Maps MCP server require authentication?

Yes. HasData Google Maps asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the HasData Google Maps MCP server still maintained?

HasData Google Maps is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.hasdata.com/mcp?apis=google_maps
- Authorisation metadata: https://mcp.hasdata.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/HasData/google-maps-mcp
- Website: https://hasdata.com/apis/google-maps-search-api
- Changelog RSS feed: https://verifymcp.io/servers/com-hasdata-google-maps/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-hasdata-google-maps/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-hasdata-google-maps/mcp
