environment-mcp

w00dbury/environment-mcp
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

MCP server that provides tools to access Google Maps Environment APIs for air quality, pollen, and weather data, enabling queries like current conditions, forecasts, and history.

README.md

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.

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).

Related MCP servers

Browse all →