Zovo Weather History MCP
Provides past weather data and daily logs for US cities, ZIP codes, or addresses, including temperatures, rain, snow, and wind. Users can find nearby stations, download Excel/CSV logs, and adjust thresholds for weather events.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://weather-history.zovo.one/mcpWhat you can do with it
- Find nearby weather stations with date-specific coverage
- Download daily observations and summary sheets
- Adjust rain, snow, heat, freeze and gust thresholds
- Retrieve weather history for a specific date range
Source and maintenance
Protocol and capabilities
- Server
- weather-history 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 2 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
2 advertised
find_weather_stations — Find weather stations
Use this when the user wants weather history, historical weather data, or past weather by zip code and needs reporting stations near a US city, ZIP or address. Returns date-specific coverage and distance for up to ten qualifying stations plus three with insufficient records. Dates default to the thirty days ending five days before today UTC; up to 366 days. Do not use for forecasts, current conditions or places outside the US.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"place"
],
"properties": {
"place": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "US city and state, ZIP or street address, 2 to 200 characters; e.g. Denver, CO. For logs a US station ID such as USW00094728 also works."
},
"end_date": {
"type": "string",
"maxLength": 100,
"description": "Calendar date YYYY-MM-DD, e.g. 2026-09-01."
},
"start_date": {
"type": "string",
"maxLength": 100,
"description": "Calendar date YYYY-MM-DD, e.g. 2026-09-01."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"place",
"start_date",
"end_date",
"stations",
"source"
],
"properties": {
"kind": {
"type": "string",
"const": "stations"
},
"place": {
"type": "object",
"required": [
"label",
"matched_by",
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"label": {
"type": "string"
},
"matched_by": {
"type": "string"
}
},
"additionalProperties": false
},
"source": {
"type": "object",
"required": [
"name",
"url",
"retrieved_utc"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"retrieved_utc": {
"type": "string"
}
},
"additionalProperties": false
},
"end_date": {
"type": "string"
},
"stations": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"distance_mi"
],
"properties": {
"id": {
"type": "string"
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
},
"reports": {
"type": "array",
"items": {
"type": "string"
}
},
"coverage": {
"type": "number"
},
"distance_mi": {
"type": [
"number",
"null"
]
},
"elevation_ft": {
"type": [
"number",
"null"
]
},
"coverage_note": {
"type": "string"
},
"last_reported": {
"type": "string"
}
},
"additionalProperties": false
}
},
"start_date": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Find weather stations",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}generate_weather_log — Generate weather log
Use this when the user wants weather history, historical weather data, historical weather by date and location, or a daily weather data download. Reads station observations and generates Excel and CSV weather logs with rain days for construction delay and thresholds. US only; up to five sites and 366 days, from 1900 through today UTC. Files expire in about an hour. Do not use for forecasts, current conditions or certified weather reports.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sites",
"start_date",
"end_date"
],
"properties": {
"sites": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "US city and state, ZIP or street address, 2 to 200 characters; e.g. Denver, CO. For logs a US station ID such as USW00094728 also works."
},
{
"type": "string",
"maxLength": 0,
"minLength": 0
}
]
},
"description": "Up to five US places, ZIPs, addresses or station IDs after removing blanks and duplicates; e.g. [\"Denver, CO\",\"10024\"]."
},
"heat_f": {
"type": "number",
"default": 90,
"maximum": 130,
"minimum": 50,
"description": "Heat-day minimum degrees F, inclusive; e.g. 90."
},
"rain_in": {
"type": "number",
"default": 0.1,
"maximum": 10,
"minimum": 0.01,
"description": "Rain-day minimum in inches, inclusive; e.g. 0.10."
},
"snow_in": {
"type": "number",
"default": 1,
"maximum": 60,
"minimum": 0.1,
"description": "Snow-day minimum in inches, inclusive; e.g. 1.0."
},
"end_date": {
"type": "string",
"maxLength": 100,
"description": "Calendar date YYYY-MM-DD, e.g. 2026-09-01."
},
"freeze_f": {
"type": "number",
"default": 32,
"maximum": 50,
"minimum": -40,
"description": "Freeze-day maximum degrees F, inclusive; e.g. 32."
},
"gust_mph": {
"type": "number",
"default": 40,
"maximum": 150,
"minimum": 10,
"description": "Peak gust minimum mph, inclusive; e.g. 40. Average wind is not a substitute."
},
"start_date": {
"type": "string",
"maxLength": 100,
"description": "Calendar date YYYY-MM-DD, e.g. 2026-09-01."
},
"weather_day_rule": {
"type": "array",
"items": {
"enum": [
"rain",
"snow",
"heat",
"freeze",
"wind"
],
"type": "string"
},
"default": [
"rain",
"snow"
],
"maxItems": 5,
"minItems": 1,
"description": "Weather day is any selected threshold, e.g. [\"rain\",\"snow\"]."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"start_date",
"end_date",
"sites",
"preview",
"downloads",
"duplicates_removed",
"source"
],
"properties": {
"kind": {
"type": "string",
"const": "log"
},
"sites": {
"type": "array",
"items": {
"type": "object",
"required": [
"site"
],
"properties": {
"site": {
"type": "string"
},
"error": {
"type": "string"
},
"station": {
"type": "object",
"required": [
"id",
"name",
"distance_mi"
],
"properties": {
"id": {
"type": "string"
},
"lat": {
"type": [
"number",
"null"
]
},
"lon": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
},
"reports": {
"type": "array",
"items": {
"type": "string"
}
},
"coverage": {
"type": "number"
},
"distance_mi": {
"type": [
"number",
"null"
]
},
"elevation_ft": {
"type": [
"number",
"null"
]
},
"coverage_note": {
"type": "string"
},
"last_reported": {
"type": "string"
}
},
"additionalProperties": false
},
"summary": {
"type": "object",
"required": [
"statuses",
"total_precip_in",
"precip_days_with_value",
"total_snow_in",
"snow_days_with_value",
"days_missing",
"high",
"low",
"wettest",
"counts"
],
"properties": {
"low": {
"anyOf": [
{
"type": "object",
"required": [
"value",
"date"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"high": {
"anyOf": [
{
"type": "object",
"required": [
"value",
"date"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"counts": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"wettest": {
"anyOf": [
{
"type": "object",
"required": [
"value",
"date"
],
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"statuses": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"days_missing": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"total_snow_in": {
"type": "string"
},
"total_precip_in": {
"type": "string"
},
"snow_days_with_value": {
"type": "number"
},
"precip_days_with_value": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"source": {
"type": "object",
"required": [
"name",
"url",
"retrieved_utc"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"retrieved_utc": {
"type": "string"
}
},
"additionalProperties": false
},
"preview": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"max_f",
"min_f",
"precip_in",
"snow_in",
"status",
"flags"
],
"properties": {
"date": {
"type": "string"
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"max_f": {
"type": [
"number",
"null"
]
},
"min_f": {
"type": [
"number",
"null"
]
},
"status": {
"type": "string"
},
"snow_in": {
"type": [
"string",
"number",
"null"
]
},
"precip_in": {
"type": [
"string",
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"end_date": {
"type": "string"
},
"downloads": {
"type": "object",
"required": [
"xlsx",
"csv"
],
"properties": {
"csv": {
"type": "string"
},
"xlsx": {
"type": "string"
}
},
"additionalProperties": false
},
"start_date": {
"type": "string"
},
"duplicates_removed": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Generate weather log",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
weather-history-widget — Zovo Weather History view
Interactive view for Zovo Weather History.
ui://widget/weather-history-v6-1.0.0-10e47b152e3364d2cca0249c72f0a91589f668a54292f9b940258f5d4fee1f58.htmlweather-history-widget-legacy — Zovo Weather History view (previous versions)
ui://widget/weather-history-{version}.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 635 ms
- 95th percentile latency
- 635 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 635 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-weather-history-mcp https://weather-history.zovo.one/mcpCodex
codex mcp add zovo-weather-history-mcp --url https://weather-history.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-weather-history-mcp": {
"url": "https://weather-history.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-weather-history-mcp": {
"type": "streamableHttp",
"url": "https://weather-history.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-weather-history-mcp": {
"type": "http",
"url": "https://weather-history.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-weather-history-mcp https://weather-history.zovo.one/mcpClaude Desktop
{
"mcpServers": {
"zovo-weather-history-mcp": {
"url": "https://weather-history.zovo.one/mcp"
}
}
}Windsurf
{
"mcpServers": {
"zovo-weather-history-mcp": {
"serverUrl": "https://weather-history.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Weather History MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.