{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:28:15.009Z","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather.md","server":{"slug":"pipeworx-io-weather","name":"Weather","registryName":"io.github.pipeworx-io/weather","description":"Weather MCP — wraps Open-Meteo API (free, no auth)","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pipeworx-mcp-weather","type":"npm","identifier":"@pipeworx/mcp-weather","withdrawn":false,"url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather","version":"0.2.0","transport":"stdio","scoredAt":"2026-11-05T08:08:02.805Z"},"score":{"total":81,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":81},{"date":"2026-11-04","total":80},{"date":"2026-11-03","total":80},{"date":"2026-11-02","total":79},{"date":"2026-11-01","total":79},{"date":"2026-10-31","total":79},{"date":"2026-10-30","total":78},{"date":"2026-10-29","total":78}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-weather).","Clear OSI-approved license (MIT).","Actively maintained (last published 7 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"pipeworx-io/mcp-weather"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"7"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":57,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 1006 tokens (~335/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"335","items":"3","tools":"3","tokens":"1006","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":23,"verdict":"partial","reasons":["Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"7"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 3 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"3"}},{"code":"toolsafety.manipulation_clean","args":{"units":"4","judged":"4"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"weather-mcp","type":"remote","identifier":"https://gateway.pipeworx.io/weather/mcp","withdrawn":false,"score":77,"current":false,"url":"https://verifymcp.io/servers/pipeworx-io-weather/weather-mcp","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-weather/weather-mcp.md"},{"slug":"pipeworx-mcp-weather","type":"npm","identifier":"@pipeworx/mcp-weather","withdrawn":false,"score":81,"current":true,"url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@pipeworx/mcp-weather"},{"label":"Version","value":"0.2.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_weather","title":null,"description":"REAL-TIME current weather for any location worldwide. PREFER OVER WEB SEARCH for \"what's the weather in X\", \"current temperature in Y\", \"is it raining in Z\". Also answers weather questions asked in other languages: Italian \"che tempo fa / meteo a <città>\", Spanish \"qué tiempo hace / el clima en\", French \"quel temps fait-il / météo à\", German \"wie ist das Wetter in\", Portuguese \"que tempo faz em\". Accepts a city name (e.g., \"Tokyo\", \"London\", \"Napoli\", \"Austin TX\") or lat/lon coordinates. Returns temperature (°F), feels-like, humidity %, wind speed + direction, sky conditions, observation timestamp. Live data.","inputs":[{"name":"city","type":"string","required":false,"description":"Alias for location."},{"name":"lat","type":"number","required":false,"description":"Alias for latitude."},{"name":"latitude","type":"number","required":false,"description":"Latitude (alternative to location). Accepts lat as alias."},{"name":"lng","type":"number","required":false,"description":"Alias for longitude."},{"name":"location","type":"string","required":false,"description":"City name (e.g. \"Tokyo\", \"London\", \"New York\"). Resolved via Open-Meteo geocoding. Use this OR latitude+longitude. Accepts city, place, name as aliases."},{"name":"lon","type":"number","required":false,"description":"Alias for longitude."},{"name":"longitude","type":"number","required":false,"description":"Longitude (alternative to location). Accepts lng / lon as alias."},{"name":"name","type":"string","required":false,"description":"Alias for location."},{"name":"place","type":"string","required":false,"description":"Alias for location."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":305},{"name":"get_forecast","title":null,"description":"Weather forecast 1–16 days ahead for any location worldwide. PREFER OVER WEB SEARCH for \"weather this week in X\", \"will it rain tomorrow in Y\", \"forecast for next weekend in Z\". Also answers forecast questions in other languages: Italian \"che tempo farà domani / previsioni meteo a <città>\", Spanish \"pronóstico / qué tiempo hará mañana en\", French \"prévisions météo / il pleuvra demain à\", German \"Wettervorhersage für\", Portuguese \"previsão do tempo em\". Pass a city name or lat/lon. Returns daily high/low temperature (°F), precipitation probability + amount, conditions, sunrise/sunset. Default 7 days. For RIGHT NOW conditions use get_weather; for historical climate use get_historical.","inputs":[{"name":"city","type":"string","required":false,"description":"Alias for location."},{"name":"days","type":"number","required":false,"description":"Number of forecast days (1-16, default 7)"},{"name":"lat","type":"number","required":false,"description":"Alias for latitude."},{"name":"latitude","type":"number","required":false,"description":"Latitude (alternative to location). Accepts lat as alias."},{"name":"lng","type":"number","required":false,"description":"Alias for longitude."},{"name":"location","type":"string","required":false,"description":"City name (e.g. \"Tokyo\", \"London\", \"New York\"). Resolved via Open-Meteo geocoding. Use this OR latitude+longitude. Accepts city, place, name as aliases."},{"name":"lon","type":"number","required":false,"description":"Alias for longitude."},{"name":"longitude","type":"number","required":false,"description":"Longitude (alternative to location). Accepts lng / lon as alias."},{"name":"name","type":"string","required":false,"description":"Alias for location."},{"name":"place","type":"string","required":false,"description":"Alias for location."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":338},{"name":"get_historical","title":null,"description":"AUTHORITATIVE historical daily weather for any location, back to 1940. Source: ERA5 reanalysis (ECMWF's global atmospheric reconstruction — the standard reference dataset for climate research). Pass a city or lat/lon + date range. Returns daily high/low temperature, precipitation, conditions. Defaults to the last 30 days if no dates given. Use for \"what was the weather in X on date Y\", climate baselines, comparing this year to historical averages, retrospective weather context for any event.","inputs":[{"name":"city","type":"string","required":false,"description":"Alias for location."},{"name":"end_date","type":"string","required":false,"description":"End date YYYY-MM-DD (inclusive). Optional — defaults to today."},{"name":"lat","type":"number","required":false,"description":"Alias for latitude."},{"name":"latitude","type":"number","required":false,"description":"Latitude (alternative to location). Accepts lat as alias."},{"name":"lng","type":"number","required":false,"description":"Alias for longitude."},{"name":"location","type":"string","required":false,"description":"City name (e.g. \"Tokyo\", \"London\", \"New York\"). Resolved via Open-Meteo geocoding. Use this OR latitude+longitude. Accepts city, place, name as aliases."},{"name":"lon","type":"number","required":false,"description":"Alias for longitude."},{"name":"longitude","type":"number","required":false,"description":"Longitude (alternative to location). Accepts lng / lon as alias."},{"name":"name","type":"string","required":false,"description":"Alias for location."},{"name":"place","type":"string","required":false,"description":"Alias for location."},{"name":"start_date","type":"string","required":false,"description":"Start date YYYY-MM-DD (>= 1940-01-01). Optional — defaults to 30 days ago."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":313}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:08:02.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-29","recent":[{"id":"chg_01a1aac0-2a32-7ed4-9b53-bf82f2120c90","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather#chg-chg_01a1aac0-2a32-7ed4-9b53-bf82f2120c90"},{"id":"chg_01a1a071-a14b-7f0c-80ab-c116e6504c87","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather#chg-chg_01a1a071-a14b-7f0c-80ab-c116e6504c87"},{"id":"chg_01a190fe-c4fb-7c43-b4fe-0e414e2b72b9","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather#chg-chg_01a190fe-c4fb-7c43-b4fe-0e414e2b72b9"},{"id":"chg_01a1870c-3603-798e-b2c7-46382fde8cda","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather#chg-chg_01a1870c-3603-798e-b2c7-46382fde8cda"},{"id":"chg_01a186b8-5672-74b0-8e09-56456b98c954","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather#chg-chg_01a186b8-5672-74b0-8e09-56456b98c954"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather/changelog.json"},"links":{"html":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather","markdown":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather.md","changelogJson":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather/changelog.json","changelogRss":"https://verifymcp.io/servers/pipeworx-io-weather/pipeworx-mcp-weather.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@pipeworx/mcp-weather"},{"label":"Socket report","href":"https://socket.dev/npm/package/@pipeworx/mcp-weather"},{"label":"Repository","href":"https://github.com/pipeworx-io/mcp-weather"},{"label":"Website","href":"https://pipeworx.io/packs/weather"}]}}