{
 "server": "com.courseprofiler/courseprofiler",
 "url": "https://courseprofiler.com/mcp",
 "verdict": "CRITICAL findings present",
 "current_tool_count": 26,
 "tools_ever_seen": 26,
 "drift_events": 26,
 "findings_by_severity": {
  "critical": 4,
  "high": 5,
  "low": 3
 },
 "last_probe": {
  "status": "OK",
  "n_tools": 26,
  "ran_at": "2026-10-22T18:17:43.445Z"
 },
 "current_tools": [
  "analyze_activity",
  "assess_finish_time_goal",
  "build_runner_profile_from_strava",
  "compare_execution",
  "compare_pacing_strategies",
  "create_race_plan",
  "enrich_course_waypoints",
  "export_race_plan_pdf",
  "generate_course_segments",
  "generate_runner_profile",
  "get_activity_submission",
  "get_artifact",
  "get_artifact_upload_requirements",
  "get_course_submission_requirements",
  "get_job",
  "get_race_plan_requirements",
  "get_runner_profile_requirements",
  "get_storage_readiness",
  "import_course",
  "import_profile_attachment",
  "inspect_analysis",
  "inspect_runner_profile",
  "search_race_catalog",
  "submit_course",
  "validate_course_profile",
  "validate_runner_profile"
 ],
 "drift": [
  {
   "tool": "create_race_plan",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "search_race_catalog",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "import_course",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "enrich_course_waypoints",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_course_segments",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_runner_profile",
   "kind": "mutated",
   "severity": "critical",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "submit_course",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_course_submission_requirements",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_race_plan_requirements",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_runner_profile_requirements",
   "kind": "mutated",
   "severity": "medium",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_artifact_upload_requirements",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_job",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_artifact",
   "kind": "mutated",
   "severity": "medium",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "validate_course_profile",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "validate_runner_profile",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "export_race_plan_pdf",
   "kind": "mutated",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "build_runner_profile_from_strava",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "analyze_activity",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "inspect_analysis",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "compare_execution",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "inspect_runner_profile",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "assess_finish_time_goal",
   "kind": "added",
   "severity": "critical",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "compare_pacing_strategies",
   "kind": "added",
   "severity": "critical",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "import_profile_attachment",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_storage_readiness",
   "kind": "added",
   "severity": "info",
   "detected_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_activity_submission",
   "kind": "added",
   "severity": "high",
   "detected_at": "2026-10-22T18:17:43.445Z"
  }
 ],
 "findings": [
  {
   "tool": "create_race_plan",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "oaded .usrprof source_file artifacts; do not silently use all local files. Ask about intent only when unclear; profile",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "create_race_plan",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'search_race_catalog'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "search_race_catalog",
   "detector": "model_directed_instruction",
   "severity": "high",
   "field": "outputSchema.properties.matches.items.properties.requires_confirmation.description",
   "evidence": "t/course/location identity must be confirmed before using the CRSProf URL.",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "import_course",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_job'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "enrich_course_waypoints",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'import_course'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_course_segments",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_race_plan'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_runner_profile",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "lection only if not already explicit. Do not silently use every local file. profile_intent is advisory: the server doe",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_runner_profile",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "description",
   "evidence": "runner_profile_from_strava and never ask for credentials or tokens. Follow its browser-consent/job flow. Pass the genera",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "generate_runner_profile",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_race_plan'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "submit_course",
   "detector": "url_in_description",
   "severity": "low",
   "field": "inputSchema.properties.metadata.properties.event.properties.competitions.description",
   "evidence": "https://www.goldentrailseries.com/",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "submit_course",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_race_plan'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_course_submission_requirements",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'submit_course'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_race_plan_requirements",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_race_plan'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_artifact_upload_requirements",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_job",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "validate_course_profile",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "validate_runner_profile",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "export_race_plan_pdf",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_job'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "build_runner_profile_from_strava",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "description",
   "evidence": "itly ask whether to merge or replace. Strava credentials are never accepted through MCP: this tool returns a private one",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "build_runner_profile_from_strava",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'create_race_plan'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "analyze_activity",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "description",
   "evidence": "_token} requires the server feature enabled; API keys are optional. Persist the private caller/key before submission,",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "analyze_activity",
   "detector": "url_in_description",
   "severity": "low",
   "field": "description",
   "evidence": "https://courseprofiler.com/agent-upload.html.",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "analyze_activity",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_job'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "inspect_analysis",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'analyze_activity'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "compare_execution",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_job'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "inspect_runner_profile",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'import_profile_attachment'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "assess_finish_time_goal",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "ration require explicit user approval, never silently retry with permission. Returns canonical support/classifications",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "assess_finish_time_goal",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "compare_pacing_strategies",
   "detector": "user_concealment",
   "severity": "critical",
   "field": "description",
   "evidence": "ration require explicit user approval, never silently retry with permission. Returns bounded canonical alternatives an",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "compare_pacing_strategies",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'get_artifact'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "import_profile_attachment",
   "detector": "url_in_description",
   "severity": "low",
   "field": "description",
   "evidence": "https://courseprofiler.com/agent-upload.html",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "import_profile_attachment",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'inspect_runner_profile'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_activity_submission",
   "detector": "secret_material_reference",
   "severity": "high",
   "field": "inputSchema.properties.idempotency.properties.caller_token.description",
   "evidence": "mitting; never expose in URLs/logs. Omit for API-key identity.",
   "seen_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "tool": "get_activity_submission",
   "detector": "cross_tool_reference",
   "severity": "high",
   "field": "description",
   "evidence": "references sibling tool 'analyze_activity'",
   "seen_at": "2026-10-22T18:17:43.445Z"
  }
 ],
 "probes": [
  {
   "status": "OK",
   "n_tools": 26,
   "ran_at": "2026-10-22T18:17:43.445Z"
  },
  {
   "status": "OK",
   "n_tools": 16,
   "ran_at": "2026-08-13T12:17:15.844Z"
  }
 ]
}