{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "spfunctions-simplefunctions",
  "component": "api-mcp-mcp",
  "generated_at": "2026-09-24T13:00:00.533Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 7,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0cc01-3d3c-7b8e-af5c-07b176e6ca6e",
      "kind": "check.reverified",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.unreachable",
      "to_code": "toolsafety.injection_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-23",
      "occurred_at": "2026-09-23 02:03:48.327138+00",
      "observed_since": "2026-09-22",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0cc01-3d3c-7b8e-af5c-07b176e6ca6e"
    },
    {
      "id": "chg_01a0cc01-3d3d-7a11-97bc-3bd16bf98cfa",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.churn",
      "to_code": "stability.stable",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-23",
      "occurred_at": "2026-09-23 02:03:48.327138+00",
      "observed_since": "2026-09-22",
      "source": "scan",
      "summary": "Stability (fail → pass)",
      "link": "https://verifymcp.io/servers/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0cc01-3d3d-7a11-97bc-3bd16bf98cfa"
    },
    {
      "id": "chg_01a0cc01-3d3e-7275-a04c-d8c965daef6b",
      "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": "108"
      },
      "occurred_on": "2026-09-23",
      "occurred_at": "2026-09-23 02:03:48.327138+00",
      "observed_since": "2026-09-22",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 108 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/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0cc01-3d3e-7275-a04c-d8c965daef6b"
    },
    {
      "id": "chg_01a0c6db-2bb6-7213-a3ce-5704725d22f4",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.stable",
      "to_code": "stability.churn",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "days": "30",
        "added": "0",
        "breaks": "0",
        "removed": "108",
        "auth_transport": "0"
      },
      "occurred_on": "2026-09-22",
      "occurred_at": "2026-09-22 02:04:07.392663+00",
      "observed_since": "2026-09-21",
      "source": "scan",
      "summary": "Stability (pass → fail)",
      "link": "https://verifymcp.io/servers/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0c6db-2bb6-7213-a3ce-5704725d22f4"
    },
    {
      "id": "chg_01a0c6db-2bb7-771f-96be-d64ec6160c93",
      "kind": "check.unverifiable",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.injection_clean",
      "to_code": "toolsafety.unreachable",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-22",
      "occurred_at": "2026-09-22 02:04:07.392663+00",
      "observed_since": "2026-09-21",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0c6db-2bb7-771f-96be-d64ec6160c93"
    },
    {
      "id": "chg_01a0c6db-2bb7-7e55-bf4e-429a780332df",
      "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-09-22",
      "occurred_at": "2026-09-22 02:04:07.392663+00",
      "observed_since": "2026-09-21",
      "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/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a0c6db-2bb7-7e55-bf4e-429a780332df"
    },
    {
      "id": "chg_01a036aa-f2da-7476-ae6b-a8967fed0f80",
      "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 02:06:08.012941+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/spfunctions-simplefunctions/api-mcp-mcp#chg-chg_01a036aa-f2da-7476-ae6b-a8967fed0f80"
    }
  ],
  "days": [
    {
      "date": "2026-09-23",
      "total": 79,
      "delta": 40,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 8
    },
    {
      "date": "2026-09-22",
      "total": 39,
      "delta": -40,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 8
    },
    {
      "date": "2026-08-26",
      "total": 79,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-11",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-07-31",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-07-27",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-07-26",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 0
    }
  ]
}