environment-mcp
Integrates with Google Cloud's Environment APIs (Air Quality, Pollen, Weather) via a single API key, enabling retrieval of environmental data for given locations.
Provides tools for accessing Google Maps Platform Environment APIs, including air quality current conditions, forecast, and history; pollen forecast; and weather current conditions, forecast (days/hours), history, and public alerts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@environment-mcp What's the current air quality in Tokyo?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
environment-mcp
MCP (Model Context Protocol) server that proxies Google Maps Platform Environment APIs: Air Quality, Pollen, and Weather. Uses stdio transport and a single API key from the environment.
Prerequisites
Node.js 20+
A Google Cloud project with billing enabled
APIs enabled: Air Quality API, Pollen API, Weather API (APIs & Services → Library)
An API key (APIs & Services → Credentials), with usage restricted appropriately for your setup
See the product setup guides for details: Air Quality, Pollen, Weather.
Related MCP server: Weather MCP Server
Install and run
npm install
npm run buildSet the key (do not commit it):
export GOOGLE_MAPS_API_KEY="your-key"Alternatively use GOOGLE_ENVIRONMENT_API_KEY.
Start the server (stdio; typically launched by an MCP client, not used interactively):
npm startFor development with auto-reload:
npm run devCursor MCP configuration
After npm run build, add a server entry (adjust the path to your clone):
{
"mcpServers": {
"google-environment": {
"command": "node",
"args": ["/absolute/path/to/environment-mcp/dist/index.js"],
"env": {
"GOOGLE_MAPS_API_KEY": "your-key-here"
}
}
}
}You can omit env if GOOGLE_MAPS_API_KEY is already set in your shell profile and Cursor inherits it (behavior depends on how Cursor is launched).
Tools
Tool | API |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Air quality tools accept a JSON body with required location: { latitude, longitude } and optional fields per Google’s REST reference; other tools use typed arguments (coordinates, days, hours, unitsSystem, etc.).
Linting
Uses Ultracite (Biome preset):
npm run lint
npm run formatSecurity
Never pass the API key in tool arguments; only use environment variables.
Restrict the key in Google Cloud Console (HTTP referrers for browser use; IP or server-only patterns for backend).
Available Tools
9 toolsair_quality_current_conditionsA
Google Air Quality API: current conditions at a location (hourly indexes, optional pollutants via extraComputations). POST body matches https://developers.google.com/maps/documentation/air-quality/reference/rest/v1/currentConditions/lookup — requires location with latitude and longitude; other optional fields are forwarded.
Inputs: location (required).
air_quality_forecastA
Google Air Quality API: hourly forecast for a time range or specific hour. POST body matches https://developers.google.com/maps/documentation/air-quality/reference/rest/v1/forecast/lookup — requires location; use period (startTime/endTime), dateTime, or hours per API docs.
Inputs: location (required).
air_quality_historyA
Google Air Quality API: historical hourly data. POST body matches https://developers.google.com/maps/documentation/air-quality/reference/rest/v1/history/lookup — requires location; use period, dateTime, or hours (1–720) per API docs.
Inputs: location (required).
pollen_forecastA
Google Pollen API: daily pollen forecast (1–5 days) at a location. See https://developers.google.com/maps/documentation/pollen/forecast
Inputs: days (required), latitude (required), longitude (required).
weather_current_conditionsC
Google Weather API: current conditions at a location. See https://developers.google.com/maps/documentation/weather/current-conditions
Inputs: latitude (required), longitude (required), unitsSystem, languageCode.
weather_forecast_daysB
Google Weather API: up to 10 days of daily forecast. See https://developers.google.com/maps/documentation/weather/daily-forecast
Inputs: latitude (required), longitude (required), days, pageSize, +3 more.
weather_forecast_hoursC
Google Weather API: up to 240 hours of hourly forecast. See https://developers.google.com/maps/documentation/weather/hourly-forecast
Inputs: latitude (required), longitude (required), hours, pageSize, +3 more.
weather_history_hoursC
Google Weather API: up to 24 hours of historical hourly weather. See https://developers.google.com/maps/documentation/weather/hourly-history
Inputs: latitude (required), longitude (required), hours, pageSize, +3 more.
weather_public_alertsC
Google Weather API: public weather alerts intersecting a location. See https://developers.google.com/maps/documentation/weather/weather-alerts
Inputs: latitude (required), longitude (required), pageSize, pageToken, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a unique combination of environmental domain (air quality, pollen, weather) and time dimension (current, forecast, history, alerts), making them clearly distinct. Even within the same domain, tools like weather_forecast_days and weather_forecast_hours are differentiated by granularity.
All tool names follow a consistent lowercase_with_underscores pattern: domain_first (air_quality, pollen, weather) followed by a type modifier (current_conditions, forecast, history, alerts). There is no mixing of camelCase or other conventions.
Nine tools is a well-scoped count for an environment API server covering three sub-domains. Each tool maps to a distinct Google API endpoint, and none are redundant or trivial, so the size feels appropriate.
The surface covers the full lifecycle of environmental data access for the included domains: current, forecast, and history for air quality; forecast for pollen; and current, forecast, history, and alerts for weather. No obvious dead ends or missing operations within the stated scope.
Maintenance
Related MCP Connectors
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
The Google Maps MCP server is a fully-managed server provided by the Maps Grounding Lite API that connects AI applications to Google Maps Platform services. It provides three main tools for building LLM applications: searching for places, looking up weather information, and computing routes with details like distance and travel time. The server acts as a proxy that translates Google Maps data into a format that AI applications can understand, enabling agents to accurately answer real-world location and travel queries.
Related MCP Servers
- AlicenseAqualityDmaintenanceA comprehensive MCP server providing tools for real-time, forecast, and historical weather data, alongside air quality, marine conditions, and climate projections. It also includes geocoding services to search for locations and retrieve precise coordinates for environmental analysis.7MIT
- AlicenseNot gradedqualityDmaintenanceMCP Server for global weather, forecasts, air quality, and climate data using Open-Meteo, no API key required.10 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server providing AI-powered weather tools via Google Generative AI, enabling real-time weather data retrieval through natural language queries.MIT
- FlicenseNot gradedqualityDmaintenanceComprehensive MCP server for Google Maps APIs, enabling geocoding, place search and details, distance matrix, elevation, and directions through natural language.6-