{
 "server": "dev.3tg/mcp",
 "url": "https://mcp.3tg.dev/mcp",
 "verdict": "CRITICAL findings present",
 "current_tool_count": 10,
 "tools_ever_seen": 10,
 "drift_events": 10,
 "findings_by_severity": {
  "critical": 6,
  "high": 8,
  "low": 2
 },
 "last_probe": {
  "status": "OK",
  "n_tools": 10,
  "ran_at": "2026-10-25T06:17:42.965Z"
 },
 "current_tools": [
  "create_agent_instructions",
  "create_mock_for_function",
  "create_spec",
  "create_spec_for_function",
  "create_tests",
  "create_tests_from_spec",
  "get_client_info",
  "help",
  "validate_config",
  "validate_spec"
 ],
 "drift": [
  {
   "tool": "create_tests",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests_from_spec",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec_for_function",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_mock_for_function",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "validate_spec",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "validate_config",
   "kind": "mutated",
   "severity": "medium",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "get_client_info",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_agent_instructions",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "help",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-23T12:22:17.959Z"
  }
 ],
 "findings": [
  {
   "tool": "create_tests",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "er can copy-paste them. Never report success silently when the write didn't happen.",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "se's `files` array. After this tool returns, you MUST iterate over `files` and write each entry's `content` verbatim t",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests",
   "detector": "url_in_description",
   "severity": "low",
   "field": "description",
   "evidence": "https://3tg.dev.",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_spec'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "er can copy-paste them. Never report success silently when the write didn't happen.",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "\")`), and string literals are single-quoted. Always call this tool to emit the scaffold; the user can then edit rows. Th",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests_from_spec",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "low A artifact), 3TG's `-c` precedence would silently override the spec-derived values during the second-stage emit, d",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests_from_spec",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "se's `files` array. After this tool returns, you MUST iterate over `files` and write each entry's `content` verbatim t",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_tests_from_spec",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec_for_function",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "er can copy-paste them. Never report success silently when the write didn't happen.",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec_for_function",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": ", throws use single quotes (`throws 'msg'`). Always call this tool to emit the scaffold; the user can then edit rows. Qu",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_spec_for_function",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_mock_for_function",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "er can copy-paste them. Never report success silently when the write didn't happen.",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_mock_for_function",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "se's `files` array. After this tool returns, you MUST iterate over `files` and write each entry's `content` verbatim t",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_mock_for_function",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "validate_spec",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "` to catch the mistakes that would otherwise silently produce broken or empty test files. WHY THIS EXISTS: 3TG's spec",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "validate_spec",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "get_client_info",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "description",
   "evidence": "p__3tg__configure` before saving it to `.3tg/credentials.json`. - Reporting current quota / plan to the user. - Pre-",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "get_client_info",
   "detector": "url_in_description",
   "severity": "low",
   "field": "outputSchema.properties.exhausted.description",
   "evidence": "https://3tg.dev",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "get_client_info",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_tests'",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "create_agent_instructions",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "e / set up 3TG agent instructions\" requests. You MUST call this tool — do NOT write the instructions from your trainin",
   "seen_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "tool": "help",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "description",
   "evidence": "ce for \"how do I use the 3TG MCP\" questions. You MUST call this tool — do NOT answer from your training data — wheneve",
   "seen_at": "2026-10-23T12:22:17.959Z"
  }
 ],
 "probes": [
  {
   "status": "OK",
   "n_tools": 10,
   "ran_at": "2026-10-25T06:17:42.965Z"
  },
  {
   "status": "OK",
   "n_tools": 10,
   "ran_at": "2026-10-23T12:22:17.959Z"
  },
  {
   "status": "OK",
   "n_tools": 10,
   "ran_at": "2026-08-14T18:17:15.840Z"
  },
  {
   "status": "NO_TOOLS",
   "n_tools": 0,
   "ran_at": "2026-08-14T12:17:15.842Z"
  },
  {
   "status": "NO_TOOLS",
   "n_tools": 0,
   "ran_at": "2026-08-14T06:17:15.856Z"
  }
 ]
}