Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Weather That Doesn't Suck is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Weather decisions for outdoor plans: should I go, when, what to wear, what you will meet en route.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http weather-that-doesn-t-suck-mcp https://weatherthatdoesntsuck.com/api/mcp
# 2 — ask your agent for something these tools do
# get_weather, get_forecast, outdoor_activity_weather and 8 more
Weather That Doesn't Suck costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http weather-that-doesn-t-suck-mcp https://weatherthatdoesntsuck.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
11 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Plain-language weather for a place: one sentence first, then current conditions, the next 24 hours, the next 7 days, and official alerts. Use it for "what's the weather", "do I need a jacket", "is it going to rain". For a decision about doing something outdoors (a run, a hike, staining a deck), use outdoor_activity_weather instead: it answers "should I?", not just "what is it?". data.current say
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| hours | integer | no | Hours of hourly detail to include. Default 24. |
The forecast for a stretch of time: "What's Saturday looking like?", "What will conditions be between 6 PM and midnight?", "this weekend". Give start_time (and optionally end_time or duration_hours). Returns a one-line summary, the temperature range, rain, wind, any conditions worth acting on, and the hourly and daily rows. The forecast reaches about seven days. Beyond that it says so and does not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| start_time | string | no | When the period starts. Defaults to now. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "now", "tonight", "tomorrow morni |
| end_time | string | no | When the period ends, in the same formats as start_time. "midnight" means the next midnight. |
| duration_hours | number | no | Instead of end_time: how many hours to cover. |
Our flagship tool. Turns weather into a decision for a specific outdoor activity: a practical verdict (go, go_with_caveats, marginal, no_go), a one-sentence reason, the temperature and feels-like range, rain, wind, sunset, what to wear, and the concerns. Activities: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, genera
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| activity | string | yes | What the person is doing. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words work too ( |
| start_time | string | no | When it starts. Defaults to now. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "now", "tonight", "tomorrow morning", "Sa |
| duration_hours | number | no | How long it lasts. Defaults to the usual length for the activity, and says so. |
| intensity | string | no | How hard the effort is, which changes what to wear. Defaults to the usual effort for the activity. |
Finds the best time on a day for an activity. Returns the best window, an alternate, and any clearly bad stretch, each with a short reason. Windows are stretches, not exact hours: when several start times are about equally good they are reported as one stretch, and when the whole day is about the same it says so. Use it for "when should I go?", "what's the best time Saturday?", "Kilian and I want
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| activity | string | yes | What the person is doing. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words work too ( |
| date | string | no | The day to search. Defaults to today. A part of a day ("tomorrow morning") narrows the search to it, and "this weekend" compares both days. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in |
| duration_hours | number | no | How long the activity lasts. Defaults to the usual length for the activity, and says so. |
| intensity | string | no | How hard the effort is, which changes what to wear. Defaults to the usual effort for the activity. |
What to wear for an activity at a time and place, short and practical, followed by the weather it rests on. It dresses you for the effort, not just the temperature: a runner is warmer than a person standing still at the same feels-like, and the same rules as the website's outfit card apply. Optional: intensity, and preferences such as { "feel": "runs_cold" } or { "avoid": ["shorts"] }.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| activity | string | no | What the person is doing, if known. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words |
| start_time | string | no | When. Defaults to now. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "now", "tonight", "tomorrow morning", "Saturday", " |
| duration_hours | number | no | How long they will be out. Defaults to the usual length for the activity. |
| intensity | string | no | How hard the effort is, which changes what to wear. Defaults to the usual effort for the activity. |
| preferences | object | no | Optional: { "feel": "runs_cold" | "runs_warm", "avoid": ["shorts"] }. |
Explains weather in plain terms for conversation: why it feels colder than the temperature, whether rain will matter on a hike, whether wind matters, whether the trail will be muddy, humidity, fog, frost, pressure. It separates what the forecast says (facts, each labelled forecast or formula) from what we are reasoning (inferences, each with its basis and how sure we are) and lists what we cannot
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | A place name such as "Glenbeulah, WI" or "Greenbush, Wisconsin", or coordinates as "43.79,-88.05". Add the state or country for small towns, because a bare "Greenbush" matches several places. |
| latitude | number | no | Latitude in degrees. Use with longitude instead of location. |
| longitude | number | no | Longitude in degrees, west negative. Use with latitude instead of location. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| question | string | no | The question as the person asked it, for example "Why does it feel colder than the temperature?". |
| topic | string | no | The topic, if you know it. Otherwise it is read from the question. |
| start_time | string | no | The time the question is about. Defaults to now. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "now", "tonight", "tomorr |
| duration_hours | number | no | How many hours to look at. Default 6. |
| activity | string | no | What the person is doing, if known. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words |
Weather for a trail over time, sampled along the trail rather than at one point: starting conditions, how the temperature changes through the trip, rain windows, wind and gusts, humidity and dew point, wind chill and heat index, sunrise, sunset, twilight, the moon, significant changes, alerts, and what to wear and carry. Give a trail_id (call list_trails) or the route itself, plus start_time and a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| trail_id | string | no | A trail we know by name. Call list_trails to see them. Use this OR one of the route formats below. |
| gpx | string | no | The text of a GPX file (track points). Up to about 450 KB. |
| geojson | no | GeoJSON as an object or a string: a LineString, MultiLineString, or Features holding them. Longitude first, as GeoJSON has it. | |
| polyline | string | no | An encoded polyline (Google format). |
| polyline_precision | integer | no | Digits of precision in the polyline. 5 is usual, 6 is what some routers send. |
| coordinates | array | no | A list of [latitude, longitude] pairs, latitude FIRST. |
| waypoints | array | no | Two to twelve places to travel between, each a name like "Glenbeulah, WI" or { "latitude": 43.79, "longitude": -88.05 }. They are joined by straight lines, so distances are approximate. |
| out_and_back | boolean | no | True if the route is walked out and then back along the same line. |
| pace | object | no | How fast the person moves, as a value and a unit. |
| total_duration_hours | number | no | Instead of a pace: how long the whole trip is expected to take. The pace is worked out from the length of the route. |
| rest_at_turnaround_hours | number | no | Hours spent resting at the turn of an out-and-back (a night's sleep, say). |
| break_minutes_per_hour | number | no | Minutes of stops per hour of moving, which stretches arrival times. |
| progress | object | no | For someone already on the route: how far along they are right now. The answer is for the rest of the route, starting now. Give distance_miles or distance_km, or a latitude and longitude. The position |
| preferences | object | no | Optional: { "feel": "runs_cold" | "runs_warm", "avoid": ["shorts"] }. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| start_time | string | no | When the trip starts. Defaults to now. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "now", "tonight", "tomorrow morning |
| activity | string | no | What the person is doing, if known. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words |
| intensity | string | no | How hard the effort is, which changes what to wear. Defaults to the usual effort for the activity. |
| step_hours | number | no | Hours between timeline rows. Default 2. |
What weather you will meet as you move along a route, at the moment you reach each part of it. Not "the weather on the trail" but "what will I encounter, where, and when". Accepts a known trail_id, a GPX file, GeoJSON, an encoded polyline, coordinates, or place names. With a start_time and a pace it works out when you reach each checkpoint, reads the forecast for that place at that time, and repor
| Parameter | Type | Required | Notes |
|---|---|---|---|
| trail_id | string | no | A trail we know by name. Call list_trails to see them. Use this OR one of the route formats below. |
| gpx | string | no | The text of a GPX file (track points). Up to about 450 KB. |
| geojson | no | GeoJSON as an object or a string: a LineString, MultiLineString, or Features holding them. Longitude first, as GeoJSON has it. | |
| polyline | string | no | An encoded polyline (Google format). |
| polyline_precision | integer | no | Digits of precision in the polyline. 5 is usual, 6 is what some routers send. |
| coordinates | array | no | A list of [latitude, longitude] pairs, latitude FIRST. |
| waypoints | array | no | Two to twelve places to travel between, each a name like "Glenbeulah, WI" or { "latitude": 43.79, "longitude": -88.05 }. They are joined by straight lines, so distances are approximate. |
| out_and_back | boolean | no | True if the route is walked out and then back along the same line. |
| pace | object | no | How fast the person moves, as a value and a unit. |
| total_duration_hours | number | no | Instead of a pace: how long the whole trip is expected to take. The pace is worked out from the length of the route. |
| rest_at_turnaround_hours | number | no | Hours spent resting at the turn of an out-and-back (a night's sleep, say). |
| break_minutes_per_hour | number | no | Minutes of stops per hour of moving, which stretches arrival times. |
| progress | object | no | For someone already on the route: how far along they are right now. The answer is for the rest of the route, starting now. Give distance_miles or distance_km, or a latitude and longitude. The position |
| preferences | object | no | Optional: { "feel": "runs_cold" | "runs_warm", "avoid": ["shorts"] }. |
| units | string | no | imperial (F, mph, inches) or metric (C, km/h, mm). Defaults to imperial in the United States and metric elsewhere. |
| start_time | string | no | When the trip starts. Defaults to now. Ignored when progress is given. An ISO 8601 time such as 2026-10-03T18:00:00-05:00 (read in the place's own time zone when it has no offset), or plain words: "no |
| activity | string | no | What the person is doing, if known. One of: walking, hiking, trail_running, road_running, cycling, camping, hunting, fishing, yard_work, construction, painting_finishing, general_outdoor. Plain words |
| intensity | string | no | How hard the effort is, which changes what to wear. Defaults to the usual effort for the activity. |
Lists the trails WTDS knows by name, with length, bounds and whether we have data on which sections are exposed. Use a trail's id as trail_id in get_trail_weather or route_weather. If a trail is not listed, send the route itself.
No parameter schema on file.
Compatibility tool for ChatGPT connectors. Finds places matching a query and returns ids to pass to fetch. For real use prefer get_weather, outdoor_activity_weather and the other tools, which answer directly.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | A place name, such as "Greenbush, WI". |
Compatibility tool for ChatGPT connectors. Returns the weather for an id from search. For real use prefer get_weather.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | An id from search, like place:43.79,-88.05. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Weather That Doesn't Suck or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Weather That Doesn't Suck can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.