{"$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-05T20:06:32.258Z","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo.md","server":{"slug":"pipeworx-io-open-meteo","name":"Open Meteo","registryName":"io.github.pipeworx-io/open-meteo","description":"Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pipeworx-mcp-open-meteo","type":"npm","identifier":"@pipeworx/mcp-open-meteo","withdrawn":false,"url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo","version":"0.2.1","transport":"stdio","scoredAt":"2026-11-05T08:44:05.121Z"},"score":{"total":80,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":80},{"date":"2026-11-04","total":80},{"date":"2026-11-03","total":64},{"date":"2026-11-02","total":77},{"date":"2026-11-01","total":77},{"date":"2026-10-31","total":77},{"date":"2026-10-30","total":77},{"date":"2026-10-29","total":77}]},"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":"unverified","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-open-meteo).","Clear OSI-approved license (MIT).","Actively maintained (last published 1 days ago).","Security-disclosure policy not yet verified: we couldn't inspect the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"pipeworx-io/mcp-open-meteo"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"1"}},{"code":"disclosure.repo_inconclusive","args":{"reason":"policy_probe_unavailable"}}]},{"name":"Schema Quality & AI Usability","score":59,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 1059 tokens (~176/item across 6 items; 6 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":"176","items":"6","tools":"6","tokens":"1059","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":84,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","52% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"52"}}]},{"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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 7 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":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"7","judged":"7"}}]},{"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":["Security-disclosure policy not yet verified: we couldn't inspect the source repository."],"malware":[],"components":[{"slug":"open-meteo-mcp","type":"remote","identifier":"https://gateway.pipeworx.io/open-meteo/mcp","withdrawn":false,"score":87,"current":false,"url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/open-meteo-mcp","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-open-meteo/open-meteo-mcp.md"},{"slug":"pipeworx-mcp-open-meteo","type":"npm","identifier":"@pipeworx/mcp-open-meteo","withdrawn":false,"score":80,"current":true,"url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@pipeworx/mcp-open-meteo"},{"label":"Version","value":"0.2.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"forecast","title":null,"description":"\"What's the weather in [city]\" / \"weather forecast for [location]\" / \"will it rain tomorrow\", \"rain chance / probability this week\" / \"temperature in [place] this week\" / \"wind / precipitation / humidity forecast\" — global weather forecast up to 16 days ahead, hourly or daily, at any lat/lng. Returns temperature, precipitation, wind, humidity, cloud cover, weather codes by default; pass hourly/daily arg for custom variables. Free, keyless, no signup (Open-Meteo / ECMWF + national weather services). Pair with geocode to convert \"Paris\" → lat/lng first.","inputs":[{"name":"daily","type":"string","required":false,"description":"Comma-separated daily variables. Default sensible set."},{"name":"forecast_days","type":"number","required":false,"description":"1-16 (default 7)"},{"name":"hourly","type":"string","required":false,"description":"Comma-separated hourly variables. Default sensible set."},{"name":"latitude","type":"number","required":true,"description":null},{"name":"longitude","type":"number","required":true,"description":null},{"name":"past_days","type":"number","required":false,"description":"0-92 (default 0)"},{"name":"temperature_unit","type":"string","required":false,"description":"celsius (default) | fahrenheit"},{"name":"timezone","type":"string","required":false,"description":"IANA timezone or \"auto\""},{"name":"wind_speed_unit","type":"string","required":false,"description":"kmh | ms | mph | kn"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":263},{"name":"historical","title":null,"description":"\"What was the weather on [date]\" / \"historical weather for [location]\" / \"temperature in [city] last summer\" / \"rainfall during [period]\" / \"past weather data\" — ERA5 reanalysis covering 1940-present at any global lat/lng. Returns hourly or daily temperature, precipitation, wind, humidity etc. for any date range. Use for climate analysis, retrospective event weather, or training data.","inputs":[{"name":"daily","type":"string","required":false,"description":null},{"name":"end_date","type":"string","required":true,"description":"YYYY-MM-DD"},{"name":"hourly","type":"string","required":false,"description":null},{"name":"latitude","type":"number","required":true,"description":null},{"name":"longitude","type":"number","required":true,"description":null},{"name":"start_date","type":"string","required":true,"description":"YYYY-MM-DD"},{"name":"timezone","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":154},{"name":"geocode","title":null,"description":"\"What are the coordinates of [city]\" / \"lat lng for [place]\" / \"find [town] location\" — resolve a place name (city, village, region) to lat/lng so the other Open-Meteo tools can use them. Free, keyless, multilingual; returns up to 100 matches ranked by population. Use before forecast / historical / air_quality / marine / flood when you only have a place name.","inputs":[{"name":"count","type":"number","required":false,"description":"Max results, 1-100 (default 10)"},{"name":"language","type":"string","required":false,"description":"ISO-639 lang for returned names (default en)"},{"name":"name","type":"string","required":true,"description":"Place name (any language)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":145},{"name":"air_quality","title":null,"description":"\"Air quality / AQI in [city]\" / \"is the air safe to breathe in [location]\" / \"pollution levels for [place]\" / \"smoke / smog / wildfire-smoke forecast\" / \"pollen forecast\" — global air quality and pollen forecast at any lat/lng. Returns PM2.5, PM10, ozone (O3), NO2, SO2, CO, dust, and pollen (alder/birch/grass/mugwort/olive/ragweed) up to 5 days ahead, plus European AQI / US AQI. Free, keyless.","inputs":[{"name":"forecast_days","type":"number","required":false,"description":"1-5 (default 5)"},{"name":"hourly","type":"string","required":false,"description":"Comma-separated variables. Default pm2_5,pm10,o3,no2,european_aqi"},{"name":"latitude","type":"number","required":true,"description":null},{"name":"longitude","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":194},{"name":"marine","title":null,"description":"\"Wave / swell / surf forecast for [beach]\" / \"sea conditions in [bay]\" / \"wave height at [coordinates]\" / \"is it safe to sail\" — global marine weather forecast (wave height, wave period, wave direction, wind waves, swell waves) at any ocean lat/lng. Free, keyless. Use for surf reports, sailing prep, fishing conditions, coastal planning.","inputs":[{"name":"forecast_days","type":"number","required":false,"description":null},{"name":"hourly","type":"string","required":false,"description":"Default wave_height,wave_period,wind_wave_height"},{"name":"latitude","type":"number","required":true,"description":null},{"name":"longitude","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":129},{"name":"flood","title":null,"description":"\"Flood risk for [river]\" / \"river discharge forecast\" / \"will [river] flood\" / \"water levels at [location]\" — daily river discharge forecast from the GloFAS global flood model. Returns predicted m³/s discharge up to 30 days ahead for any river-bearing lat/lng worldwide. Use for flood risk assessment, agriculture planning, hydrology research.","inputs":[{"name":"daily","type":"string","required":false,"description":"Default river_discharge"},{"name":"forecast_days","type":"number","required":false,"description":null},{"name":"latitude","type":"number","required":true,"description":null},{"name":"longitude","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:44:05.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_01a1aae1-289c-72ae-a592-d09c2ab09595","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1aae1-289c-72ae-a592-d09c2ab09595"},{"id":"chg_01a1a5b5-a43f-7149-b1ec-ec34fb190877","kind":"score.total_changed","summary":"Trust score (64 → 80)","materiality":"functional","direction":"improvement","scoreDelta":16,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a5b5-a43f-7149-b1ec-ec34fb190877"},{"id":"chg_01a1a5b5-a43d-76f9-a3cb-f45e9aef36cd","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a5b5-a43d-76f9-a3cb-f45e9aef36cd"},{"id":"chg_01a1a35d-3354-71cb-99f8-50d8fa42cc3c","kind":"score.total_changed","summary":"Trust score (77 → 64)","materiality":"functional","direction":"regression","scoreDelta":-13,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a35d-3354-71cb-99f8-50d8fa42cc3c"},{"id":"chg_01a1a35d-334f-7d6e-9292-a93e3dd1f7d2","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a35d-334f-7d6e-9292-a93e3dd1f7d2"},{"id":"chg_01a1a35d-3352-7d1b-ba76-3b6cfa3f509d","kind":"check.reverified","summary":"Stability (unverified → 0.17)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a35d-3352-7d1b-ba76-3b6cfa3f509d"},{"id":"chg_01a1a35d-3353-7480-a670-e7c5d8975363","kind":"package.version_changed","summary":"Package version (0.2.0 → 0.2.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1a35d-3353-7480-a670-e7c5d8975363"},{"id":"chg_01a18bf5-ff56-716f-a3f2-0277f7c33af4","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a18bf5-ff56-716f-a3f2-0277f7c33af4"},{"id":"chg_01a1870f-b3bb-79b2-bbc2-fe92a08d3ee7","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-open-meteo/pipeworx-mcp-open-meteo#chg-chg_01a1870f-b3bb-79b2-bbc2-fe92a08d3ee7"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo/changelog.json"},"links":{"html":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo","markdown":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo.md","changelogJson":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo/changelog.json","changelogRss":"https://verifymcp.io/servers/pipeworx-io-open-meteo/pipeworx-mcp-open-meteo.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@pipeworx/mcp-open-meteo"},{"label":"Socket report","href":"https://socket.dev/npm/package/@pipeworx/mcp-open-meteo"},{"label":"Repository","href":"https://github.com/pipeworx-io/mcp-open-meteo"},{"label":"Website","href":"https://pipeworx.io/packs/open-meteo"}]}}