services
PurpleAir
Tools Reference

PurpleAir Tools Reference

Complete reference for all PurpleAir MCP tools.

Try it out

Available Tools

The PurpleAir service provides the following MCP tools:

Sensor Data

  • purpleair.get_sensor_data - Get latest observation for a sensor
  • purpleair.get_sensor_info - Get sensor metadata (name, location, hardware)
  • purpleair.get_sensor_location - Get sensor location details
  • purpleair.current_conditions - Get current conditions (uses sensor context)

Location & History

  • purpleair.get_sensors_near - Find sensors near a latitude/longitude (with optional radius)
  • purpleair.get_historical_data - Get historical observations from the database

Tool Details

See the PurpleAir Examples page for usage examples.

purpleair.get_sensor_data

Get the most recent observation from a PurpleAir sensor.

Arguments:

  • sensor_index (optional): PurpleAir sensor index; if omitted, uses sensor_external_id from context
  • data_format (optional): "cleaned" (default) or "raw"

Returns: Timestamp, measurements (PM2.5, temperature, humidity, etc.), quality, and provenance.

purpleair.get_sensor_info

Get sensor metadata including name, location, hardware, and status.

Arguments:

  • sensor_index (optional): PurpleAir sensor index; if omitted, uses context

Returns: Sensor name, location (lat/lon/altitude), hardware model/firmware, last seen, uptime.

purpleair.get_sensors_near

Find sensors near a location.

Arguments:

  • latitude (required): Latitude
  • longitude (required): Longitude
  • radius_km (optional): Search radius in km (default: 10.0)
  • data_format (optional): "cleaned" (default) or "raw"

Returns: List of sensors with current observations in the given area.

purpleair.get_historical_data

Get historical observations from the database (only returns data that has been ingested).

Arguments:

  • sensor_index (optional): PurpleAir sensor index; if omitted, uses context
  • start_time (required): ISO 8601 datetime
  • end_time (required): ISO 8601 datetime
  • data_format (optional): "cleaned" (default) or "raw"
  • limit (optional): Max records (default: 100, max: 1000)

Returns: Time-series of observations from clean_records (or raw) for the given sensor and time range.