{
 "server": "gg.batru/batru-mcp",
 "url": "https://batru.gg/mcp",
 "verdict": "CRITICAL findings present",
 "current_tool_count": 17,
 "tools_ever_seen": 34,
 "drift_events": 51,
 "findings_by_severity": {
  "critical": 1,
  "high": 32
 },
 "last_probe": {
  "status": "OK",
  "n_tools": 17,
  "ran_at": "2026-10-25T06:17:42.965Z"
 },
 "current_tools": [
  "analyze_draft",
  "fetch",
  "get_ban_rates",
  "get_counters",
  "get_hero_momentum",
  "get_matchup",
  "get_model_track_record",
  "get_more_tools",
  "get_synergy",
  "get_tier_list",
  "get_tournament_game_stats",
  "get_tournament_stats",
  "lookup_hero",
  "predict_winrate",
  "predict_winrate_batch",
  "recommend_pick",
  "search"
 ],
 "drift": [
  {
   "tool": "predict_dota_winrate",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "recommend_dota_pick",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_deadlock_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_deadlock_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_marvel_rivals_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_marvel_rivals_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_marvel_rivals_synergy",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "predict_deadlock_draft",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "predict_marvel_rivals_draft",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_synergy",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_matchup",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_tier_list_by_rank",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_dota_hero_momentum",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_deadlock_ban_rates",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "get_marvel_rivals_ban_rates",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "tool": "lookup_hero",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_model_track_record",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "analyze_draft",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate_batch",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "recommend_pick",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tier_list",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_counters",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_synergy",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_matchup",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_hero_momentum",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_ban_rates",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_stats",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_game_stats",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "search",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "fetch",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_more_tools",
   "kind": "mutated",
   "severity": "medium",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_dota_winrate",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "recommend_dota_pick",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_deadlock_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_deadlock_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_marvel_rivals_tier_list",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_marvel_rivals_counters",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_marvel_rivals_synergy",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_deadlock_draft",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_marvel_rivals_draft",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_synergy",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_matchup",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_tier_list_by_rank",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_dota_hero_momentum",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_deadlock_ban_rates",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_marvel_rivals_ban_rates",
   "kind": "removed",
   "severity": "info",
   "detected_at": "2026-10-23T06:17:43.230Z"
  }
 ],
 "findings": [
  {
   "tool": "lookup_hero",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "alling the prediction tools. The backend SILENTLY DROPS hero names it doesn't recognise, so always normalise first",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "lookup_hero",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "ge\") into the exact key batru.gg expects before calling the prediction tools. The backend SILENTLY DROPS hero names it d",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "lookup_hero",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_model_track_record",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_model_track_record",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "analyze_draft",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "analyze_draft",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "analyze_draft",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'lookup_hero'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'lookup_hero'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate_batch",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate_batch",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "predict_winrate_batch",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'predict_winrate'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "recommend_pick",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "recommend_pick",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "recommend_pick",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'predict_winrate'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tier_list",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tier_list",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_counters",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_counters",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_counters",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'lookup_hero'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_synergy",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_synergy",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_synergy",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'lookup_hero'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_matchup",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_matchup",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_hero_momentum",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_hero_momentum",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_ban_rates",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_ban_rates",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_ban_rates",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_tournament_stats'",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_stats",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_stats",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_game_stats",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "get_tournament_game_stats",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "search",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "search",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "fetch",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "upports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER inclu",
   "seen_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "tool": "fetch",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.context.description",
   "evidence": "g names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a us",
   "seen_at": "2026-10-23T06:17:43.230Z"
  }
 ],
 "probes": [
  {
   "status": "OK",
   "n_tools": 17,
   "ran_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "status": "OK",
   "n_tools": 17,
   "ran_at": "2026-10-23T06:17:43.230Z"
  },
  {
   "status": "OK",
   "n_tools": 20,
   "ran_at": "2026-08-14T06:17:15.856Z"
  }
 ]
}