stlouis-pollen
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stlouis-pollenwhat's the current pollen count in St. Louis County?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
stlouis-pollen
JSON API, Prometheus metrics, and MCP server for the St. Louis County pollen & mold count, with historical data back to March 2000. Runs on Cloudflare Workers.
Base URLs:
No auth, no tokens. Please be gentle: responses are highly cacheable and rate-limited to 60 requests/minute/IP.
HTTP API
Endpoint | Description |
|
|
| Today's headline levels (original, stable shape) |
| Latest full daily report with per-species counts |
| Full daily report for a date |
| Day-by-day summaries, max 31 days per request |
| Prometheus metrics for today's report |
Examples
curl https://stlouis-pollen.maxhogan.dev/today
# {"reportDate":"2026-07-31T05:00:00.000Z","tree":"","treeLevel":null,
# "grass":"Low","grassLevel":1,"weed":"Moderate","weedLevel":2,
# "mold":"Moderate","moldLevel":2}
curl https://stlouis-pollen.maxhogan.dev/day/2026-07-30
# {"date":"2026-07-30","available":true,"targetId":13634,
# "tree":{"count":0,"level":"Absent","levelValue":0}, ...,
# "species":{"tree":[{"name":"Ash","count":0,"level":"Absent"}, ...]}}
curl "https://stlouis-pollen.maxhogan.dev/history?start=2025-04-01&end=2025-04-30"
# {"start":"2025-04-01","end":"2025-04-30","days":[
# {"date":"2025-04-01","available":true,"tree":{"count":905,"level":"High",...}, ...},
# {"date":"2025-04-05","available":false,"reason":"no-report"}, ...]}Days with no published report return available: false with a reason:
no-report— proven report-free (weekends, holidays, skipped days)not-yet-published— the date is newer than the newest published reportunknown— couldn't be resolved this request (rare; retry)
Related MCP server: SNOTEL MCP Server
MCP server
Model Context Protocol server over Streamable HTTP (plus legacy SSE at
/sse). No auth required.
https://stlouis-pollen.maxhogan.dev/mcpClaude Code:
claude mcp add --transport http stlouis-pollen https://stlouis-pollen.maxhogan.dev/mcpClaude.ai / Claude Desktop: add a custom connector with the URL above.
Tools
Tool | Args | Description |
| — | Most recent published report (per-species counts + category levels), with |
|
| Full report for one date |
|
| Day-by-day history, max 31 days per call |
Data notes
Source: scraped from the county's Pollen and Mold Center. All data belongs to the Saint Louis County Department of Public Health.
Cadence: reports are published on weekdays only, usually by ~noon US Central, and some days are skipped entirely. Dates are US Central.
Coverage: daily reports back to 2000-03-03.
Levels: the headline tree/grass/weed/mold levels are the summed category counts mapped through the standard NAB scale (
Absent=0, Low=1, Moderate=2, High=3, Very High=4), which matches how the county site derives its home-page levels. Per-species levels are reported as printed.Immutability & caching: past days are never revised upstream, so they are cached permanently (Workers KV, bundled per month) and served with long/immutable cache headers. Cold historical queries scrape the county site day-by-day (
Pollen_Day.aspx?TargetID=N); warm ones never touch it.
How the historical scrape works
The county site keys daily reports by a sequential TargetID (one per
published report, monotonically increasing with date). There is no direct
date→ID endpoint, so this worker:
ships a static table of ~80
(TargetID, date)anchor pairs,resolves a date to an ID with an interpolation search between anchors (each probe is a full day page, so probes double as cache fills),
walks IDs forward to cover a range, proving skipped dates report-free when consecutive IDs bracket them,
memoizes every discovered pair and day to KV — searches get cheaper forever.
Free-tier KV budget: ~317 month-bundle keys exist in total; each is written only while it fills and then never again, so lifetime writes are bounded by the amount of history (≪ the 1,000 writes/day free limit) and reads are ≤3 per request.
Development
npm install
npm test # parser unit tests against saved fixtures
npm run typecheck
npm run dev # wrangler devDeploys happen automatically on push to main via the Cloudflare Workers
native GitHub integration (Workers Builds). wrangler.jsonc is the source of
truth for the custom domain, the workers.dev route, KV, Durable Object, and
rate-limit bindings.
License
MIT. Not affiliated with St. Louis County — data is theirs; please attribute it to the Saint Louis County Pollen and Mold Center.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to EPA's Air Quality System API with 31 tools for querying air quality data, monitoring sites, and pollution measurements across the United States through natural language.Last updated31MIT
- Alicense-qualityDmaintenanceProvides access to real-time and historical snow conditions, weather data, and snowpack analysis from over 800 SNOTEL stations across the western United States through the USDA Air and Water Database API.Last updated2MIT
- AlicenseAqualityDmaintenancePer-species pollen forecasts at any point on Earth, seven days ahead. Free tier covers casual use.Last updated41MIT
- AlicenseAqualityBmaintenanceEnables querying and exporting phenology data from the USA National Phenology Network, including raw data, phenometrics, and mapping capabilities.Last updated103MIT
Related MCP Connectors
Query real-time and historical USGS water data from ~8,000 stream gages and groundwater wells.
EPA AirNow MCP — official US real-time AQI + forecast (free key)
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmaxhogan/stlouis-pollen'
If you have feedback or need assistance with the MCP directory API, please join our Discord server