Skip to content
Squatch MCP

io.github.cyanheads/open-meteo-mcp-server

io.github.cyanheads/open-meteo-mcp-server

by io.github.cyanheadsยท v0.6.0Source: Official MCP Registry

MCP Bill of Materials

A machine-readable inventory of what this server exposes and depends on: tools with their effects, transports, packages, findings and provenance (schema version 1.0). Third-party text in it is escaped. Also available from the REST API at /api/v1/servers/217f4b3c-5154-427c-beff-3c9754e8da07/mcbom.

MCP Bill of Materials

root{21}
schema_version: "1.0"
bom_format: "squatch-mcbom"
generator{3}
name: "squatch-mcp"
classifier_version: "rules_v1@2026-10-11.1"
unicode_version: "18.0.0"
server{7}
name: "io.github.cyanheads/open-meteo-mcp-server"
title: null
description: "Global weather via Open-Meteo: forecast, historical, marine, air quality, geocoding, elevation."
version: "0.6.0"
homepage_url: null
source: "official_registry"
upstream_status: "active"
publisher{4}
namespace: "io.github.cyanheads"
display_name: "io.github.cyanheads"
type: "registry_namespace"
status: "unclaimed"
organization: null
repository{5}
url: "https://github.com/cyanheads/open-meteo-mcp-server"
provider: "github"
owner: "cyanheads"
name: "open-meteo-mcp-server"
verified: false
packages[2]
0{4}
registry_type: "npm"
identifier: "@cyanheads/open-meteo-mcp-server"
version: "0.6.0"
transport: "stdio"
1{4}
registry_type: "npm"
identifier: "@cyanheads/open-meteo-mcp-server"
version: "0.6.0"
transport: "streamable-http"
transports[3]
0{5}
kind: "package"
type: "stdio"
endpoint_url: null
endpoint_host: null
auth_type: "unknown"
1{5}
kind: "package"
type: "streamable-http"
endpoint_url: null
endpoint_host: null
auth_type: "unknown"
2{5}
kind: "remote"
type: "streamable-http"
endpoint_url: "https://open-meteo.caseyjhand.com/mcp"
endpoint_host: "open-meteo.caseyjhand.com"
auth_type: "none"
auth{3}
type: "none"
authorization_servers[0]
scopes[0]
protocol{4}
era: "modern"
negotiated_version: "2026-07-28"
supported_versions[0]
transport_type: "streamable-http"
tools[11]
0{9}
name: "openmeteo_dataframe_describe"
title: "Openmeteo Dataframe Describe"
effect: "READ"
effect_confidence: 0.841
capabilities[0]
risk_severity: "INFO"
fingerprint: "8d10e2499f4c2ea3661eca6464e31bbc5fa8d2dd51a3c57512ffc0fa751788a5"
input_schema_fingerprint: "ea14a608fa0e7bef4798861a4dd636b8cdc050b397aa4988033a2b917e82c449"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
1{9}
name: "openmeteo_dataframe_query"
title: "Openmeteo Dataframe Query"
effect: "EXECUTE"
effect_confidence: 0.869
capabilities[1]
0{2}
capability: "DATABASE_ACCESS"
confidence: 0.648
risk_severity: "CRITICAL"
fingerprint: "a74a840deaace9cbb92efc75f65a8eb6d094c1377cfa31eda8e7a6bfc8c5085d"
input_schema_fingerprint: "dae174507f2cd0cd1d09c41cc42938729419b45970f03c32fccd9b762f773fed"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: null
openWorldHint: null
2{9}
name: "openmeteo_get_air_quality"
title: "Openmeteo Get Air Quality"
effect: "READ"
effect_confidence: 0.711
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.834
risk_severity: "LOW"
fingerprint: "9a21de0202ba4ea7853bb28a1793a11747d22222e1b4d3e910e9cb8babbf5a89"
input_schema_fingerprint: "98b2a4a28a800c949f7fc5ff600cec3d19a8199a7dc86d59c002ee9158fd89c1"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
3{9}
name: "openmeteo_get_climate"
title: "Openmeteo Get Climate"
effect: "READ"
effect_confidence: 0.66
capabilities[3]
0{2}
capability: "HR"
confidence: 0.53
1{2}
capability: "LOCATION"
confidence: 0.92
2{2}
capability: "PERSONAL_DATA"
confidence: 0.53
risk_severity: "MEDIUM"
fingerprint: "feb953bef265d7f90dc4fa55951e03803aa9f0b0582de35a92a66fc2d5a4c103"
input_schema_fingerprint: "9a983eeaa8abff01d76ed24633979618ee8d55ecaea8625cc4b1506ec565243f"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
4{9}
name: "openmeteo_get_elevation"
title: "Openmeteo Get Elevation"
effect: "READ"
effect_confidence: 0.66
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.872
risk_severity: "LOW"
fingerprint: "330d0dbc65510237b3bca3bcec4abf39d5608ce8a0b29898d1e37f1d13c5be08"
input_schema_fingerprint: "263051b95de6ae8de685e5224f27d3100246c5d303197ef2d1fbf9292f4a193d"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
5{9}
name: "openmeteo_get_ensemble"
title: "Openmeteo Get Ensemble"
effect: "READ"
effect_confidence: 0.711
capabilities[2]
0{2}
capability: "LOCATION"
confidence: 0.918
1{2}
capability: "PERSONAL_DATA"
confidence: 0.734
risk_severity: "LOW"
fingerprint: "eb82142c32f56e966d667e45a94983858c712c6074601dac57124f5b353d7806"
input_schema_fingerprint: "ecba4c42fd24da1ba60bf5b31cc23a563351b253ee42ba5fd82a3ec00749487a"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
6{9}
name: "openmeteo_get_flood"
title: "Openmeteo Get Flood"
effect: "READ"
effect_confidence: 0.66
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.915
risk_severity: "LOW"
fingerprint: "1ca7c35e6be4628b1a8ff946f8dc69c05cf5faa74e5531722c18e8e6bebfa4d4"
input_schema_fingerprint: "e7a0b52c3a7a3a4ba117f440a6e45e9066f15459358e9b626e4a266a3683c974"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
7{9}
name: "openmeteo_get_forecast"
title: "Openmeteo Get Forecast"
effect: "READ"
effect_confidence: 0.66
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.958
risk_severity: "LOW"
fingerprint: "4617709138d9584cf58f607221d65da6df01ff08249fce7bbcb76bf55d9dbcee"
input_schema_fingerprint: "a1f2a57e6a7c35ca2de6f496d96b95b9380693bfbf21470a48f273ad019b33db"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
8{9}
name: "openmeteo_get_historical"
title: "Openmeteo Get Historical"
effect: "READ"
effect_confidence: 0.66
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.887
risk_severity: "LOW"
fingerprint: "bbddc737a73d2599bfc016623b31ddaced13e9bb3151d4ce16900882b653ea1e"
input_schema_fingerprint: "75fd752fd8f8ebbf6f4320939a7e0f0c4e37a507eae3cf2fe7366b47c204ca6a"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
9{9}
name: "openmeteo_get_marine"
title: "Openmeteo Get Marine"
effect: "READ"
effect_confidence: 0.66
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.982
risk_severity: "LOW"
fingerprint: "cb496b4d03d4f7bada63e3a583ec382f73cc08518c86545897701f4409646863"
input_schema_fingerprint: "d4b74f200d12b59b3fa69f69aa6babe56e753d4f90eb76ac54f5473169d66cc1"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
10{9}
name: "openmeteo_search_locations"
title: "Openmeteo Search Locations"
effect: "READ"
effect_confidence: 0.841
capabilities[0]
risk_severity: "INFO"
fingerprint: "4162ec5b1e4a90b378bd81020b3df116b5161b032c52cb22c375bb5d7fe4674b"
input_schema_fingerprint: "3e2608c665ce72e08c114309d25d93e2633f552a193b5db9a4a28d924ece541b"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: null
resources[2]
0{4}
key: "skill://open-meteo-guide/SKILL.md"
kind: "resource"
mime_type: "text/markdown"
fingerprint: "1208ea8fda0d02b38c4277b55365b295668616e21daab737762c20a5f57866e7"
1{4}
key: "skill://{+path}"
kind: "template"
mime_type: null
fingerprint: "9777dc7f1cf468158c157032a0ccebf9b50270f4e8753af9ccaf2fe99890ccf0"
prompts[0]
extensions[1]
0: "io.modelcontextprotocol/skills"
data{6}
privacy_completeness: "not_provided"
data_categories[0]
ai_training: null
retention_policy: null
processing_regions[0]
subprocessors[0]
external_integrations[1]
0{3}
host: "open-meteo.caseyjhand.com"
registrable_domain: "caseyjhand.com"
source: "transport"
findings[5]
0{6}
check_id: "SQ-SERVER-AUTH-NONE-WRITE"
category: "authentication"
severity: "MEDIUM"
title: "State-changing tools available without authentication"
subject_type: "server"
subject_name: null
1{6}
check_id: "SQ-TOOL-ANNOTATION-UNDERCLAIM"
category: "annotations"
severity: "HIGH"
title: "Annotations understate what the tool does"
subject_type: "tool"
subject_name: "openmeteo_dataframe_query"
2{6}
check_id: "SQ-TOOL-LENGTH-ANOMALY"
category: "tool_design"
severity: "LOW"
title: "Unusually long model-facing text"
subject_type: "tool"
subject_name: "openmeteo_get_forecast"
3{6}
check_id: "SQ-TOOL-MIXED-SCRIPT"
category: "deceptive_metadata"
severity: "MEDIUM"
title: "Look-alike characters from mixed scripts"
subject_type: "tool"
subject_name: "openmeteo_get_air_quality"
4{6}
check_id: "SQ-TOOL-OVERLY-BROAD"
category: "tool_design"
severity: "MEDIUM"
title: "Runs arbitrary code with open-world access"
subject_type: "tool"
subject_name: "openmeteo_dataframe_query"
trust{9}
registry_namespace: "verified_upstream"
publisher_identity: "unverified"
organization: "unverified"
domain: "unverified"
repository: "unverified"
source_provenance: "partial"
security_scan: "findings_detected"
privacy_transparency: "not_provided"
monitoring: "active"
provenance{4}
registry_name: "io.github.cyanheads/open-meteo-mcp-server"
registry_content_sha256: "ad90944e5b06005aa65655a70d767664e42703d3a4f4d228745dc5c4a5e4d1b2"
scan_snapshot_fingerprint: "83250ca4652ee89c49400a857b8f193c70d840d9a784c37556cd89998b854625"
scanner_version: "1.0.0"
timestamps{4}
generated_at: "2026-11-15T02:14:57.360Z"
observed_at: "2026-11-10T11:42:10.608+00:00"
registry_published_at: "2026-11-10T10:24:16.81264+00:00"
registry_updated_at: null