GOES Health
Server Details
Current outdoor health risks and 48-hour hourly / 8-day daily forecasts by latitude and longitude: sunburn, heat illness, air quality, altitude, frostbite, hypothermia, and lightning. Free, no API key or auth; 1,000 calls/day shared across all users and 10 calls/minute per user. Known issue: daily slot labels appear to use standard time, so during daylight saving time a 6am slot is actually 7am local.
- Status
- Healthy
- Uptime
- 100.0% over 26 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools split cleanly along a single axis: current conditions vs. forecast. Each description explicitly references the other and states when to use which, so an agent cannot reasonably confuse them.
Both names follow the same snake_case get_<domain>_<object> pattern, with the forecast tool adding a predictable suffix. Fully consistent and self-describing.
Two tools is thin even for a narrow domain; the current/forecast split could arguably be one tool with a time parameter, or expanded with related operations. Each tool does earn its place, but the surface is minimal.
The temporal lifecycle (now plus 8-day forecast) is covered, and the risk-scoring contract is well defined. Minor gaps exist: no location resolution/validation tool and no way to enumerate which risk types are supported.
Available Tools
2 toolsget_environmental_riskCurrent outdoor health risksARead-onlyInspect
Get outdoor environmental health risks at a location right now, from live weather, air
quality and elevation. Each risk has a score (0=none, 1=low, 2=medium, 3=high), a 1-2
sentence summary and safety tips. Status 'not_applicable' means conditions don't create
that risk; 'unavailable' means data was missing.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in decimal degrees, e.g. 37.7749 | |
| risk_ids | No | Only assess these risks; omit for all. sunburn = UV; heat-illness = heat and humidity; breathing-problems = air quality; high-altitude = elevation; frostbite and hypothermia = cold and wind chill; lightning = thunderstorms. | |
| longitude | Yes | Longitude in decimal degrees, e.g. -122.4194 | |
| include_tips | No | Include safety tips for each risk. Set false for shorter answers, e.g. when comparing places. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already declaring the safety profile, the description adds genuinely useful behavioral context: the 0-3 score scale, the meaning of 'not_applicable' vs 'unavailable', and that tips accompany each risk. There is no output schema, so this return-value semantics disclosure is doing real work. It stops short of describing response shape or how missing data is surfaced beyond the status label.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and data sources first, then the score legend, then the status legend. No filler. Slightly compressed into one long line, but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the burden of explaining return values, and it covers the score scale, per-risk summary/tips, and the two status sentinels. It omits error behavior and the exact response structure, which an agent constructing a result parser might want, but for call decisions it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: latitude/longitude bounds and the risk_ids enum with per-risk explanations are all documented in the schema. The description only alludes to 'at a location' and adds no parameter-level detail beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get environmental health risks), the input source (live weather, air quality, elevation), and the temporal scope ('right now'). The 'right now' wording implicitly separates it from get_environmental_risk_forecast, but the sibling tool is never named, so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the temporal scope: this tool is for current conditions, the sibling for forecasted conditions. However, the description never names the alternative or states when to prefer one over the other, and no prerequisites (e.g. needing a geocoded location) are given. Minimum-viable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environmental_risk_forecastForecast of outdoor health risksARead-onlyInspect
Forecast outdoor environmental health risks at a location, based on weather and air
quality forecasts. Use this for plans later today or in the next 8 days; use
get_environmental_risk for right now. Returns a list of times (in UTC, ISO 8601), each
with risk scores (0=none, 1=low, 2=medium, 3=high). Risks missing from a time don't
apply then (e.g. frostbite on a warm afternoon). Safety tips aren't included; get them
from get_environmental_risk.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in decimal degrees, e.g. 37.7749 | |
| risk_ids | No | Only assess these risks; omit for all. sunburn = UV; heat-illness = heat and humidity; breathing-problems = air quality; high-altitude = elevation; frostbite and hypothermia = cold and wind chill; lightning = thunderstorms. | |
| longitude | Yes | Longitude in decimal degrees, e.g. -122.4194 | |
| forecast_type | No | 'hourly' = each hour for the next 48 hours. 'daily' = next 8 days, 4 times per day (6am, noon, 6pm and midnight local time). | daily |
| include_summaries | No | Add a 1-2 sentence summary to each risk. Makes the response much longer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by documenting the return shape (UTC ISO 8601 timestamps), the 0-3 risk score scale, and the non-obvious omission semantics ('risks missing from a time don't apply then'). It also proactively states what is NOT returned (safety tips) and where to get it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with purpose then routing then return semantics. Every sentence carries distinct information; nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining the return structure, timezone, score encoding and omission rules. For a bounded read-only forecast tool with full schema coverage, nothing an agent needs to call or interpret it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so latitude, longitude, risk_ids, forecast_type and include_summaries are all already documented in the schema. The description's 'next 8 days' phrasing loosely reinforces forecast_type's daily default but adds no syntax or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Forecast outdoor environmental health risks at a location') with the data basis (weather and air quality forecasts). It explicitly distinguishes itself from the sibling get_environmental_risk by time horizon, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('plans later today or in the next 8 days') and names the alternative for the opposing case ('use get_environmental_risk for right now'). It also routes a second need (safety tips) to the sibling, covering both selection and follow-up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_environmental_risk - First observed
get_environmental_risk_forecast
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm29 PyPIMIT
- AlicenseAqualityDmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.