{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "cyanheads-noaa-climate-mcp-server",
  "component": "noaa-climate",
  "generated_at": "2026-09-22T03:16:28.168Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 16,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a08380-2bf8-7d6b-b59c-c7fbc0ad962f",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 00:10:10.220957+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a08380-2bf8-7d6b-b59c-c7fbc0ad962f"
    },
    {
      "id": "chg_01a03640-475e-7c1e-9d40-f481da13ac84",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-25",
      "occurred_at": "2026-08-25 00:09:37.269229+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a03640-475e-7c1e-9d40-f481da13ac84"
    },
    {
      "id": "chg_01a01791-00ae-72ff-864f-c3414cc23a7e",
      "kind": "server.instructions_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "instructions",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 01:09:33.858555+00",
      "observed_since": "2026-08-19",
      "source": "scan",
      "summary": "The server rewrote its instructions, which are the text every model session reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a01791-00ae-72ff-864f-c3414cc23a7e"
    },
    {
      "id": "chg_01a016e3-a230-7dbd-b92f-6d861fdbf329",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "noaa_climate_find_locations",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "noaa_climate_find_locations"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 22:00:12.046586+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Tool “noaa_climate_find_locations” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a016e3-a230-7dbd-b92f-6d861fdbf329"
    },
    {
      "id": "chg_01a016e3-a22f-70a7-8900-883b26651f0e",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "noaa_climate_fetch_data",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "noaa_climate_fetch_data"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 22:00:12.046586+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Tool “noaa_climate_fetch_data” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a016e3-a22f-70a7-8900-883b26651f0e"
    },
    {
      "id": "chg_01a016e3-a234-71c0-afc8-0a1f192f0f32",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "noaa_climate_get_station",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "noaa_climate_get_station"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 22:00:12.046586+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Tool “noaa_climate_get_station” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a016e3-a234-71c0-afc8-0a1f192f0f32"
    },
    {
      "id": "chg_01a016e3-a232-74d5-b27d-77a2e8529dc1",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "noaa_climate_find_stations",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "noaa_climate_find_stations"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 22:00:12.046586+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Tool “noaa_climate_find_stations” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a016e3-a232-74d5-b27d-77a2e8529dc1"
    },
    {
      "id": "chg_01a016e3-a236-72f7-be27-b981b075bb0b",
      "kind": "server.instructions_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "instructions",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 22:00:12.046586+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "The server rewrote its instructions, which are the text every model session reads",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_01a016e3-a236-72f7-be27-b981b075bb0b"
    },
    {
      "id": "chg_019fe8fe-087b-7a5f-b22c-ec0a9713e7e2",
      "kind": "check.verdict",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_absent",
      "to_code": "headers.hsts_present",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 00:06:30.193575+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "HSTS header (fail → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fe8fe-087b-7a5f-b22c-ec0a9713e7e2"
    },
    {
      "id": "chg_019fe8fe-087e-7ec0-9266-b939ad45bee1",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.http_error",
      "to_code": "transport.verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 00:06:30.193575+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fe8fe-087e-7ec0-9266-b939ad45bee1"
    },
    {
      "id": "chg_019fe8fe-0884-7795-b6c2-408198f49b9d",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.none_undeclared",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "auth": "none",
        "undeclared_tools": "7"
      },
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 00:06:30.193575+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 7 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fe8fe-0884-7795-b6c2-408198f49b9d"
    },
    {
      "id": "chg_019fdeb1-8849-7c48-8f60-4abd69133da2",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.verified",
      "to_code": "transport.http_error",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "status": "530",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 00:06:44.528248+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fdeb1-8849-7c48-8f60-4abd69133da2"
    },
    {
      "id": "chg_019fdeb1-884a-7b18-b878-313d6b7db184",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.insufficient_history",
      "from_value": "0.40",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 00:06:44.528248+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Stability (0.40 → unverified)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fdeb1-884a-7b18-b878-313d6b7db184"
    },
    {
      "id": "chg_019fdeb1-884b-7005-b6bf-45e02d2973d3",
      "kind": "check.verdict",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_present",
      "to_code": "headers.hsts_absent",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 00:06:44.528248+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "HSTS header (pass → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fdeb1-884b-7005-b6bf-45e02d2973d3"
    },
    {
      "id": "chg_019fdeb1-884b-749b-a2d7-554c369a7661",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_undeclared",
      "to_code": "auth.none_unlisted",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 00:06:44.528248+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fdeb1-884b-749b-a2d7-554c369a7661"
    },
    {
      "id": "chg_019fdeb1-884c-7522-8bbd-8e755d5d652a",
      "kind": "capture.status_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "capture",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": "verified",
      "to_value": "not_mcp",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "not_mcp",
        "from": "verified"
      },
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 00:06:44.528248+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/cyanheads-noaa-climate-mcp-server/noaa-climate#chg-chg_019fdeb1-884c-7522-8bbd-8e755d5d652a"
    }
  ],
  "days": [
    {
      "date": "2026-09-16",
      "total": 82,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-09",
      "total": 82,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-07",
      "total": 81,
      "delta": -1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-26",
      "total": 82,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 81,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 4
    },
    {
      "date": "2026-08-19",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 4
    },
    {
      "date": "2026-08-18",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 20
    },
    {
      "date": "2026-08-11",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}