Skip to main content
Glama
environment-mcp

environment-mcp

by w00dbury

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 build

Set 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 start

For development with auto-reload:

npm run dev

Cursor 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_current_conditions

POST .../v1/currentConditions:lookup

air_quality_forecast

POST .../v1/forecast:lookup

air_quality_history

POST .../v1/history:lookup

pollen_forecast

GET .../v1/forecast:lookup

weather_current_conditions

GET .../v1/currentConditions:lookup

weather_forecast_days

GET .../v1/forecast/days:lookup

weather_forecast_hours

GET .../v1/forecast/hours:lookup

weather_history_hours

GET .../v1/history/hours:lookup

weather_public_alerts

GET .../v1/publicAlerts:lookup

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 format

Security

  • 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 tools
air_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

    A3.7/5.0

    Scored across 9 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers