Hermes — Air Quality Intelligence
Server Details
UK air quality MCP: live readings, historical trends, LAQM stats, WHO checks, knowledge base.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 15 of 15 tools scored. Lowest: 3.6/5.
Each tool targets a distinct need: assess_location_aq is a comprehensive one-call; chart_aq_trend generates charts; compare_locations does side-by-side comparison; get_aqi_summary focuses on index and WHO compliance; get_current_aq gives raw readings; get_historical_aq provides historical data; kb_* tools serve knowledge base queries; list_monitors lists monitoring sites; regulatory_stats gives LAQM statistics; time_patterns shows temporal patterns; trend_analysis does long-term trend analysis. No two tools have overlapping purposes.
All tool names follow a consistent verb_noun pattern using snake_case: assess_location_aq, chart_aq_trend, compare_locations, get_aqi_summary, get_current_aq, get_historical_aq, list_monitors, regulatory_stats, time_patterns, trend_analysis, and the kb_* tools also follow that pattern with the kb_ prefix. Naming is highly predictable and uniform.
With 15 tools, the server's scope is well-balanced. Each tool serves a clear purpose without redundancy, covering current data, historical data, comparisons, monitoring info, regulatory stats, and knowledge base. The count feels appropriate for a domain-specific intelligence server.
The tool surface covers the full range of air quality needs: current assessment, historical analysis, trend detection, comparisons, monitoring network info, regulatory compliance, and knowledge base on guidelines, health effects, and practical advice. There are no obvious gaps for a read-only service; the specialized tools ensure agents can answer diverse queries without dead ends.
Available Tools
15 toolsassess_location_aqInspect
Comprehensive air quality assessment for a location in one call.
Combines nearby monitor discovery and current readings with DAQI into a single response. Use this as the first tool call for any air quality question about a location.
For long-term trend analysis, use the dedicated trend_analysis tool.
Returns a structured 'summary' dict with purpose-appropriate sections. Present the summary description to users first.
Args: location: Postcode, place name, or "lat,lon". purpose: What the user needs — "general" (default), "health" (safety/worry), "exercise" (outdoor activity), or "planning" (homebuying/school assessment/long-term).
| Name | Required | Description | Default |
|---|---|---|---|
| purpose | No | general | |
| location | Yes |
chart_aq_trendInspect
Generate a time series chart of air quality data.
Returns a PNG chart image with a brief text summary. Use this when users ask about trends, patterns, or want to visualise air quality over time.
Args: start_date: Start date (ISO format, e.g. "2025-01-01"). end_date: End date (ISO format). location: Postcode, place name, or "lat,lon". Provide this or site_code. site_code: Direct site code. Provide this or location. pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. Defaults to NO2, PM2.5, PM10, O3 if not specified. frequency: "hourly", "daily", or "monthly" (default "daily"). show_who_guidelines: Show WHO guideline reference lines (default True). show_daqi_bands: Show DAQI band background shading (default True).
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| location | No | ||
| frequency | No | daily | |
| site_code | No | ||
| pollutants | No | ||
| start_date | Yes | ||
| show_daqi_bands | No | ||
| show_who_guidelines | No |
compare_locationsInspect
Compare current air quality across multiple locations side-by-side.
Returns a ranked comparison by pollutant with DAQI bands and distance to nearest monitor. Useful for comparing development sites, school locations, or residential options.
Args: locations: List of 2–6 locations (postcodes, place names, or "lat,lon"). pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. Default: all available.
| Name | Required | Description | Default |
|---|---|---|---|
| locations | Yes | ||
| pollutants | No |
get_aqi_summaryInspect
Get an AQI assessment with health advice and WHO compliance check.
Returns a 'summary' with a plain-English health assessment, advice for general and at-risk populations, and WHO guideline context. Present the summary to users first. Also returns raw 'aqi' and 'who_compliance' data.
Args: location: Postcode, place name, or "lat,lon". index: AQI system — "UK_DAQI" (default), "WHO", or "US_EPA". period: "current", "today", "this_week", or "this_month".
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | UK_DAQI | |
| period | No | current | |
| location | Yes |
get_current_aqInspect
Get the most recent air quality readings near a location, with health context.
Returns a 'summary' with a plain-English health assessment and advice for general and at-risk populations. Present the summary to users first. Also returns individual 'readings' from nearby monitors and 'metadata' about data freshness and sources.
Args: location: Postcode, place name, or "lat,lon". radius_km: Search radius in kilometres (default 2.0). pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. sources: Optional filter, e.g. ["AURN", "BREATHE_LONDON"].
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | ||
| location | Yes | ||
| radius_km | No | ||
| pollutants | No |
get_historical_aqInspect
Get historical air quality data for a site or location, with health context.
Returns a 'narrative' with plain-English interpretation of trends, WHO guideline exceedances, and guideline comparisons. Present the narrative to users first. Also returns raw 'data' and 'summary' statistics.
Args: start_date: Start date (ISO format, e.g. "2025-01-01"). end_date: End date (ISO format). location: Postcode, place name, or "lat,lon". Provide this or site_code. site_code: Direct site code. Provide this or location. pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. frequency: "hourly", "daily", or "monthly" (default "daily").
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | ||
| location | No | ||
| frequency | No | daily | |
| site_code | No | ||
| pollutants | No | ||
| start_date | Yes |
kb_get_guidelinesInspect
Get current air quality guideline and target values.
Args: framework: "WHO", "UK", "EU", or "all" (default). pollutant: Optional filter for a specific pollutant.
Returns the full guidelines document (markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| framework | No | all | |
| pollutant | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
kb_get_health_effectsInspect
Get health evidence summaries for a pollutant and population group.
Args: pollutant: "NO2", "PM2.5", "PM10", or "O3". population_group: "general", "children", "elderly", "respiratory", "cardiovascular", or "pregnant" (default "general").
Returns health effects document (markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| pollutant | Yes | ||
| population_group | No | general |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
kb_get_local_contextInspect
Get area-specific contextual information.
Args: area: "southwark", "london", or a specific neighbourhood.
Returns local context document (markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | southwark |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
kb_get_monitoring_explainerInspect
Get plain-language explanations of monitoring methods and limitations.
Args: topic: One of "how_monitors_work", "regulatory_vs_lowcost", "what_readings_mean", "why_numbers_differ", "representativeness", "data_quality", "what_monitors_measure".
Returns monitoring explainer document (markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
kb_get_practical_adviceInspect
Generic protective-action guidance for a category of situation (NOT keyed to an individual user's context).
For personalised advice that takes the user's specific health
situation into account (asthma, pregnancy, gas cooker, tube commute,
indoor sources), prefer the Clara MCP server's contextual_advice
tool — it composes Hermes live readings with personal context to
give an answer keyed to this user, now. Use this KB tool only
as a fallback or when Clara is not available.
Args: situation: One of "high_pollution_day", "commuting", "exercise", "school_run", "indoor_air", "planning_objection", "pregnancy", "child_asthma".
Returns practical advice document (markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| situation | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
list_monitorsInspect
List air quality monitoring sites near a location, with context.
Returns a 'summary' explaining how many monitors were found, their operational status, and what each monitor type represents. Present the summary to users first. Also returns a 'monitors' list with full metadata.
Args: location: Postcode, place name, or "lat,lon". radius_km: Search radius in kilometres (default 5.0). sources: Optional filter, e.g. ["AURN", "BREATHE_LONDON"].
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | ||
| location | Yes | ||
| radius_km | No |
regulatory_statsInspect
Get LAQM Annual Status Report-style statistics for a location.
Returns annual means, percentiles, exceedance counts, data capture percentages, and compliance assessment against UK legal limits and WHO guidelines.
Args: location: Postcode, place name, or "lat,lon". year: Calendar year to report on (default: most recent complete year). pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. Default: all available.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| location | Yes | ||
| pollutants | No |
time_patternsInspect
Analyse when pollution is highest — hour of day, day of week, and month.
Returns temporal profiles showing typical patterns. Useful for advising on best times for outdoor exercise, school runs, or commuting.
Args: location: Postcode, place name, or "lat,lon". pollutant: Pollutant to analyse — "NO2", "PM2.5", "PM10", "O3" (default "NO2"). period: Time window — "last_month", "last_3_months", "last_6_months", or "last_year" (default).
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | last_year | |
| location | Yes | ||
| pollutant | No | NO2 |
trend_analysisInspect
Analyse the long-term trend in a pollutant near a location.
Uses Theil-Sen slope estimation with Mann-Kendall significance testing to determine whether air quality is improving, worsening, or stable. Robust to outliers and missing data.
Returns a 'summary' with plain-English trend description and statistical details. Present the summary to users first.
Args:
location: Postcode, place name, or "lat,lon".
pollutant: Pollutant to analyse — "NO2", "PM2.5", "PM10", "O3" (default "NO2").
years: Number of years of data to analyse (default 5, range 2–5).
Requests outside this range are clamped; the response includes
metadata.years_clamped and a note in summary when so.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | ||
| location | Yes | ||
| pollutant | No | NO2 |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!