Server definition
- Hash
- sha256:9c577a7182ca70b6b5710029ce5d01b75c8f1c14b73cc21b3762341225abd2b9
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "Clara — Personal Clean Air Planner. Built by South London Scientific. Provides personalised UK air quality advice and personal exposure assessment, drawing on the Hestia exposure library for evidence-based health context and intervention data.\n\n## Tool catalogue\n\n- `contextual_advice` — personalised air quality advice for a location and personal context\n- `exposure_assessment` — personal daily exposure estimate across home, work, and commute\n\n## Usage patterns\n\n### contextual_advice\n**Standalone:** Provide a postcode or coordinates to get advice based on annual average pollution estimates: PM2.5 from the London Atmospheric Emissions Inventory (LAEI) and the UK Pollution Climate Mapping (PCM) model; NO2 from a custom land-use regression (LUR) model.\n\n**Composed with Hermes:** Pass live pm25/no2 values from Hermes `get_current_aq` to get advice based on current conditions rather than annual averages. Example flow:\n1. Hermes `get_current_aq(\"SE17\")` → get pm25, no2 values\n2. Clara `contextual_advice(pm25=..., no2=..., postcode=\"SE17 1RL\")` → contextualised advice\n\n### exposure_assessment\nEstimates time-weighted personal exposure across home, work, and commute environments. Uses annual average pollution data with indoor source adjustments and transport mode factors.\n\nExample: `exposure_assessment(home_postcode=\"SE17 1RL\", work_postcode=\"EC2R 8AH\", transport_mode=\"tube\", cooker_type=\"gas\")` → daily PM2.5/NO2 exposure with breakdown by environment, commute details, and health context.\n\n**When to use which:**\n- `contextual_advice` — \"what's the air quality HERE?\" Single location, optionally live data.\n- `exposure_assessment` — \"what's my ACTUAL daily exposure?\" Multi-environment, time-weighted.\n\n## Personal context\n\n### contextual_advice parameters\n- `setting`: residential, school, workplace, outdoor_exercise, commute\n- `has_gas_cooker`: triggers specific indoor ventilation advice\n- `commute_mode`: walk, cycle, bus, car, train, tube (tube triggers underground-specific advice)\n- `has_indoor_sources`: smoking, woodstove, incense, candles\n- `audience`: general, children, elderly, respiratory, pregnant\n\n### exposure_assessment parameters\n- `home_postcode`: required — home location\n- `work_postcode`: optional — work/school location (omit if not commuting)\n- `transport_mode`: walk, cycle, bus, car, train, tube\n- `work_frequency`: most_days, some_days, less_often, never\n- `commute_hour`: 0-23, enables time-of-day pollution adjustment\n- `cooker_type`: gas, electric, induction, unknown (gas adds ~60 µg/m³ NO2 indoors)\n- `smoking_at_home`: true/false (smoking adds ~35 µg/m³ PM2.5 indoors)\n- `tube_line`: specific Underground line (auto-inferred if omitted)\n\n## Response structure and presentation\n\nBoth tools return a `presentation` field containing pre-formatted markdown with exact values, gauge bars, tables, and advice. **Always present the `presentation` field to the user as-is.** Do not paraphrase, round, or restate the numbers — the presentation text is authoritative. You may add brief introductory or follow-up commentary around it, but the core content must come from `presentation`.\n\nThe raw data fields (`exposure`, `breakdown`, `pollution`, `health_context`, etc.) are available for answering follow-up questions or making comparisons across calls.\n\n## Scope\n- **Can do:** Personal exposure context, health advice, indoor source advice, commute exposure estimation, ULEZ/LTN intervention evidence for London.\n- **Cannot do:** Ambient monitoring data (use Hermes MCP server), forecasting, intervention evaluation.\n\n## Attribution\nBuilt by South London Scientific (southlondonscientific.com). Health evidence from the Hestia exposure library. Pollution data: PM2.5 from LAEI and UK PCM; NO2 from a custom LUR model.",
"tools": [
{
"description": "Personalised air quality advice for a UK location and a specific\nuser context.\n\nUse this tool whenever the user asks an air-quality question that\ndepends on *who they are* or *what they're about to do*: e.g. asthma,\npregnancy, school-age child, gas cooker at home, tube commute,\noutdoor exercise. It composes location-specific pollution with the\nuser's personal context to produce evidence-based advice — far more\ntargeted than a generic \"high pollution day\" handout.\n\nComposable with Hermes: pass pm25/no2 from Hermes get_current_aq for\nadvice based on live readings rather than annual average estimates.\n\nReturns structured advice with a plain-English summary, health context,\nand local intervention information. Present the 'summary' to users first.\n\nArgs:\n postcode: UK postcode (e.g. \"SE17 1RL\"). Provides coords + LAEI pollution.\n latitude: Latitude for coordinate-based lookup.\n longitude: Longitude for coordinate-based lookup.\n pm25: PM2.5 concentration in ug/m3. Overrides location-based estimate.\n no2: NO2 concentration in ug/m3. Overrides location-based estimate.\n setting: Context — residential, school, workplace, outdoor_exercise, commute.\n has_gas_cooker: Whether the person has a gas cooker (affects indoor advice).\n commute_mode: If setting is commute — walk, cycle, bus, car, train, tube.\n has_indoor_sources: Indoor pollution sources (smoking, woodstove).\n audience: Target audience — general, children, elderly, respiratory, pregnant.\n",
"inputSchema": {
"properties": {
"audience": {
"default": "general",
"title": "Audience",
"type": "string"
},
"commute_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Commute Mode"
},
"has_gas_cooker": {
"default": false,
"title": "Has Gas Cooker",
"type": "boolean"
},
"has_indoor_sources": {
"default": false,
"title": "Has Indoor Sources",
"type": "boolean"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Longitude"
},
"no2": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "No2"
},
"pm25": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Pm25"
},
"postcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Postcode"
},
"setting": {
"default": "residential",
"title": "Setting",
"type": "string"
}
},
"title": "contextual_adviceArguments",
"type": "object"
},
"name": "contextual_advice",
"outputSchema": null
},
{
"description": "Estimate personal daily air pollution exposure across home, work, and commute.\n\nUses time-weighted modelling across environments: home (with indoor source\nadjustments), work, and commute (with route-based pollution and transport mode\nfactors). Based on annual average pollution estimates, not live readings.\n\nArgs:\n home_postcode: Home location UK postcode (e.g. \"SE17 1RL\"). Required.\n work_postcode: Work/school location postcode. Omit if not commuting.\n transport_mode: Commute mode — walk, cycle, bus, car, train, tube.\n work_frequency: How often you commute — most_days, some_days, less_often, never.\n commute_hour: Hour of commute (0-23) for time-of-day pollution adjustment.\n cooker_type: Home cooker type — gas, electric, induction, unknown.\n smoking_at_home: Whether anyone smokes indoors (major PM2.5 source).\n tube_line: London Underground line for tube commuters (e.g. \"victoria\").\n",
"inputSchema": {
"properties": {
"commute_hour": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Commute Hour"
},
"cooker_type": {
"default": "unknown",
"title": "Cooker Type",
"type": "string"
},
"home_postcode": {
"title": "Home Postcode",
"type": "string"
},
"smoking_at_home": {
"default": false,
"title": "Smoking At Home",
"type": "boolean"
},
"transport_mode": {
"default": "walk",
"title": "Transport Mode",
"type": "string"
},
"tube_line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tube Line"
},
"work_frequency": {
"default": "most_days",
"title": "Work Frequency",
"type": "string"
},
"work_postcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Work Postcode"
}
},
"required": [
"home_postcode"
],
"title": "exposure_assessmentArguments",
"type": "object"
},
"name": "exposure_assessment",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9c577a7182ca70b6b5710029ce5d01b75c8f1c14b73cc21b3762341225abd2b9 | sha256sum