# HasData Google Maps

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

- name: com.hasdata/google-maps
- version: 1.0.7
- connection class: R2 (oauth_consent_once)
- trust: 100/100
- quality: 93/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.hasdata%2Fgoogle-maps
- tools: https://api.protogrid.dev/v1/servers/com.hasdata%2Fgoogle-maps/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

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

Placeholders to fill: `${X_API_KEY}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-26d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 93/100 (strong)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 100 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- pass `auth.cimd`: Client ID Metadata Documents supported
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: hasdata_google_maps_contributor_reviews_getMapReviews (idempotentHint); hasdata_google_maps_photos_getMapPhotos (idempotentHint); hasdata_google_maps_place_getPlaceDetails (idempotentHint); …
- pass `tools.token_cost`: about 2,239 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 4 of the 7 days needed

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 32 resolved packages
- pass `deps.mcp_sdk_version`: mcp 1.30.0, no known advisory
- pass `deps.resolvable`: hasdata-google-maps-mcp@1.0.7 resolved: 32 packages

- tools: 6, about 2,239 tokens to load them all
- tool set hash: acb686330c5948ec2b63c9d11aeff22b
- badge: [![protogrid quality](https://protogrid.dev/badge/com.hasdata/google-maps.svg)](https://protogrid.dev/servers/com.hasdata/google-maps)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @hasdata/google-maps-mcp@1.0.7: unknown
- pypi hasdata-google-maps-mcp@1.0.7: resolved, 31 dependencies, MCP SDK mcp 1.30.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.hasdata.com/mcp?apis=google_maps (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

- npm @hasdata/google-maps-mcp@1.0.7 secrets: HASDATA_API_KEY
- pypi hasdata-google-maps-mcp@1.0.7 secrets: HASDATA_API_KEY

## Tools (6)

- `hasdata_google_maps_contributor_reviews_getMapReviews`: 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.
- `hasdata_google_maps_photos_getMapPhotos`: 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.
- `hasdata_google_maps_place_getPlaceDetails`: 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.
- `hasdata_google_maps_posts_getMapPosts`: 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.
- `hasdata_google_maps_reviews_getMapReviews`: 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.
- `hasdata_google_maps_search_performMapSearch`: 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.
