4,500+ servers built on MCP Fusion
Vinkius

OpenAQ MCP. Access global pollution data in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

OpenAQ MCP on Cursor AI Code Editor MCP Client OpenAQ MCP on Claude Desktop App MCP Integration OpenAQ MCP on OpenAI Agents SDK MCP Compatible OpenAQ MCP on Visual Studio Code MCP Extension Client OpenAQ MCP on GitHub Copilot AI Agent MCP Integration OpenAQ MCP on Google Gemini AI MCP Integration OpenAQ MCP on Lovable AI Development MCP Client OpenAQ MCP on Mistral AI Agents MCP Compatible OpenAQ MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

OpenAQ connects your AI agent to the world's largest open air quality database. Monitor real-time pollution levels—including PM2.5, O3, NO2, SO2, and CO—and pull historical air quality trends from thousands of global monitoring stations.

You can query data by city, country, or specific pollutant parameter using natural language.

What your AI agents can do

Get countries

Lists countries with active monitoring stations, along with city and location counts.

Get latest measurements

Gets the most current air quality readings for a specific monitored location ID.

Get location by id

Retrieves all details for one known monitoring station using its unique identifier.

+ 6 more capabilities included
Get Country Lists

Lists countries that have active air quality monitoring stations, including counts for cities and locations.

Check Current Air Quality Status

Retrieves the most recent pollution measurements for a specific location without querying historical data.

View Specific Location Details

Gets detailed information about one particular monitoring station using its unique ID.

Find Monitoring Locations

Searches for air quality stations by filtering criteria like country, city, pollutant type, or geographic area.

Pull Historical Readings

Retrieves time-series readings (measurements) filtered by location, specific pollutant, and a date range.

Lookup Pollutant Parameters

Gets detailed information about specific pollutants, such as units of measure or core status.

List Measurable Pollutants

Returns a list of all available air quality parameters, including PM10, Ozone (O3), NO2, and CO.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

OpenAQ MCP Server: 9 Tools for Pollution Data Retrieval

Use these tools to discover monitoring locations, check current sensor readings, and pull historical pollution metrics across any globe region.

get019d8464

get countries

Lists countries with active monitoring stations, along with city and location counts.

get019d8464

get latest measurements

Gets the most current air quality readings for a specific monitored location ID.

get019d8464

get location by id

Retrieves all details for one known monitoring station using its unique identifier.

get019d8464

get locations

Finds air quality stations by filtering criteria like country, city name, pollutant type, or bounding box.

get019d8464

get measurements

Pulls historical readings with timestamps, allowing filtering by location, parameter, and date range.

get019d8464

get parameter by id

Gets detailed information about a single pollutant parameter using its unique ID.

get019d8464

get parameters

Lists all measurable air quality pollutants, including units and whether they are core parameters.

get019d8464

get sensor by id

Retrieves details for a single physical sensor device using its unique identifier.

get019d8464

get sensors

Lists air quality sensors, allowing filtering by location or pollutant type.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with OpenAQ, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week

What you can do with this MCP connector

OpenAQ connects your AI agent straight into the world’s largest open air quality database. You can use it to track pollution levels and analyze global air trends using simple natural language queries. This server pulls data from thousands of monitoring stations worldwide.


Finding Stations and Locations

You'll find stations in several ways. If you need a quick overview, get_countries lists every country that has active monitoring stations, giving you counts for how many cities and locations are covered there. Need to narrow it down? You can use get_locations to search for air quality stations by filtering criteria like a specific country, city name, pollutant type, or even a geographic bounding box.

Once you know the general area, if you need all the details on one known station, get_location_by_id retrieves every piece of data tied to that unique monitoring ID.

To find out what physical hardware is running these readings, you've got sensor tools too. Use get_sensors to list air quality sensors, letting you filter by location or the type of pollutant they monitor. If you know a specific sensor’s identifier, get_sensor_by_id fetches all its details for you.

Getting Measurements and Data Trends

The server gives you two main ways to get readings: current status or history. To check the most recent pollution levels without pulling massive amounts of historical data, use get_latest_measurements. This function grabs the absolute newest air quality reading for a specific monitored location ID, covering pollutants like PM2.5, O3, NO2, SO2, and CO.

For deep dives into trends, you'll rely on get_measurements. You can pull time-series readings with timestamps by filtering this function using the required location, a specific pollutant parameter, and a defined date range. This lets your agent track long-term pollution patterns over weeks or months. When you just need to know what pollutants are even measurable, run get_parameters which lists every available air quality parameter—including units of measure and whether they're considered core parameters like PM10 or Ozone (O3).

If you only care about one specific pollutant, use get_parameter_by_id to get detailed info on that single chemical.

Sensor Details and Pollutant Types

If you want a list of every measurable air quality pollutant available, run get_parameters. This returns the full catalog, which includes units for parameters like Nitrogen Dioxide (NO2) and Carbon Monoxide (CO), plus whether they are designated as core monitoring types. For sensor hardware details, if you need to find out what specific pollutants a general category of sensors monitors, use get_sensors, allowing filtering by location or pollutant type.


When your AI client uses these tools—for instance, running get_locations first, then feeding that result into get_latest_measurements, and finally using get_parameter_by_id to check the units for PM2.5—it builds a complete picture of air quality data from start to finish.

How OpenAQ MCP Works

  1. 1 First, use get_locations or get_countries to narrow down the area of interest and gather necessary location IDs.
  2. 2 Next, call get_parameters to confirm the exact pollutant codes (e.g., NO2) needed for the query, ensuring accuracy.
  3. 3 Finally, execute get_measurements, passing the gathered location ID(s), parameter code(s), and date range filters to retrieve the data.

The bottom line is: The agent first maps your request to specific IDs using discovery tools, then runs a single, targeted call to pull all required historical or current sensor data.

Who Is OpenAQ MCP For?

Environmental scientists who need verifiable global pollution metrics. Data analysts tackling climate reports who can't rely on fragmented datasets. Geospatial engineers building real-time monitoring dashboards. If your job involves tracking anything from smog to industrial emissions, this is for you.

Environmental Scientist

Uses get_measurements and get_parameters to pull time-series data for research papers, comparing annual pollutant trends across different continents.

Urban Planner

Runs queries using get_locations to identify air quality blind spots or under-monitored areas within a specific city boundary.

Data Analyst (ESG)

Uses get_countries and get_latest_measurements to compile quick, high-level reports for quarterly corporate sustainability reviews.

What Changes When You Connect

  • See real-time status instantly. Instead of checking multiple government websites, the agent uses get_latest_measurements to provide a single, unified reading for PM2.5 or O3 at any point globally.
  • Track long-term trends precisely. Need to compare pollution levels from last year? Use get_measurements with defined date range filters—it handles the time-series heavy lifting so you don't have to write complex SQL queries.
  • Don't guess what pollutants exist. Running get_parameters gives you a full reference list of every measurable pollutant (NO2, SO2, CO, etc.) and its unit, keeping your data accurate from the start.
  • Find stations by any criteria. If you only know the city name but not the station ID, use get_locations. It filters by country or city to give you a list of valid monitoring points first.
  • Target specific sensor types. Use get_sensors if your goal is to understand the hardware—it lets you filter sensors by location or even the type of pollutant they measure.

Real-World Use Cases

01

Assessing a City's Air Quality Baseline

An urban planner needs to know if smog levels have improved since last year. They ask their agent: "Show me the average PM2.5 in Chicago for Q3 of the last three years." The agent uses get_locations first, then executes get_measurements, providing a clean, comparative graph of historical data.

02

Investigating an Industrial Incident

An environmental scientist suspects high NO2 levels near a factory. They ask: "What is the current NO2 reading at stations within 1 mile of coordinates X, Y?" The agent uses get_locations to narrow down nearby sites and then runs get_latest_measurements for immediate action.

03

Building a Sensor Inventory

A developer needs to list all available monitoring hardware types. They use the specialized tools like get_sensors or get_parameter_by_id to build a comprehensive inventory list, confirming which specific devices track which pollutants.

04

Global Comparison Report

A sustainability consultant needs to compare ozone levels between three different continents. They instruct the agent to query get_countries, select the relevant locations, and then use get_measurements for a side-by-side comparative report.

The Tradeoffs

Trying to get data without filtering.

Asking the agent simply: "Air quality in London." This is too vague. The system doesn't know if you want historical, current, or which pollutant specifically, leading to massive, useless datasets.

Be specific and sequential. First, use get_locations (filtering by city/country). Then, specify the required pollutant using get_parameters (e.g., O3), before calling get_measurements. This chains the tools correctly.

Assuming all pollutants are available.

Running a query for 'Sulfur Dioxide' without checking if that pollutant code is active in the specific region or sensor type you care about. The API call will fail or return empty data.

Always start by running get_parameters to check the full list of measurable pollutants and ensure they are available before attempting any retrieval via get_measurements.

Only focusing on one city.

If you only use get_location_by_id, you'll get details for just that single point. You can't compare it to neighboring stations or see broader regional trends.

Use get_locations and filter by a bounding box or city name to retrieve multiple potential monitoring points, then run get_latest_measurements across the resulting set of IDs.

When It Fits, When It Doesn't

You should use OpenAQ if your core need involves environmental data: pollutant levels (PM2.5, O3, etc.), pollution trends, or global monitoring station lists. Use it when you need to know where the air quality is and what pollutants are present.

Don't use this server if you simply need general geographical data that isn't tied to a sensor reading (like finding restaurants in a city). For those cases, a simple mapping API would do better. Also, don't rely solely on get_latest_measurements for long-term planning; always cross-reference with get_measurements to validate historical trends and avoid misinterpreting daily fluctuations as long-term changes.

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by OpenAQ. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

How we secure it →

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This server provides 9 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_countries get_latest_measurements get_location_by_id get_locations get_measurements get_parameter_by_id get_parameters get_sensor_by_id get_sensors

Checking global pollution levels shouldn't require logging into a dozen different government sites.

Today, if you want to know the air quality in Paris versus London, you typically jump between dedicated governmental websites. You copy city names, you switch dashboards, and you manually compare readings for PM2.5 or Ozone—it’s a nightmare of tabs, different date formats, and conflicting data sources.

With this MCP server, your agent handles the whole process. You just ask: "Compare O3 levels in Paris and London from last Tuesday." The system uses its tools to pull structured, comparable time-series data directly, giving you clean, actionable metrics without a single copy/paste.

OpenAQ MCP Server gives you full control over pollutant tracking.

Manual analysis forces you to assume which parameters are important. You might forget that the region only tracks PM10 and O3, or you might not know if a sensor measures SO2 at all. These assumptions lead to incomplete reports every time.

The OpenAQ server solves this by letting your agent run `get_parameters`. It builds a definitive list of everything measurable in the area—from core pollutants like CO to specialized ones like NO2—ensuring that no data point is missed.

Common Questions About OpenAQ MCP

How do I check current PM2.5 levels using the OpenAQ MCP Server? +

Use get_latest_measurements. You need a location ID for this tool; running it with that ID tells your agent exactly what the most recent reading is without fetching years of history.

What pollutants can I track using OpenAQ MCP Server? +

You can list all available pollutants by calling get_parameters. This tool provides a full reference, including PM10, Ozone (O3), NO2, SO2, and CO.

How do I find monitoring stations in my city with OpenAQ MCP Server? +

Use get_locations. You can filter this tool by country or city name to get a list of valid station IDs before you try to pull any data.

Can I compare air quality across different countries using OpenAQ MCP Server? +

Yes. Start with get_countries to see available regions, then use the location lists from those countries in conjunction with get_measurements for a global comparison.

How do I run historical trend analysis using the `get_measurements` tool? +

You pass three key filters to get measurements over time: a location ID, a specific parameter, and a required date range. This lets you query readings for any period, not just the latest status.

If I have an ID, how do I get full details about a specific monitoring site using the `get_location_by_id` tool? +

This function returns comprehensive data for one station. You'll find its exact coordinates, sensor counts, and whether it qualifies as an official monitor.

Can I use the `get_sensors` tool to filter for active or specific types of monitoring equipment? +

Yes. The tool lets you filter sensors by location, parameter type, or current active status. This is useful if you only care about operational devices.

Before I use any function, what credentials does the OpenAQ MCP Server require for access? +

You must subscribe to the server and enter your free OpenAQ API Key within your AI client. This key authenticates all calls and enables you to run tools like get_parameters.

How do I get an OpenAQ API Key? +

Visit OpenAQ Platform, create a free account, and generate your API key from the dashboard. Free tier includes 1,000 requests/hour.

What air quality parameters can I monitor? +

PM2.5, PM10, O3 (ozone), NO2, SO2, CO, BC (black carbon), and more. Use get_parameters to see the full list with units and classifications.

Can I get historical air quality data? +

Yes! Use get_measurements with date_from and date_to parameters in ISO 8601 format to retrieve time-series data for any location and parameter.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 9 tools

We've already built the connector for OpenAQ. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 9 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.