Skip to main content
Glama

Server Details

EPA AirNow MCP — official US real-time AQI + forecast (free key)

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
24.3% over 49 days
Last Tested
Transport
Streamable HTTP
URL
Repository
pipeworx-io/mcp-airnow
GitHub Stars
0
Server Listing
mcp-airnow

TDQS

A3.6/5.0

Scored across 40 tools

Disambiguation2/5

Multiple tool families have unclear boundaries: ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded are near-identical in purpose, and ai_visibility_check overlaps heavily with scan_competitor_ai_presence. The Polymarket tools also form a dense cluster where an agent could easily pick the wrong edge/fill/arbitrage tool.

Naming Consistency3/5

Most tool names are readable snake_case and many use verb_noun patterns like current_by_zip, forecast_by_zip, list_subscriptions, and validate_claim. However, noun-phrase names like company_facts, entity_profile, recent_changes, and release_calendar_markets break the pattern, and the ask_pipeworx variants are inconsistent with the rest of the set.

Tool Count2/5

Forty tools is well beyond the typical well-scoped server range, and only four of them actually relate to the AirNow/air-quality domain implied by the server name. The remaining tools span generic data querying, prediction markets, memory, subscriptions, and feedback, making the set feel sprawling rather than focused.

Completeness2/5

For a server named Airnow, the air-quality surface is thin: current-by-location, current-by-zip, forecast-by-zip, and historical bbox observations, but no forecast-by-location, station metadata, or alerting. For the broader implied Pipeworx functionality, the coverage is deep in some areas but the lack of a coherent domain makes it impossible to call the surface complete.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 29 tool updates
    • Changedai_visibility_check1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entity": "Tesla"
        +  }
        +]
    • Changedask_pipeworx3 fields changed
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_beta4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What is the current US unemployment rate?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_grounded4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What was Apple's fiscal 2023 revenue?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "will-bitcoin-reach-100k-in-july-2026"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
        -  }
        -]New value: +[
        +  {
        +    "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
    • Addedcompany_facts
    • Changedcompare_entities1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "values": [
        +      "AAPL",
        +      "MSFT"
        +    ]
        +  }
        +]
    • Changeddeep_research1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "depth": "quick",
        +    "question": "What is the current US unemployment rate and how has it changed over the past year?"
        +  }
        +]
    • Changedentity_profile1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedgenerate_llms_txt1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "url": "https://pipeworx.io"
        +  }
        +]
    • Addedkalshi_weather_edge
    • Changedpipeworx_feedback1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.",
        +    "type": "other"
        +  }
        +]
    • Changedpipeworx_trending1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "window": "7d"
        +  }
        +]
    • Changedpolymarket_arbitrage1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "Fed rate decision"
        +  }
        +]
    • Changedpolymarket_edge_tracker1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "days": 14,
        +    "window": "1wk"
        +  }
        +]
    • Changedpolymarket_edges3 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 5,
        +    "window": "1wk"
        +  }
        +]
      • changedInput schema / properties / min_edge_pp / description
        Previous value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee."
      • changedInput schema / properties / slippage_pp / description
        Previous value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
    • Changedpolymarket_fill_risk1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636",
        +    "side": "buy_yes",
        +    "size_usd": 1000
        +  }
        +]
    • Changedpolymarket_kalshi_spread2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  }
        +]
      • changedInput schema / properties / topic / description
        Previous value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
    • Changedrecent_changes1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "since": "30d",
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Addedrelease_calendar_markets
    • Changedremember1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "key": "target_ticker",
        +    "value": "AAPL"
        +  }
        +]
    • Addedresolution_audit
    • Addedresolution_diff
    • Changedresolve_entity1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedscan_competitor_ai_presence1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entities": [
        +      "Pipeworx",
        +      "Zapier"
        +    ]
        +  }
        +]
    • Changedscan_dependency1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "package": "left-pad"
        +  }
        +]
    • Changedsearch_within1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "query": "supply-chain risk",
        +    "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter."
        +  }
        +]
    • Changedsuggest_questions1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "finance"
        +  }
        +]
    • Changedvalidate_claim1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "claim": "Apple's fiscal 2023 revenue was $383 billion"
        +  }
        +]
  2. 1 tool update
    • Changedentity_profile3 fields changed
      • changedInput schema / properties / type / description
        Previous value: -"Entity type. Only \"company\" supported today; person/place coming soon."New value: +"\"company\" or \"ticker\" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon."
      • changedInput schema / properties / type / enum
        Previous value: -[
        -  "company"
        -]New value: +[
        +  "company",
        +  "ticker"
        +]
      • changedInput schema / properties / value / description
        Previous value: -"Ticker (e.g., \"AAPL\") or zero-padded CIK (e.g., \"0000320193\"). Names not supported — use resolve_entity first if you only have a name."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."
  3. 1 tool update
    • Changedresolve_entity1 field changed
      • changedInput schema / properties / value / description
        Previous value: -"For company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., \"ozempic\", \"metformin\")."New value: +"For company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., \"ozempic\", \"metformin\"). Pass the ENTITY NAME ONLY — for a bond that is the ISSUER exactly as printed (\"NEW YORK ST DORM AUTH\"), never the question's full noun phrase (\"NEW YORK ST DORM AUTH revenue bonds\"): the FIGI lookup matches instrument names, so trailing security-class words match nothing."

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables retrieval of real-time air quality data from IQAir, including AQI, pollutant levels, weather, and forecasts for any location, via an MCP-compatible interface without an official API key.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Access EPA environmental data — facility compliance (ECHO), toxic releases (TRI), Superfund sites, drinking water systems, environmental justice screening (EJScreen), and real-time air quality (AirNow) via MCP.
    201 npm
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with the World Air Quality Index to fetch real-time air quality data for cities and coordinates worldwide via Model Context Protocol (MCP).
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.