PurpleAir MCP. Check air quality across 50K+ global sensor points.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
PurpleAir connects your AI agent to one of the world’s largest air quality datasets. It monitors PM2.5, temperature, and humidity from over 50,000 sensors globally.
You can check real-time conditions near an address, track wildfire smoke spikes, or pull historical data for compliance reports—all through natural conversation.
What your AI agents can do
Get indoor sensors
Lists all sensors measuring air quality inside buildings, homes, or enclosed spaces for indoor health checks.
Get outdoor sensors
Retrieves current readings (PM2.5, temp, humidity) from ambient outdoor sensors across a region.
Get pm25 sensors
Finds and returns data only from sensors specifically measuring PM2.5 concentrations for health monitoring.
You query the current PM2.5, temperature, humidity, and other metrics from a single sensor at a known coordinate.
The agent retrieves time-series data over custom date ranges and formats it as CSV for immediate spreadsheet analysis.
You define a bounding box (two opposing corners) to find every sensor operating within that city section or neighborhood.
You narrow the search to only indoor monitors (get_indoor_sensors) or only outdoor ambient stations (get_outdoor_sensors).
The agent pinpoints and returns all active PurpleAir sensors closest to a specific GPS address.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
PurpleAir MCP Server: 10 Tools for Air Quality Data
These tools give your AI client direct access to every mechanism needed to query, map, and analyze air quality data from the global PurpleAir sensor network.
019d8472get indoor sensors
Lists all sensors measuring air quality inside buildings, homes, or enclosed spaces for indoor health checks.
019d8472get outdoor sensors
Retrieves current readings (PM2.5, temp, humidity) from ambient outdoor sensors across a region.
019d8472get pm25 sensors
Finds and returns data only from sensors specifically measuring PM2.5 concentrations for health monitoring.
019d8472get sensor data
Gets the current air quality metrics (PM2.5, temp, etc.) from a single, specific PurpleAir sensor location.
019d8472get sensor history
Pulls time-series data for any requested field (PM2.5, humidity) at regular intervals over a defined time range.
019d8472get sensor history csv
Retrieves the same historical air quality measurements as `get_sensor_history`, but outputs them in CSV format.
019d8472get sensors by bounding box
Returns all active sensors located within a defined geographic box, useful for city-wide mapping projects.
019d8472get sensors by index
Gets fresh readings for specific sensors when you already know their unique index numbers.
019d8472get sensors near me
Identifies and lists the nearest PurpleAir monitors to a given GPS coordinate, sorted by proximity.
019d8472list sensors
Provides metadata about sensors, allowing you to filter the entire network by type or update time.
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
Make Your AI Do More
Start with PurpleAir, 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
This server connects your AI agent directly to PurpleAir's network—one of the biggest datasets for hyperlocal air quality. You get real-time metrics like PM2.5, temperature, and humidity from over fifty thousand sensors globally. It lets you check what's going on with air quality near any address or coordinate.
Getting Current Air Quality Reads
If you need to know the current status at a specific spot, get_sensor_data pulls the latest metrics (PM2.5, temp, etc.) from one single sensor location. You can narrow that search down even further; use get_pm25_sensors if you only care about PM2.5 concentrations for health monitoring. For indoor checks—like verifying air quality in a home or office—you'll run get_indoor_sensors.
If you need to check ambient outdoor conditions across an area, get_outdoor_sensors grabs the current readings from those regional stations. When you know the exact sensor index number, get_sensors_by_index gives you fresh data without having to locate it first.
Mapping and Locating Sensors
You don't always know where the air quality issue is; sometimes you just need to find a monitor. To pinpoint the closest working PurpleAir sensor to a GPS coordinate, run get_sensors_near_me. This lists all active monitors nearby, sorted by how close they are. If you’re doing city-wide mapping projects and know two opposing corners of an area, use get_sensors_by_bounding_box to find every single sensor operating within that defined geographic box.
For general metadata about the whole network—like filtering all sensors by type or checking their last update time—you'll use list_sensors.
Deep Dive & Historical Analysis
For compliance reports or tracking pollution spikes, you need history. get_sensor_history pulls a time-series log for any field you specify (like PM2.5 or humidity) over a defined date range and regular interval. If your client needs to dump that data straight into Excel or Google Sheets, use get_sensor_history_csv. This function grabs the exact same historical measurements but formats them as CSV text, making it ready for immediate spreadsheet analysis.
You can also get current readings from multiple sensors when you know their unique index numbers using get_sensors_by_index.
When you combine these tools—say, checking a bounding box to find all sensors, then running get_sensor_data on three of them, and finally pulling a 72-hour CSV history for the worst reading—your agent handles the whole process through natural conversation. It's pure data access.
How PurpleAir MCP Works
- 1 First, you tell your AI client what kind of data you need (e.g., 'PM2.5 history for the last week').
- 2 Second, the agent selects and runs the right tool—maybe
get_sensor_historyorget_sensors_by_bounding_box—using parameters like timestamps or coordinates. - 3 Finally, you get structured data (JSON or CSV) back, which your agent summarizes into plain English insights.
The bottom line is: Instead of running multiple API calls manually, you just ask the question, and the AI handles all the necessary sensor lookups and data formatting.
Who Is PurpleAir MCP For?
This server helps environmental scientists validate pollution models, public health officials issue timely advisories during smoke events, and real estate professionals assess property air quality risk. If your job depends on knowing exactly what the air is doing right now—or what it did last month—you need this.
Runs reports comparing PM2.5 spikes against local health advisories to determine if a warning needs to be issued.
Uses get_sensors_by_bounding_box to map pollutant gradients across a client's development site for impact assessments.
Checks indoor air quality using get_indoor_sensors data to optimize HVAC systems and ensure employee health compliance.
What Changes When You Connect
- You get granular data using
get_sensor_dataandget_pm25_sensors. Instead of just knowing the general area is polluted, you know exactly which specific sensor reading caused the alert. This level of detail matters for compliance reporting. - Analyzing trends gets much easier with
get_sensor_historyandget_sensor_history_csv. You don't have to export data manually into Excel; your agent handles the time-series pull, giving you clean CSV files instantly for charting. - Mapping out pollution sources is faster using
get_sensors_by_bounding_box. Instead of running multiple searches, you define a corner and get every active sensor in that whole area at once. Great for city planning. - You can separate indoor data from outdoor data by calling specialized tools like
get_indoor_sensorsorget_outdoor_sensors. This distinction is vital when comparing building air quality to ambient pollution levels. - If you're on-site and need the nearest reading, use
get_sensors_near_me. It cuts out the guesswork of finding a monitor—it just points you to the closest one.
Real-World Use Cases
Assessing Wildfire Smoke Impact
A public health official needs to know how smoke from a distant wildfire is affecting their community. They ask their agent, which uses get_sensors_by_bounding_box to map all local sensors, then runs get_pm25_sensors across the entire area. The result pinpoints elevated PM2.5 readings in specific neighborhoods.
Optimizing Office HVAC
A facility manager wants to prove that their new filtration system works. They use get_indoor_sensors to get baseline data, then run get_sensor_history for the same location after installation. Comparing the two time series validates the investment.
Real Estate Due Diligence
A developer needs air quality reports for a large plot of land before buying it. They use get_sensors_by_bounding_box to pull data across the entire property boundary, giving them a clear pollution profile that informs their risk assessment.
Emergency Response Coordination
A wildfire response team needs immediate visibility on smoke movement. They use get_sensors_near_me from their current location and filter by outdoor sensors (get_outdoor_sensors) to guide ground crews quickly.
The Tradeoffs
Treating it like a simple weather API
Asking the agent for 'the air quality in LA.' This is too vague. The system doesn't know which sensor or time period you mean, giving unhelpful results.
→
Be specific: Use get_sensors_by_bounding_box with the exact coordinates and specify the field (e.g., 'PM2.5') to map the entire area.
Manually checking every sensor
Running 10 separate calls for every single known sensor index, one by one, hoping they all update at the same time.
→
Use get_sensors_by_bounding_box to get a comprehensive snapshot of an area, or use list_sensors first to check which sensors are even active.
Assuming JSON is always enough
Asking for historical data but getting overwhelming JSON objects that can't be easily used in a spreadsheet.
→
Always specify get_sensor_history_csv when you know the data needs to move into Excel or another columnar tool. It saves massive cleanup time.
When It Fits, When It Doesn't
Use this server if your core task involves analyzing environmental metrics over space and time. The key is understanding the difference between a single point reading (use get_sensor_data) versus an area overview (use get_sensors_by_bounding_box). If you only need to know the closest sensor, use get_sensors_near_me. Don't use this if your data gap is related to why pollution exists—the server provides metrics, not causation. For basic location filtering, start with list_sensors to understand what sensors are available before pulling heavy time-series data using get_sensor_history. If you need raw, bulk numbers for a report, always default to the CSV versions of the history tools.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by PurpleAir. 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
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 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Checking air quality used to mean opening multiple government websites and copy-pasting coordinates into spreadsheets.
Before this server, checking an area's pollution meant manually pulling data from different regional sources. You'd find one site for outdoor PM2.5, another for indoor metrics, and a third just for temperature. Then you spent hours trying to align timestamps and merge disparate CSV files.
Now, your agent handles it all. Tell the AI client what area and what time frame you need. It runs `get_sensors_by_bounding_box` across multiple sensor types, pulls the raw data streams, and hands you a unified analysis of PM2.5 trends in one go.
PurpleAir MCP Server: Get immediate air quality reports.
You no longer have to guess which sensor index is the right one or run 10 separate queries just to cover a neighborhood. You tell your agent, 'Show me all outdoor sensors near this address.' The agent uses `get_sensors_near_me` and provides readings from multiple metrics immediately.
What's different now is that you get actionable data instantly—a single call yields the context of an entire area, not just a handful of isolated numbers. That saves hours on field reports alone.
Common Questions About PurpleAir MCP
How do I check air quality for a whole city with PurpleAir MCP Server? +
Use the get_sensors_by_bounding_box tool. You provide the northwest and southeast coordinates, and it returns current readings from every sensor within that defined area.
Can I get historical data in CSV format using PurpleAir MCP Server? +
Yes, use get_sensor_history_csv. This tool pulls time-series metrics (PM2.5, temperature) over a specific date range and formats the output directly into CSV for spreadsheet analysis.
Which tool should I use if I only care about PM2.5 levels? +
Use get_pm25_sensors. This tool is specialized; it filters all available sensors and returns data exclusively focused on the critical PM2.5 concentration, simplifying your query.
What if I only want to check air quality inside a building? +
You need get_indoor_sensors. This tool isolates measurements from enclosed spaces, giving you crucial data for HVAC optimization and assessing workplace health risks.
What do I need to know about using `list_sensors` for metadata retrieval? +
The list_sensors tool lets you pull basic sensor information and location details without fetching real-time pollution readings. You must use the fields parameter to specify exactly which data points (like name, latitude, or longitude) you want returned. This keeps your requests clean and efficient.
When using `get_sensor_history`, how do I calculate averages for a specific time range? +
You control the aggregation level with the average parameter, which takes an integer representing seconds. For example, to get hourly averages, you pass 3600; for daily averages, use 86400. Remember to pair this with your start and end Unix timestamps.
What coordinate format does `get_sensors_by_bounding_box` require? +
The tool requires two pairs of coordinates: the Northwest (nwlat, nwlng) corner and the Southeast (selat, selng) corner. You must ensure your latitude/longitude values are correct for both points to successfully define the entire search area.
What core metrics can I expect when using `get_outdoor_sensors`? +
This tool consistently returns current PM2.5, temperature, and humidity readings for every outdoor sensor it finds. It's reliable for immediate air quality checks across a region, making it ideal for tracking daily pollution changes.
How do I find air quality near my address? +
Use the get_sensors_near_me tool with your latitude and longitude. Alternatively, search for sensors by bounding box using get_sensors_by_bounding_box with corner coordinates. The API will return nearby sensors with current PM2.5, temperature, and humidity readings.
Can I get historical air quality data? +
Yes. Use get_sensor_history with a sensor index and time range (Unix timestamps). You can specify which fields to retrieve (PM2.5, temperature, humidity) and set an averaging interval (e.g. 3600 for hourly averages). For spreadsheet analysis, use get_sensor_history_csv to get data in CSV format.
What does PM2.5 mean and why is it important? +
PM2.5 refers to fine particulate matter smaller than 2.5 micrometers — about 30 times smaller than a human hair. These particles can penetrate deep into lungs and enter the bloodstream, causing respiratory and cardiovascular health effects. The WHO guideline is 5 µg/m³ annual average. PurpleAir sensors measure PM2.5 in real-time, making them essential for health advisories and pollution monitoring.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Brivo
Manage your access control via Brivo — unlock doors, track access events, and oversee users directly from any AI agent.
Pointr
Grant your AI access to precision indoor mapping. Navigate buildings, track BLE beacons, and find POIs.
Renfe Data
Access real-time train positions, trip updates, and open datasets from Renfe, Spain's national railway operator.
You might also like
Hashnode
Manage your Hashnode blog directly from your AI agent — fetch user profiles, read publication posts, and publish or update content.
FatSecret Platform
Manage your nutritional research — audit food records and recipes via AI.
Open WebUI
Manage your Open WebUI instance — list models, handle chat completions, and manage RAG collections directly from any AI agent.