{
  "from": "2026-11-06T12:17:33Z",
  "to": "2026-11-13T12:17:33Z",
  "window_days": 7,
  "servers_with_tools": 24971,
  "servers_changed": 5301,
  "changes": 8702,
  "redefined_only": 6069,
  "redefined_only_servers": 4282,
  "changes_adding_tools": 2509,
  "changes_removing_tools": 693,
  "gained_authority": 188,
  "servers_redefining_same_tools_repeatedly": 378,
  "server_version": {
    "counted_since": "2026-11-07T21:36:43Z",
    "known": 7877,
    "same_version": 6683,
    "version_changed": 1194
  },
  "servers_flagged_now": 221,
  "instructions": {
    "tracked_since": "2026-11-07T22:06:59Z",
    "servers_sending_instructions": 18304,
    "servers_changed_in_window": 4217
  },
  "changes_feed": "https://alalanet.com/v1/feed?type=tools_changed",
  "check_a_tool_set": "POST https://alalanet.com/v1/tool-digest {url, tools} or the MCP tool verify_tools",
  "method": "Every remote MCP server listed in the public registries that answers without auth has its tools/list read about once a day. A change is a new tool-set digest (name, title, annotations.title, description, inputSchema, outputSchema and annotation hints per tool, schemas re-encoded with sorted keys), signed into the public log (kind 4305) with both digests and the tools added, removed or changed. redefined_only: no tool added or removed, at least one existing tool changed. gained_authority: a tool kept its name and lost readOnlyHint or gained destructiveHint or openWorldHint. server_version compares the serverInfo name and version at the last read of the old set with the first read of the new one, only for changes whose old set was read after counted_since; same_version means the server changed its tools without changing serverInfo. instructions: servers whose initialize instructions text changed within the window. Figures are recomputed every 10 minutes; every change links to its signed entry in the feed.",
  "computed_at": "2026-11-13T12:17:33Z"
}
