{
  "slug": "snyk",
  "name": "Snyk",
  "author": "snyk.io",
  "category": "Developer tools",
  "tier": "anchor",
  "kind": "stdio",
  "packageSpec": "npm:snyk@1.1308.3",
  "sourceUrl": "https://registry.modelcontextprotocol.io/v0/servers/io.snyk%2Fmcp/versions/latest",
  "repoUrl": "https://github.com/snyk/studio-mcp",
  "enrichment": {},
  "current": {
    "verdict": "degraded",
    "reason": "l2_failed",
    "failedChecks": [
      "L2.bad_input",
      "L2.bad_input"
    ],
    "untestedTools": 12,
    "checkedAt": "2026-10-29T07:03:01.650Z",
    "methodologyVersion": "1.0.0",
    "serverVersion": "1.1308.3",
    "checks": [
      {
        "id": "L0.reachable",
        "detail": "http undefined",
        "status": "pass",
        "durationMs": 56835
      },
      {
        "id": "L0.tls",
        "status": "skipped"
      },
      {
        "id": "L0.initialize",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{\"logging\":{},\"prompts\":{\"listChanged\":true},\"resources\":{\"subscribe\":true,\"listChanged\":true},\"tools\":{\"listChanged\":true}},\"serverInfo\":{\"name\":\"Snyk MCP Server\",\"version\":\"1.1308.3\"}}}"
        },
        "durationMs": 56835
      },
      {
        "id": "L0.protocol_version",
        "detail": "server reported \"2025-03-26\"; published versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25",
        "status": "pass"
      },
      {
        "id": "L0.capabilities",
        "detail": "logging, prompts, resources, tools",
        "status": "pass"
      },
      {
        "id": "L1.server_info",
        "detail": "Snyk MCP Server 1.1308.3",
        "status": "pass"
      },
      {
        "id": "L1.tools_list",
        "detail": "14 tools",
        "status": "pass"
      },
      {
        "id": "L1.tool_schemas",
        "detail": "14 schemas valid",
        "status": "pass"
      },
      {
        "id": "L1.resources_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.prompts_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.unknown_method",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":5,\"error\":{\"code\":-32601,\"message\":\"Method knot/verified-probe-unknown-method not found\"}}"
        },
        "durationMs": 2
      },
      {
        "id": "L1.envelope",
        "detail": "5 replies valid",
        "status": "pass"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_aibom",
        "detail": "sandbox argument refused: {\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}",
        "status": "untested",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":6,\"error\":{\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}}",
          "arguments": {
            "path": "knot-verified-probe"
          }
        },
        "durationMs": 3
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_auth",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_breakability_check",
        "detail": "mutation_description",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_code_scan",
        "detail": "sandbox argument refused: {\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}",
        "status": "untested",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":7,\"error\":{\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}}",
          "arguments": {
            "path": "knot-verified-probe"
          }
        },
        "durationMs": 2
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_container_scan",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":8,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"User not authenticated. Please run 'snyk_auth' first\"}]}}",
          "arguments": {
            "image": "knot-verified-probe"
          }
        },
        "durationMs": 97
      },
      {
        "id": "L2.bad_input",
        "tool": "snyk_container_scan",
        "detail": "invalid arguments were accepted or answered without a clean error",
        "status": "fail",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":9,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"User not authenticated. Please run 'snyk_auth' first\"}]}}",
          "arguments": {}
        },
        "durationMs": 82
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_iac_scan",
        "detail": "sandbox argument refused: {\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}",
        "status": "untested",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":10,\"error\":{\"code\":-32603,\"message\":\"failed to extract parameters from request: file does not exist, path: path, err: stat knot-verified-probe: no such file or directory\"}}",
          "arguments": {
            "path": "knot-verified-probe"
          }
        },
        "durationMs": 2
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_logout",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_package_health_check",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":11,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"User not authenticated. Please run 'snyk_auth' first\"}]}}",
          "arguments": {
            "ecosystem": "knot-verified-probe",
            "package_name": "knot-verified-probe"
          }
        },
        "durationMs": 87
      },
      {
        "id": "L2.bad_input",
        "tool": "snyk_package_health_check",
        "detail": "invalid arguments were accepted or answered without a clean error",
        "status": "fail",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":12,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"User not authenticated. Please run 'snyk_auth' first\"}]}}",
          "arguments": {}
        },
        "durationMs": 87
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_sbom_scan",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_sca_scan",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_secret_scan",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_send_feedback",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_trust",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "snyk_version",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.timeout",
        "detail": "5 calls answered within 30000 ms",
        "status": "pass"
      }
    ],
    "metrics": {
      "callMs": [
        3,
        2,
        97,
        82,
        2,
        87,
        87
      ],
      "toolsListMs": 11,
      "initializeMs": 56835
    },
    "facts": {
      "authModel": "none",
      "transport": "stdio",
      "capabilities": [
        "logging",
        "prompts",
        "resources",
        "tools"
      ],
      "toolAnnotations": {
        "readOnly": 11,
        "unmarked": 3,
        "destructive": 0
      },
      "credentialsInUrl": false
    }
  },
  "l3": {
    "uptime": {
      "24h": null,
      "7d": 1,
      "30d": 1
    },
    "sampleSize": {
      "24h": 0,
      "7d": 1,
      "30d": 1
    },
    "latency": {
      "initialize": {
        "p50": null,
        "p95": null
      },
      "calls": {
        "p50": 82,
        "p95": 97
      }
    },
    "flakiness": null,
    "versionDrift": []
  },
  "history": [
    {
      "startedAt": "2026-10-29T07:02:04.274Z",
      "runKind": "full",
      "l0Ok": true,
      "verdict": "degraded"
    }
  ]
}