{
  "v": 1,
  "title": "MCP Tool Risk Labels",
  "slug": "mcp-tool-annotations",
  "edition": "2026-10",
  "label": "October 2026",
  "number": 1,
  "first": true,
  "published": "2026-10-06",
  "data_day": "2026-10-06",
  "license": "CC BY 4.0",
  "sample": {
    "servers_listed": 22800,
    "servers_answering": 14900,
    "servers_with_tools": 14900,
    "distinct_lists": 14300,
    "tools_listed": 266700,
    "tools": 126900,
    "acting_tools": 18500,
    "high_risk_tools": 5900
  },
  "headline": [
    {
      "key": "high_not_destructive",
      "value": 66.3,
      "label": "of tools that delete, move money, run code or change access are not marked destructive"
    },
    {
      "key": "delete_not_destructive",
      "value": 36,
      "label": "of tools that delete or erase are not marked destructive"
    },
    {
      "key": "acting_no_annotations",
      "value": 29.6,
      "label": "of tools that change something carry no annotations at all"
    },
    {
      "key": "servers_high_none_marked",
      "value": 35.3,
      "label": "of servers with high-risk tools mark none of them destructive"
    }
  ],
  "overall": {
    "tools_annotated": {
      "key": "tools_annotated",
      "label": "Tools with any annotation",
      "count": 83000,
      "base": 126900,
      "pct": 65.4
    },
    "levels": [
      {
        "key": "read",
        "label": "Read-only",
        "count": 71600,
        "base": 126900,
        "pct": 56.4
      },
      {
        "key": "change",
        "label": "Needs approval",
        "count": 45900,
        "base": 126900,
        "pct": 36.2
      },
      {
        "key": "high",
        "label": "High risk",
        "count": 9400,
        "base": 126900,
        "pct": 7.4
      }
    ]
  },
  "acting": {
    "n": 18500,
    "states": [
      {
        "key": "no_annotations",
        "label": "No annotations at all",
        "count": 5500,
        "base": 18500,
        "pct": 29.6
      },
      {
        "key": "other_hints",
        "label": "Annotated, but says nothing about changes",
        "count": 80,
        "base": 18500,
        "pct": 0.4
      },
      {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": 230,
        "base": 18500,
        "pct": 1.2
      },
      {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 3900,
        "base": 18500,
        "pct": 21.1
      },
      {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 7000,
        "base": 18500,
        "pct": 37.8
      },
      {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 1800,
        "base": 18500,
        "pct": 9.9
      }
    ]
  },
  "high_risk": {
    "n": 5900,
    "not_marked_destructive": {
      "key": "not_marked_destructive",
      "label": "Not marked destructive",
      "count": 3900,
      "base": 5900,
      "pct": 66.3
    },
    "no_annotations": {
      "key": "no_annotations",
      "label": "No annotations at all",
      "count": 1800,
      "base": 5900,
      "pct": 30.7
    },
    "says_not_destructive_or_read_only": {
      "key": "understated",
      "label": "Labelled read-only or not destructive",
      "count": 2000,
      "base": 5900,
      "pct": 34.1
    }
  },
  "categories": [
    {
      "key": "delete",
      "label": "Delete or erase",
      "high_risk": true,
      "tools": 1900,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 500,
        "base": 1900,
        "pct": 26.2
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 1200,
        "base": 1900,
        "pct": 64
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 150,
        "base": 1900,
        "pct": 8
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": 20,
        "base": 1900,
        "pct": 1.2
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": null,
        "base": 1900,
        "pct": null,
        "suppressed": true
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": 0,
        "base": 1900,
        "pct": 0
      }
    },
    {
      "key": "money",
      "label": "Move money",
      "high_risk": true,
      "tools": 1000,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 350,
        "base": 1000,
        "pct": 34.6
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 130,
        "base": 1000,
        "pct": 12.8
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 300,
        "base": 1000,
        "pct": 29.5
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": null,
        "base": 1000,
        "pct": null,
        "suppressed": true
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 220,
        "base": 1000,
        "pct": 21.4
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": 0,
        "base": 1000,
        "pct": 0
      }
    },
    {
      "key": "run",
      "label": "Run code or deploy",
      "high_risk": true,
      "tools": 1300,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 350,
        "base": 1300,
        "pct": 27.6
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 190,
        "base": 1300,
        "pct": 14.8
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 400,
        "base": 1300,
        "pct": 31.5
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": null,
        "base": 1300,
        "pct": null,
        "suppressed": true
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 310,
        "base": 1300,
        "pct": 24.6
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": null,
        "base": 1300,
        "pct": null,
        "suppressed": true
      }
    },
    {
      "key": "access",
      "label": "Change access or accounts",
      "high_risk": true,
      "tools": 930,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 290,
        "base": 930,
        "pct": 31.1
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 400,
        "base": 930,
        "pct": 42.4
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 160,
        "base": 930,
        "pct": 16.8
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": null,
        "base": 930,
        "pct": null,
        "suppressed": true
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 70,
        "base": 930,
        "pct": 7.6
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": null,
        "base": 930,
        "pct": null,
        "suppressed": true
      }
    },
    {
      "key": "other_high",
      "label": "Other high-risk actions",
      "high_risk": true,
      "tools": 840,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 340,
        "base": 840,
        "pct": 40.4
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 80,
        "base": 840,
        "pct": 9.2
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 130,
        "base": 840,
        "pct": 14.8
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": null,
        "base": 840,
        "pct": null,
        "suppressed": true
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 290,
        "base": 840,
        "pct": 34.5
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": null,
        "base": 840,
        "pct": null,
        "suppressed": true
      }
    },
    {
      "key": "send",
      "label": "Send or post",
      "high_risk": false,
      "tools": 1900,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 650,
        "base": 1900,
        "pct": 33.3
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 220,
        "base": 1900,
        "pct": 11.2
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 630,
        "base": 1900,
        "pct": 32.5
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": 40,
        "base": 1900,
        "pct": 1.8
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 400,
        "base": 1900,
        "pct": 20.8
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": null,
        "base": 1900,
        "pct": null,
        "suppressed": true
      }
    },
    {
      "key": "write",
      "label": "Create or edit",
      "high_risk": false,
      "tools": 10600,
      "no_annotations": {
        "key": "no_annotations",
        "label": "No annotations",
        "count": 3000,
        "base": 10600,
        "pct": 28.3
      },
      "marked_destructive": {
        "key": "marked_destructive",
        "label": "Marked destructive",
        "count": 1700,
        "base": 10600,
        "pct": 15.8
      },
      "says_not_destructive": {
        "key": "says_not_destructive",
        "label": "Says not destructive",
        "count": 5200,
        "base": 10600,
        "pct": 49.3
      },
      "says_changes": {
        "key": "says_changes",
        "label": "Says it changes data, destructive not stated",
        "count": 130,
        "base": 10600,
        "pct": 1.2
      },
      "says_read_only": {
        "key": "says_read_only",
        "label": "Says read-only",
        "count": 520,
        "base": 10600,
        "pct": 4.9
      },
      "other_hints": {
        "key": "other_hints",
        "label": "Other hints only",
        "count": 50,
        "base": 10600,
        "pct": 0.5
      }
    }
  ],
  "servers": {
    "n": 14300,
    "any_annotations": {
      "key": "any_annotations",
      "label": "Publish annotations on any tool",
      "count": 8100,
      "base": 14300,
      "pct": 56.8
    },
    "acting_none_annotated": {
      "key": "acting_none_annotated",
      "label": "Have tools that change something, none annotated",
      "count": 1600,
      "base": 5600,
      "pct": 28.6
    },
    "high_none_marked": {
      "key": "high_none_marked",
      "label": "Have high-risk tools, none marked destructive",
      "count": 1300,
      "base": 3800,
      "pct": 35.3
    },
    "with_high": {
      "key": "with_high",
      "label": "Have at least one high-risk tool",
      "count": 3800,
      "base": 14300,
      "pct": 26.5
    }
  },
  "mismatch": {
    "read_only_but_changes": {
      "key": "read_only_but_changes",
      "label": "Say read-only, name says it changes something",
      "count": 1500,
      "base": 126900,
      "pct": 1.2
    },
    "not_destructive_but_risky": {
      "key": "not_destructive_but_risky",
      "label": "Say not destructive, name says high risk",
      "count": 1500,
      "base": 126900,
      "pct": 1.2
    }
  }
}
