Skip to main content
Glama
Garblesnarff

Google Maps MCP Server Enhanced

by Garblesnarff

Google Maps MCP Server Enhanced

A comprehensive Model Context Protocol (MCP) server that provides 14 powerful Google Maps tools for location services, visual mapping, weather data, and environmental information. Perfect for camping trip planning, outdoor research, location analysis, and any application requiring rich geographic data.

🌟 Features

πŸ—ΊοΈ Core Mapping (6 tools)

  • Geocoding: Convert addresses to coordinates

  • Reverse Geocoding: Convert coordinates to addresses

  • Places Search: Find businesses, landmarks, and points of interest

  • Place Details: Get comprehensive information about specific places

  • Distance Matrix: Calculate travel times and distances between multiple points

  • Directions: Get detailed turn-by-turn directions with multiple travel modes

πŸ“Έ Visual Mapping (2 tools)

  • Street View: Get panoramic street-level imagery with customizable viewing angles

  • Static Maps: Generate static map images in multiple styles (roadmap, satellite, terrain, hybrid) with markers

🌀️ Environmental Data (6 tools)

  • Weather: Current conditions and forecasts for trip planning

  • Air Quality: Air quality indices and pollutant data for outdoor activities

  • Solar: Solar irradiance data for solar power planning at campsites

  • Pollen: Pollen and allergy information for outdoor activities

  • Elevation: Elevation data for terrain analysis

  • Enhanced Routing: Advanced route planning with traffic awareness

Related MCP server: Google Maps MCP Server

🎯 Perfect For

  • πŸ•οΈ Camping & Outdoor Planning: Weather, terrain, and site analysis

  • πŸ” Research Projects: Location data gathering and environmental monitoring

  • πŸš— Travel Applications: Route planning with real-time conditions

  • πŸ“Š Data Analysis: Geographic data collection and visualization

  • 🏒 Business Applications: Location intelligence and market analysis

πŸ“‹ Prerequisites

  • Node.js (v18+)

  • Google Cloud Platform Account with billing enabled

  • Google Maps API Key with required APIs enabled

βš™οΈ Setup

1. Clone and Install

git clone https://github.com/yourusername/google-maps-mcp-server.git
cd google-maps-mcp-server
npm install

2. Google Cloud Setup

Enable these APIs in Google Cloud Console:

Required APIs:

  • Maps JavaScript API

  • Geocoding API

  • Places API

  • Directions API

  • Distance Matrix API

  • Elevation API

  • Maps Static API (for static map images)

  • Street View Static API (for street view images)

Environmental APIs (Optional but Recommended):

  • Air Quality API

  • Solar API

  • Pollen API

  • Weather API

3. Get API Key

  1. In Google Cloud Console β†’ APIs & Services β†’ Credentials

  2. Create API Key

  3. Restrict the key to the APIs listed above (recommended for security)

4. Build the Server

npm run build

πŸ”§ Claude Desktop Integration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "google-maps": {
      "command": "node", 
      "args": ["/path/to/google-maps-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_MAPS_API_KEY": "your-api-key-here"
      }
    }
  }
}

πŸ› οΈ Tool Reference

πŸ“ Location Services

Tool

Purpose

Example Use

maps_geocode

Address β†’ Coordinates

"Convert 'Yellowstone National Park' to lat/lng"

maps_reverse_geocode

Coordinates β†’ Address

"What's at coordinates 44.4280, -110.5885?"

maps_search_places

Find nearby places

"Find campgrounds near Yellowstone"

maps_place_details

Detailed place info

"Get hours, reviews, contact info for a campground"

πŸš— Navigation & Distance

Tool

Purpose

Example Use

maps_directions

Turn-by-turn directions

"Driving directions from Chicago to Yellowstone"

maps_distance_matrix

Multi-point distances

"Travel times between 5 potential campsites"

maps_routes

Enhanced routing

"Optimal route avoiding traffic and tolls"

maps_elevation

Terrain elevation

"Elevation profile for hiking trail"

πŸ“Έ Visual Mapping

Tool

Purpose

Example Use

maps_street_view

Street-level imagery

"See what the campground entrance looks like"

maps_static_map

Static map images

"Satellite view of research area with markers"

🌀️ Environmental Data

Tool

Purpose

Example Use

maps_weather

Weather forecasts

"5-day forecast for camping trip"

maps_air_quality

Air pollution data

"Air quality for outdoor activities"

maps_solar

Solar irradiance

"Solar panel potential at campsite"

maps_pollen

Allergy information

"Pollen levels for sensitive individuals"

πŸ’‘ Usage Examples

Trip Planning Workflow

# 1. Find potential campsites
maps_search_places(query="campgrounds near Glacier National Park")

# 2. Get detailed information
maps_place_details(place_id="ChIJ...")

# 3. Check weather conditions  
maps_weather(latitude=48.7596, longitude=-113.7870, forecast_days=5)

# 4. Get visual confirmation
maps_street_view(location="Going-to-the-Sun Road entrance")
maps_static_map(center="48.7596,-113.7870", maptype="terrain", zoom=12)

# 5. Plan optimal route
maps_directions(origin="Chicago, IL", destination="Glacier National Park")

Research Documentation

# Comprehensive location analysis
maps_geocode(address="Remote research location")
maps_elevation(locations=[{latitude: 45.123, longitude: -110.456}])
maps_air_quality(latitude=45.123, longitude=-110.456)
maps_static_map(center="45.123,-110.456", maptype="satellite", 
               markers=[{location: "45.123,-110.456", color: "red"}])

🎨 Visual Capabilities

Street View Options

  • Viewing Angles: Control heading (0-360Β°), pitch (-90Β° to 90Β°), field of view (10-120Β°)

  • Image Sizes: Up to 640x640 pixels

  • Location Input: Addresses or exact coordinates

Static Map Styles

  • Roadmap: Standard road map view

  • Satellite: Aerial imagery

  • Terrain: Physical features and elevation

  • Hybrid: Satellite imagery with road labels

Custom Markers

  • Colors: red, blue, green, purple, yellow, gray, orange, white

  • Labels: A-Z, 0-9 for identification

  • Multiple Points: Mark routes, waypoints, points of interest

πŸ”’ Security Best Practices

API Key Security

  • βœ… Use environment variables (never commit keys to code)

  • βœ… Restrict API key to only required APIs

  • βœ… Set up API key restrictions (HTTP referrers, IP addresses)

  • βœ… Monitor API usage in Google Cloud Console

  • βœ… Rotate keys regularly

Usage Monitoring

  • Set up billing alerts for unexpected usage

  • Monitor API quotas and rate limits

  • Use Cloud Monitoring for performance tracking

πŸ’° Cost Management

Free Tier Usage

  • Most APIs include generous free monthly quotas

  • Visual APIs (Street View, Static Maps) have free usage limits

  • Environmental APIs may have different pricing

Cost Optimization Tips

  • Cache results when appropriate (especially for static location data)

  • Use batch requests (Distance Matrix) for multiple calculations

  • Choose appropriate detail levels for Places API requests

πŸ› Troubleshooting

Common Issues

Error

Cause

Solution

REQUEST_DENIED

API not enabled

Enable required APIs in Google Cloud Console

INVALID_REQUEST

Missing parameters

Check required parameters for each tool

OVER_QUERY_LIMIT

Quota exceeded

Check billing and quota limits

ZERO_RESULTS

No data available

Try broader search criteria or different location

Debug Mode

export DEBUG=true
npm run dev

πŸ“Š API Quotas Reference

API

Free Tier Limit

Rate Limit

Geocoding

40,000/month

50 QPS

Places Search

2,500/month

10 QPS

Directions

2,500/month

50 QPS

Street View Static

28,000/month

100 QPS

Static Maps

28,000/month

100 QPS

Check Google's current pricing for up-to-date information

πŸš€ Running the Server

# Development mode with auto-rebuild
npm run dev

# Production mode
npm run build && npm start

πŸ—οΈ Architecture

  • TypeScript: Full type safety and modern JS features

  • Modular Design: Organized by functionality (handlers, tools, types)

  • Error Handling: Comprehensive validation and error responses

  • Extensible: Easy to add new Google Maps APIs

  • Production Ready: Built with reliability and performance in mind

🀝 Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

πŸ“„ License

MIT License - see LICENSE file for details.

🎯 Use Cases

  • πŸ•οΈ Camping Trip Planning: Weather, terrain, campground research

  • πŸ”¬ Field Research: Environmental data collection and site analysis

  • 🚚 Logistics: Route optimization and travel planning

  • 🏑 Real Estate: Location analysis and neighborhood research

  • πŸ“± Mobile Apps: Location-based services and mapping features

  • 🎨 Creative Projects: Map visualization and geographic art

Transform your location-based projects with comprehensive Google Maps integration! πŸ—ΊοΈβœ¨

Available Tools

14 tools
maps_air_qualityC

Get air quality data for wilderness areas and camping locations

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude coordinate
longitudeYesLongitude coordinate
forecast_daysNoNumber of forecast days (1-5, default: 1)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but fails to disclose behavioral traits such as data granularity, update frequency, or whether results are current or forecast. The minimal text provides no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundancy. However, it is somewhat under-specified, which slightly reduces the score from a perfect 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of output schema and annotations, the description is too brief. It does not explain the nature of the returned air quality data (e.g., AQI, specific pollutants) or whether it supports forecasts, leaving the agent with significant gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers 100% of parameters with descriptions. The tool description adds no additional meaning or context to the parameters, such as how latitude/longitude are used or what forecast_days returns. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves air quality data, with a specific verb ('Get') and resource ('air quality data'). However, it unnecessarily limits to 'wilderness areas and camping locations' which may mislead about valid input locations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like 'maps_pollen' or 'maps_weather'. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_directionsC

Get directions between two points

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesStarting point address or coordinates
destinationYesEnding point address or coordinates
modeNoTravel mode (driving, walking, bicycling, transit)

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It provides no behavioral details such as traffic handling, waypoints, alternative routes, or response format. This is insufficient for a directions tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is as concise as possible while stating the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, annotations, and the presence of multiple sibling tools, the description lacks sufficient context. It does not explain what the directions include or how it differs from similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so the baseline is 3. The description adds no extra meaning about parameter formatting or usage beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get directions between two points' clearly states the action and resource, matching the tool name. However, it does not distinguish from sibling tool 'maps_routes', which likely provides similar functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like maps_distance_matrix or maps_routes. The description simply states its function without indicating context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_distance_matrixB

Calculate travel distance and time for multiple origins and destinations

ParametersJSON Schema
NameRequiredDescriptionDefault
originsYesArray of origin addresses or coordinates
destinationsYesArray of destination addresses or coordinates
modeNoTravel mode (driving, walking, bicycling, transit)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only states the basic function without disclosing behavioral traits such as rate limits, response structure, or limits on the number of origins/destinations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is overly terse. A bit more detail could be added without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple inputs, no output schema), the description is incomplete. It does not explain return values, usage limits, or provide context for the travel mode parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all 3 parameters with descriptions, so the baseline is 3. The description adds no additional meaning beyond the schema, e.g., not specifying address format or default mode.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'calculate' and the resources 'travel distance and time', and it distinguishes the tool from siblings like maps_directions and maps_routes by focusing on multiple origins and destinations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for distance matrix calculations but provides no explicit guidance on when to use it over alternatives or when not to use it. With siblings like maps_directions, more context would help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_elevationB

Get elevation data for locations on the earth

ParametersJSON Schema
NameRequiredDescriptionDefault
locationsYesArray of locations to get elevation for

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It only states the basic action without mentioning any constraints, data source, accuracy, or limits. The tool's behavioral traits are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words. While minimal, it is appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what the tool returns (e.g., elevation values, units). It fails to do so, leaving the agent without necessary context for using the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the 'locations' parameter described in the schema. The description adds no extra meaning beyond the schema, earning a baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get elevation data for locations on the earth'. It uses a specific verb ('Get') and resource ('elevation data'), and is distinct from sibling tools like maps_air_quality or maps_directions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description gives no context for selection or exclusions, leaving the agent without any usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_geocodeC

Convert an address into geographic coordinates

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe address to geocode

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description only says 'convert an address into geographic coordinates' without mentioning rate limits, address validation, error handling, or that the output includes latitude and longitude. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is efficient and free of unnecessary words. The description is concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and simple parameter, the description is incomplete. It does not explain the return format (e.g., latitude/longitude) or any constraints like required address format. More context is needed for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'address' has a description in the schema: 'The address to geocode'. With 100% schema coverage, the description adds no extra meaning beyond the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (convert) and the resource (address into geographic coordinates). It differentiates from the sibling 'maps_reverse_geocode' which does the opposite, but does not explicitly mention this distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'maps_reverse_geocode'. The description lacks context about appropriate use cases or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_place_detailsC

Get detailed information about a specific place

ParametersJSON Schema
NameRequiredDescriptionDefault
place_idYesThe place ID to get details for

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, authentication requirements, rate limits, or side effects. The agent gains no additional behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with 8 words, concise and front-loaded. However, it could include a bit more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimal. It fails to specify what 'detailed information' includes (e.g., name, address, rating), leaving the agent without expectations for the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter, 'place_id', which has a description. The description adds no further meaning beyond the schema, such as how to obtain the place_id or its expected format. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get detailed information about a specific place' clearly states the action and resource, and distinguishes from sibling tools like maps_search_places (which returns a list) and maps_reverse_geocode (which gets address from coordinates). However, it could be more specific about what 'detailed information' entails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., having a place_id from a search) or when not to use it (e.g., for list results).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_pollenB

Get pollen and allergy information for outdoor activities

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude coordinate
longitudeYesLongitude coordinate
forecast_daysNoNumber of forecast days (1-5, default: 3)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the tool's function without mentioning data freshness, source, rate limits, or any other operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-front-loaded sentence with no superfluous information; every word contributes to meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema and only three parameters, the description should explain what kind of pollen/allergy info is returned (e.g., levels, forecasts). It omits this, leaving the agent without essential context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema descriptions already cover all three parameters (100% coverage), so the description adds no further semantic value beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair ('Get pollen and allergy information') and clarifies the usage context ('for outdoor activities'), clearly distinguishing it from sibling tools like maps_air_quality or maps_weather.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a use case (outdoor activities) but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_reverse_geocodeC

Convert coordinates into an address

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude coordinate
longitudeYesLongitude coordinate

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the burden of behavioral disclosure. It states 'convert' as a read operation, but provides no details about output format, error handling, rate limits, or data source reliability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it brief but not overly concise to the point of being vague. Some additional structured details could be added without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple parameters, the description is minimal. Users would benefit from knowing the return format (e.g., structured address components or full text), coordinate system, and required precision for accurate results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for both parameters. The description adds no additional semantic value beyond the schema, earning the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'convert' and specifies the resource 'coordinates into an address', clearly indicating the tool's function. It implicitly distinguishes from sibling 'maps_geocode' which likely does the reverse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'maps_geocode', nor any mention of coordinate system (e.g., WGS84), format, or limitations. The agent lacks context for proper selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_routesC

Get enhanced route planning with detailed navigation using Routes API

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesStarting point coordinates
destinationYesEnding point coordinates
travel_modeNoTravel modeDRIVE
routing_preferenceNoRouting preferenceTRAFFIC_UNAWARE

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavioral traits. It only mentions 'enhanced route planning with detailed navigation' without specifying key behaviors such as support for waypoints, traffic consideration, distance/duration outputs, or required authentication. This is insufficient for a routing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, which is concise. However, it sacrifices informativeness for brevity; it could include more context without being verbose. Thus it is adequate but not exceptional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should indicate return values (e.g., route duration, distance, steps). It does not. Additionally, it fails to explain how this tool differs from closely related siblings. The tool has 4 parameters and nested objects, yet the description offers minimal context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so each parameter is documented. The description adds no further semantic context beyond 'detailed navigation', resulting in no additional value. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('enhanced route planning'), clearly indicating the tool's purpose. However, it does not explicitly differentiate itself from the sibling tool 'maps_directions', which likely provides simpler routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'maps_directions'. There are no explicit when-to-use, when-not-to-use, or prerequisite conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_search_placesC

Search for places using Google Places API

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
locationNoOptional center point for the search
radiusNoSearch radius in meters (max 50000)

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states 'uses Google Places API', lacking details on read-only nature, rate limits, authentication, or pagination. This is insufficient for safe agent invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it omits important information that could be included without sacrificing brevity, such as the scope of search or optional parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is too minimal. For a search tool, it should mention result format, pagination, or behavior when no location is provided. The current description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all parameters. The description itself does not add any additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for places using Google Places API' identifies a clear action and resource, but it is generic. It does not distinguish from sibling tools like maps_geocode or maps_place_details, which also relate to places.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as maps_geocode or maps_place_details. There is no mention of context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_solarB

Get solar irradiance data for solar power planning at campsites

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude coordinate
longitudeYesLongitude coordinate
tiltNoSolar panel tilt angle in degrees (0-90, default: optimal angle)
azimuthNoSolar panel azimuth angle in degrees (default: 180 for south)
forecast_daysNoNumber of forecast days (1-5, default: 1)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'Get solar irradiance data', implying a read operation, but omits details about response format, units (e.g., W/mΒ²), data granularity, or limitations (e.g., geographic coverage). This leaves the agent uncertain about the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant or extraneous information. Every word contributes to stating the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks essential details for using the tool effectively, such as return format, units, API requirements, or examples. Given the number of parameters and absence of output schema, the description is incomplete for practical invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with each parameter clearly described (latitude, longitude, tilt, azimuth, forecast_days). The description adds no additional meaning beyond the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and resource 'solar irradiance data' and adds context 'for solar power planning at campsites'. It clearly distinguishes this tool from siblings like maps_weather or maps_air_quality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives (e.g., maps_weather for general weather, maps_air_quality for air quality). It only states the tool's purpose without usage recommendations or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_static_mapB

Get static map images in various styles (satellite, roadmap, terrain, hybrid) with optional markers

ParametersJSON Schema
NameRequiredDescriptionDefault
centerYesCenter point of the map (address or lat,lng coordinates)
zoomNoZoom level (1-20, where 1=world view, 20=building level)
sizeNoImage size in pixels (e.g., '640x640', max 640x640)640x640
maptypeNoType of map to displayroadmap
markersNoOptional markers to add to the map
downloadNoWhether to download the image locally (default: false)
downloadDirNoCustom directory to save downloaded image (optional, defaults to 'downloads/maps')

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description must fully disclose behavior. It omits details like output format (URL vs binary), authentication needs, rate limits, or credit usage, leaving significant gaps for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded with purpose, but could be slightly more structured (e.g., mentioning output format) without added verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main features (styles, markers) and parameters are well-documented in schema, but lacks output description and usage constraints, leaving the tool moderately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions. The description adds no new parameter meaning beyond summarizing 'styles' and 'markers'; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Get', the resource 'static map images', and key attributes (styles and markers), distinguishing it from siblings like maps_street_view or maps_geocode.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like maps_directions or maps_routes; usage context is only implied by the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_street_viewB

Get Street View images for any location with customizable viewing angle and field of view

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesAddress or lat,lng coordinates (e.g., 'Times Square, NYC' or '40.758,-73.985')
sizeNoImage size in pixels (e.g., '640x640', max 640x640)640x640
headingNoCompass heading in degrees (0-360, 0=North, 90=East, 180=South, 270=West)
pitchNoUp/down viewing angle in degrees (-90 to 90, 0=horizontal, positive=up, negative=down)
fovNoField of view in degrees (10-120, determines zoom level, lower=more zoomed)
downloadNoWhether to download the image locally (default: false)
downloadDirNoCustom directory to save downloaded image (optional, defaults to 'downloads/maps')

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but fails to disclose behavioral traits: whether it returns image data or URLs, rate limits, handling of locations without Street View, or the 'download' parameter's effect. Only states the core action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 12 words, concise and front-loaded. No wasted words, but could include more useful detail without being overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 7 parameters and no output schema, the description does not cover return type (image URL or binary), download behavior, or limitations. It leaves significant gaps for an agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description adds minimal value beyond the schema by summarizing 'customizable viewing angle and field of view', but that is already clear from heading, pitch, and fov parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'Street View images', with scope 'any location'. It distinguishes from sibling tools like maps_static_map which provides static map tiles, not Street View imagery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like maps_static_map or maps_place_details. Missing context about prerequisites such as Street View coverage availability or API key requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maps_weatherC

Get current weather conditions and forecasts for camping trip planning

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude coordinate
longitudeYesLongitude coordinate
forecast_daysNoNumber of forecast days (1-16, default: 3)
include_hourlyNoInclude hourly forecast (default: false)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states it gets weather and forecasts but does not mention data sources, limitations, or what exactly is returned (e.g., temperature, precipitation).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but could be more structured. It does not waste words but lacks depth in covering key aspects like usage or returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain return values. It mentions 'current weather conditions and forecasts' but no specifics (e.g., format, key fields). With no annotations, more detail is needed to fully inform the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions, so the description need not add much. It does not provide additional meaning beyond the schema, which is acceptable but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool gets current weather conditions and forecasts, with a specific use case (camping trip planning). However, it does not differentiate from sibling tools like maps_air_quality or maps_pollen.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., maps_air_quality for air conditions). The description only provides a general context without exclusions or comparative notes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv3.0.0
    • First observedmaps_air_quality
    • First observedmaps_directions
    • First observedmaps_distance_matrix
    • First observedmaps_elevation
    • First observedmaps_geocode
    • First observedmaps_place_details
    • First observedmaps_pollen
    • First observedmaps_reverse_geocode
    • First observedmaps_routes
    • First observedmaps_search_places
    • First observedmaps_solar
    • First observedmaps_static_map
    • First observedmaps_street_view
    • First observedmaps_weather

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but 'maps_directions' and 'maps_routes' overlap in routing functionality, potentially causing confusion despite different API backends. The environmental tools (air quality, pollen, solar) are well-separated.

Naming Consistency5/5

All tools follow a consistent 'maps_verb_noun' pattern (e.g., maps_geocode, maps_search_places), with no mixing of styles or irregularities.

Tool Count5/5

14 tools cover a broad range of mapping and environmental features without being excessive; each tool serves a clear purpose within the server's scope.

Completeness4/5

Covers core mapping, geocoding, places, directions, and environmental data, but lacks place photos, time zone, or nearby search, which are common in Google Maps APIs.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables location-aware AI agents to search for nearby places, get detailed place information including hours and ratings, and calculate routes with turn-by-turn directions using Google Maps APIs.
    22
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides comprehensive weather data (forecasts, historical, air quality, marine) from Open-Meteo through 12 tools, with support for single and batch location queries.
    12
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides geocoding, place search, directions, distance matrix, and elevation data from Google Maps. Enables natural language queries to locate places, get directions, and retrieve map-related information.
    13
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Garblesnarff/google-maps-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server