UV Index Today MCP
Server Details
Today's UV Index forecast by US ZIP code or city, with hourly peak and UV Alert, from EPA and NWS.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- theluckystrike/uv-index-today-mcp
- GitHub Stars
- 0
- Server Listing
- uv-index-today-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools split cleanly along mode: static explanation (no network), hour-by-hour forecast, and a today summary. The only mild overlap is that get_uv_index_today also returns the hourly peak and the UV≥3 window, but the descriptions explicitly frame it as the summary view and the hourly tool as the drill-down, so misselection risk is low.
All three names are snake_case verb_noun with a shared `uv_index` object, so the resource is obvious and the action prefix (explain vs get) distinguishes behavior. The prefix itself signals the key difference: local knowledge vs live fetch.
Three tools is well matched to a deliberately narrow domain (today's UV Index); each one earns its place as explanation, granular data, and condensed answer. Nothing feels padded or missing at this scope.
The surface covers the full practical workflow: understand the scale, get today's number and advice, then look hour-by-hour for safe windows. Gaps are minor and mostly out of the stated 'today' scope (no multi-day outlook, US-only locations, no bare lat/long lookup).
Available Tools
3 toolsexplain_uv_indexExplain a UV index valueARead-onlyIdempotentInspect
What a UV Index number means on the EPA scale (0 to 2 Low, 3 to 7 Moderate to High, 8 and above Very High to Extreme) and the EPA sun protection advice for it, plus the NWS UV Alert rule. No network call.
| Name | Required | Description | Default |
|---|---|---|---|
| uv_index | Yes | UV Index value, for example 7. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so 'No network call' largely restates structured data. What the description does add beyond annotations is the substance of the response — the band boundaries, the EPA protection advice, and the NWS UV Alert rule — which is valuable because no output schema exists to convey 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?
A single front-loaded sentence that leads with the core purpose, then the scale breakdown, then the extra outputs, ending with the no-network note. The inline parenthetical band list is dense but earns its place as the tool's core content; nothing reads as filler.
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 and a trivial one-parameter input, the description does the important work of telling the agent what it will get back (band label, EPA advice, NWS alert status) and that no network call occurs. It falls slightly short on return structure and on handling of values at or near the 25 maximum, but overall it is sufficient to call the tool correctly.
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% for the single parameter (number, 0–25, example 7), so the schema already carries the mechanics. The description adds interpretive meaning for that number by spelling out the band thresholds, which helps an agent understand what the input maps to, but it does not address the schema's 0–25 bounds or what happens outside the described 0–8+ bands.
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?
The description names a specific action (interpret/explain) on a specific resource (a UV Index number) and enumerates the content returned: EPA scale bands, EPA protection advice, and the NWS UV Alert rule. That clearly separates it from the siblings get_uv_index_today and get_uv_index_hourly, which retrieve data rather than interpret a supplied value, though it never states that distinction outright.
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 rather than stated: an agent can infer it should call this when it already holds a UV Index number and needs meaning or advice, and 'No network call' hints it is the offline alternative to the fetching siblings. There is no explicit when-to-use/when-not-to-use sentence or named alternative, so the routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uv_index_hourlyGet hourly UV index forecastARead-onlyIdempotentInspect
Hour by hour UV Index forecast for a US ZIP code or city and state, in the local time of that place, read now from EPA. Returns each hour with its EPA band, the peak hour and the window when UV is 3 or higher. Use it for "when is the sun strongest today" and "what time is safe to be outside" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | US ZIP code, 5 digits, for example "33101". Use this or city plus state. | |
| city | No | US city name, for example "Phoenix". Needs state. | |
| state | No | Two-letter state code for the city, for example "AZ". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds meaningful behavior beyond that: the data is read now from EPA, times are in the place's local time, and the response includes each hour's EPA band, the peak hour, and the window when UV is 3 or higher. It does not cover error cases or non-US coverage limits.
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?
Two sentences, front-loaded with the resource and scope before the usage examples. Every phrase earns its place, with no redundant or filler wording.
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?
There is no output schema, but the description explains the key return elements: hourly UV values with EPA bands, the peak hour, and the UV>=3 window. Inputs are fully documented by the schema and description, so an agent has enough detail to call and interpret this simple read-only forecast tool.
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%, and the schema already documents ZIP versus city plus state with examples and length limits. The description restates the input modes and adds only that results are in the local time of that place; it does not add syntax, validation, or edge-case meaning beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
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: an hour-by-hour UV Index forecast for a US ZIP code or city/state, in local time, sourced from EPA. It is distinguishable from get_uv_index_today by the 'hour by hour' scope and from explain_uv_index by being a forecast rather than an explanation, but it never explicitly names or routes against either sibling.
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 concrete usage contexts: 'when is the sun strongest today' and 'what time is safe to be outside' questions. It does not state when not to use it or explicitly direct the agent to get_uv_index_today or explain_uv_index for other needs, so it is clear context without exclusions rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uv_index_todayGet UV index todayARead-onlyIdempotentInspect
Today's UV Index forecast for a US ZIP code or city and state, read now from EPA (the NWS daily forecast). Returns the UV Index, the EPA category and sun protection advice, whether a UV Alert is in effect, the hourly peak and the local hours when UV is 3 or higher. Your training data cannot know today's UV Index.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | US ZIP code, 5 digits, for example "33101". Use this or city plus state. | |
| city | No | US city name, for example "Phoenix". Needs state. | |
| state | No | Two-letter state code for the city, for example "AZ". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world behavior, so the bar is lower; the description adds real value by naming the upstream source (EPA/NWS daily forecast) and enumerating what comes back, including UV Alert status and the hours when UV is 3 or higher. It stops short of stating freshness/caching or failure behavior for invalid locations.
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: location scope first, returned fields second, and a closing nudge that the model's training data cannot know today's UV. No filler, and the most decision-relevant information is front-loaded.
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, describing the return payload (index, category, advice, alert, hourly peak, hours >= 3) is necessary and done well, and all parameters are covered by the schema. Only minor gaps remain, such as unit/scale conventions or behavior when a location is ambiguous or unsupported.
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 all three parameters (zip, city, state) are already documented with formats and examples. The description only restates the input pattern ("a US ZIP code or city and state") without adding new syntax or constraints, which matches the baseline for full schema coverage.
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: "Today's UV Index forecast for a US ZIP code or city and state, read now from EPA." The word "Today's" implicitly separates it from the hourly sibling, but neither sibling is named explicitly, so differentiation relies on the agent inferring it.
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 context is implied by "Today's" and by the geographic scope (US ZIP or city+state), but there is no explicit statement of when to use this versus get_uv_index_hourly or explain_uv_index, and no exclusions. The agent must infer routing from the names.
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.
3 tool updates
- First observed
explain_uv_index - First observed
get_uv_index_hourly - First observed
get_uv_index_today
Related MCP Connectors
Know when the sun can make vitamin D where you are, for your skin type. Live UV data.
Weather forecast for any city, UV index, sunrise and sunset, pollen and air quality. Free, no key.
Vitamin D synthesis calculator: sun position, UV, IU/min, time to dose, sunburn risk, daily window.
USDA hardiness zone, frost dates and vegetable planting calendar for any U.S. ZIP code.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather information and multi-day forecasts for global locations using city names, coordinates, or ZIP codes. It includes tools for current conditions, forecasting, and weather summaries designed for activity planning.6 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides weather forecasts, current conditions, and alerts for US locations using the National Weather Service API.1-
- FlicenseBqualityDmaintenanceProvides weather information tools including US state weather alerts and location-based forecasts using latitude and longitude coordinates.2-
- AlicenseNot gradedqualityAmaintenanceGet US weather forecasts, active alerts, and current observations via the National Weather Service API.828 npm2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.