2,500+ MCP servers ready to use
Vinkius

PurpleAir MCP Server for LlamaIndex 10 tools — connect in under 2 minutes

Built by Vinkius GDPR 10 Tools Framework

LlamaIndex specializes in data-aware AI agents that connect LLMs to structured and unstructured sources. Add PurpleAir as an MCP tool provider through Vinkius and your agents can query, analyze, and act on live data alongside your existing indexes.

Vinkius supports streamable HTTP and SSE.

python
import asyncio
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI

async def main():
    # Your Vinkius token. get it at cloud.vinkius.com
    mcp_client = BasicMCPClient("https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
    mcp_tool_spec = McpToolSpec(client=mcp_client)
    tools = await mcp_tool_spec.to_tool_list_async()

    agent = FunctionAgent(
        tools=tools,
        llm=OpenAI(model="gpt-4o"),
        system_prompt=(
            "You are an assistant with access to PurpleAir. "
            "You have 10 tools available."
        ),
    )

    response = await agent.run(
        "What tools are available in PurpleAir?"
    )
    print(response)

asyncio.run(main())
PurpleAir
Fully ManagedVinkius Servers
60%Token savings
High SecurityEnterprise-grade
IAMAccess control
EU AI ActCompliant
DLPData protection
V8 IsolateSandboxed
Ed25519Audit chain
<40msKill switch
Stream every event to Splunk, Datadog, or your own webhook in real-time

* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure

About PurpleAir MCP Server

Access the world's largest hyperlocal air quality dataset through PurpleAir — a global network of over 50,000 low-cost air quality sensors measuring PM2.5, PM10.0, temperature, humidity, pressure, and more. Connect PurpleAir to your AI agent to monitor real-time air quality, track wildfire smoke, analyze pollution trends, and access historical data for any location — all through natural conversation.

LlamaIndex agents combine PurpleAir tool responses with indexed documents for comprehensive, grounded answers. Connect 10 tools through Vinkius and query live data alongside vector stores and SQL databases in a single turn. ideal for hybrid search, data enrichment, and analytical workflows.

What you can do

  • Real-Time Air Quality — Get current PM2.5 readings from sensors near any address or coordinate.
  • Historical Analysis — Retrieve time-series data for trend analysis, pollution events, and compliance reporting.
  • Geographic Mapping — Find all sensors within a bounding box for city-wide or regional air quality mapping.
  • Wildfire Smoke Tracking — Monitor PM2.5 spikes during wildfire events across affected areas.
  • Indoor Air Quality — Access indoor sensor data for workplace health and HVAC optimization.
  • CSV Export — Download historical data in CSV format for spreadsheet analysis.
  • Location-Based Queries — Find the closest sensor to any GPS coordinate.
  • Sensor Filtering — Filter sensors by type (indoor/outdoor), fields, and update recency.

The PurpleAir MCP Server exposes 10 tools through the Vinkius. Connect it to LlamaIndex in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.

How to Connect PurpleAir to LlamaIndex via MCP

Follow these steps to integrate the PurpleAir MCP Server with LlamaIndex.

01

Install dependencies

Run pip install llama-index-tools-mcp llama-index-llms-openai

02

Replace the token

Replace [YOUR_TOKEN_HERE] with your Vinkius token

03

Run the agent

Save to agent.py and run: python agent.py

04

Explore tools

The agent discovers 10 tools from PurpleAir

Why Use LlamaIndex with the PurpleAir MCP Server

LlamaIndex provides unique advantages when paired with PurpleAir through the Model Context Protocol.

01

Data-first architecture: LlamaIndex agents combine PurpleAir tool responses with indexed documents for comprehensive, grounded answers

02

Query pipeline framework lets you chain PurpleAir tool calls with transformations, filters, and re-rankers in a typed pipeline

03

Multi-source reasoning: agents can query PurpleAir, a vector store, and a SQL database in a single turn and synthesize results

04

Observability integrations show exactly what PurpleAir tools were called, what data was returned, and how it influenced the final answer

PurpleAir + LlamaIndex Use Cases

Practical scenarios where LlamaIndex combined with the PurpleAir MCP Server delivers measurable value.

01

Hybrid search: combine PurpleAir real-time data with embedded document indexes for answers that are both current and comprehensive

02

Data enrichment: query PurpleAir to augment indexed data with live information before generating user-facing responses

03

Knowledge base agents: build agents that maintain and update knowledge bases by periodically querying PurpleAir for fresh data

04

Analytical workflows: chain PurpleAir queries with LlamaIndex's data connectors to build multi-source analytical reports

PurpleAir MCP Tools for LlamaIndex (10)

These 10 tools become available when you connect PurpleAir to LlamaIndex via MCP:

01

get_indoor_sensors

These sensors measure air quality inside buildings, homes, and enclosed spaces. Useful for indoor air quality assessments, HVAC monitoring, and workspace health studies. Get all indoor PurpleAir sensors

02

get_outdoor_sensors

These are sensors measuring ambient outdoor air quality. Returns current PM2.5, temperature, humidity and other measurements for each sensor. Useful for regional air quality monitoring, wildfire smoke tracking, and urban pollution studies. Get all outdoor (outside) PurpleAir sensors

03

get_pm25_sensors

5 (fine particulate matter) measurements. PM2.5 is the most important air quality indicator — particles smaller than 2.5 micrometers that can penetrate deep into lungs and bloodstream. Returns current PM2.5 concentrations along with location data. Essential for health advisories, wildfire smoke tracking, and urban pollution monitoring. Get sensors with PM2.5 measurements

04

get_sensor_data

Returns PM2.5, PM1.0, PM10.0 particle concentrations, temperature, humidity, pressure, VOC levels, and other measurements depending on the sensor model. Use the fields parameter to specify which measurements to return. Essential for monitoring air quality at a specific location. Get real-time data from a specific PurpleAir sensor

05

get_sensor_history

Returns time-series data for the requested fields (PM2.5, temperature, humidity, etc.) at regular intervals. Use start_timestamp and end_timestamp (Unix timestamps) to define the time range. The average parameter controls data aggregation (e.g. 60 for 1-minute averages, 3600 for hourly). Essential for analyzing air quality trends, identifying pollution events, and compliance reporting. Get historical air quality data from a PurpleAir sensor

06

get_sensor_history_csv

Same functionality as get_sensor_history but returns data as CSV instead of JSON. Use for offline analysis, charting, or compliance reporting. Requires start_timestamp and end_timestamp parameters. Get historical sensor data in CSV format for analysis

07

get_sensors_by_bounding_box

Provide the northwest (nwlat, nwlng) and southeast (selat, selng) corner coordinates. Perfect for mapping air quality across a city, neighborhood, or region. Returns all sensors in the area with current readings. Use with fields parameter to customize returned data. Get all sensors within a geographic bounding box

08

get_sensors_by_index

Provide comma-separated sensor indices in the show_only parameter. Useful when you already know the sensor indices from a previous query and want to get fresh readings without fetching all sensors. Get data for specific sensor(s) by their indices

09

get_sensors_near_me

Internally uses a bounding box around the point to find nearby sensors. Useful for identifying the closest PurpleAir monitor to any address or coordinate. Returns sensors sorted by proximity with current air quality readings. Find PurpleAir sensors near a specific location

10

list_sensors

Use the location_type parameter to filter by sensor type (outside=0, inside=1). Use the fields parameter to specify which data fields to return (e.g. name,latitude,longitude,pm2.5_atm,temperature,humidity). By default returns basic sensor info. Use show_only to filter by specific sensor indices (comma-separated). Use modified_since (Unix timestamp) to get only sensors updated after a specific time. Results include sensor metadata and real-time air quality measurements. List PurpleAir air quality sensors with optional filters

Example Prompts for PurpleAir in LlamaIndex

Ready-to-use prompts you can give your LlamaIndex agent to start working with PurpleAir immediately.

01

"What's the air quality near San Francisco right now?"

02

"Show me the PM2.5 trend for sensor 12345 over the last 24 hours."

03

"Find all outdoor sensors in Los Angeles and show me their PM2.5 readings."

Troubleshooting PurpleAir MCP Server with LlamaIndex

Common issues when connecting PurpleAir to LlamaIndex through the Vinkius, and how to resolve them.

01

BasicMCPClient not found

Install: pip install llama-index-tools-mcp

PurpleAir + LlamaIndex FAQ

Common questions about integrating PurpleAir MCP Server with LlamaIndex.

01

How does LlamaIndex connect to MCP servers?

Use the MCP client adapter to create a connection. LlamaIndex discovers all tools and wraps them as query engine tools compatible with any LlamaIndex agent.
02

Can I combine MCP tools with vector stores?

Yes. LlamaIndex agents can query PurpleAir tools and vector store indexes in the same turn, combining real-time and embedded data for grounded responses.
03

Does LlamaIndex support async MCP calls?

Yes. LlamaIndex's async agent framework supports concurrent MCP tool calls for high-throughput data processing pipelines.

Connect PurpleAir to LlamaIndex

Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.