Nuclei · Capability

PDCP API — scan

PDCP API — scan. 5 operations. Lead operation: Get remediation efficiency stats. Self-contained Naftiko capability covering one Nuclei business surface.

Run with Naftiko Nucleiscan

What You Can Do

GET
Getv1scansremediationefficiency — Get remediation efficiency stats
/v1/v1/scans/remediation-efficiency
POST
Postv1scansvalidate — Validate scan token before starting scan
/v1/v1/scans/validate
GET
Getv1scansvulnsexposuresmetrics — Get scan vuln exposure metrics
/v1/v1/scans/vulns/exposures/metrics
GET
Getv1scansvulnsregressionmetrics — Get scan vuln regression metrics
/v1/v1/scans/vulns/regression/metrics
GET
Getv1scansvulnsremediationmetrics — Get scan vuln remediation metrics
/v1/v1/scans/vulns/remediation/metrics

MCP Tools

get-remediation-efficiency-stats

Get remediation efficiency stats

read-only idempotent
validate-scan-token-before-starting

Validate scan token before starting scan

read-only
get-scan-vuln-exposure-metrics

Get scan vuln exposure metrics

read-only idempotent
get-scan-vuln-regression-metrics

Get scan vuln regression metrics

read-only idempotent
get-scan-vuln-remediation-metrics

Get scan vuln remediation metrics

read-only idempotent

Capability Spec

nuclei-scan.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PDCP API — scan
  description: 'PDCP API — scan. 5 operations. Lead operation: Get remediation efficiency stats. Self-contained Naftiko capability
    covering one Nuclei business surface.'
  tags:
  - Nuclei
  - scan
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NUCLEI_API_KEY: NUCLEI_API_KEY
capability:
  consumes:
  - type: http
    namespace: nuclei-scan
    baseUri: https://api.projectdiscovery.io
    description: PDCP API — scan business capability. Self-contained, no shared references.
    resources:
    - name: v1-scans-remediation-efficiency
      path: /v1/scans/remediation-efficiency
      operations:
      - name: getv1scansremediationefficiency
        method: GET
        description: Get remediation efficiency stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    - name: v1-scans-validate
      path: /v1/scans/validate
      operations:
      - name: postv1scansvalidate
        method: POST
        description: Validate scan token before starting scan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-scans-vulns-exposures-metrics
      path: /v1/scans/vulns/exposures/metrics
      operations:
      - name: getv1scansvulnsexposuresmetrics
        method: GET
        description: Get scan vuln exposure metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: interval
          in: query
          type: string
          description: The time interval for the metrics
          required: true
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    - name: v1-scans-vulns-regression-metrics
      path: /v1/scans/vulns/regression/metrics
      operations:
      - name: getv1scansvulnsregressionmetrics
        method: GET
        description: Get scan vuln regression metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: interval
          in: query
          type: string
          description: The time interval for the metrics
          required: true
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    - name: v1-scans-vulns-remediation-metrics
      path: /v1/scans/vulns/remediation/metrics
      operations:
      - name: getv1scansvulnsremediationmetrics
        method: GET
        description: Get scan vuln remediation metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: interval
          in: query
          type: string
          description: The time interval for the metrics
          required: true
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.NUCLEI_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: nuclei-scan-rest
    port: 8080
    description: REST adapter for PDCP API — scan. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/v1/scans/remediation-efficiency
      name: v1-scans-remediation-efficiency
      description: REST surface for v1-scans-remediation-efficiency.
      operations:
      - method: GET
        name: getv1scansremediationefficiency
        description: Get remediation efficiency stats
        call: nuclei-scan.getv1scansremediationefficiency
        with:
          X-Team-Id: rest.X-Team-Id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/scans/validate
      name: v1-scans-validate
      description: REST surface for v1-scans-validate.
      operations:
      - method: POST
        name: postv1scansvalidate
        description: Validate scan token before starting scan
        call: nuclei-scan.postv1scansvalidate
        with:
          X-Team-Id: rest.X-Team-Id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/scans/vulns/exposures/metrics
      name: v1-scans-vulns-exposures-metrics
      description: REST surface for v1-scans-vulns-exposures-metrics.
      operations:
      - method: GET
        name: getv1scansvulnsexposuresmetrics
        description: Get scan vuln exposure metrics
        call: nuclei-scan.getv1scansvulnsexposuresmetrics
        with:
          interval: rest.interval
          X-Team-Id: rest.X-Team-Id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/scans/vulns/regression/metrics
      name: v1-scans-vulns-regression-metrics
      description: REST surface for v1-scans-vulns-regression-metrics.
      operations:
      - method: GET
        name: getv1scansvulnsregressionmetrics
        description: Get scan vuln regression metrics
        call: nuclei-scan.getv1scansvulnsregressionmetrics
        with:
          interval: rest.interval
          X-Team-Id: rest.X-Team-Id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/scans/vulns/remediation/metrics
      name: v1-scans-vulns-remediation-metrics
      description: REST surface for v1-scans-vulns-remediation-metrics.
      operations:
      - method: GET
        name: getv1scansvulnsremediationmetrics
        description: Get scan vuln remediation metrics
        call: nuclei-scan.getv1scansvulnsremediationmetrics
        with:
          interval: rest.interval
          X-Team-Id: rest.X-Team-Id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: nuclei-scan-mcp
    port: 9090
    transport: http
    description: MCP adapter for PDCP API — scan. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-remediation-efficiency-stats
      description: Get remediation efficiency stats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-scan.getv1scansremediationefficiency
      with:
        X-Team-Id: tools.X-Team-Id
      outputParameters:
      - type: object
        mapping: $.
    - name: validate-scan-token-before-starting
      description: Validate scan token before starting scan
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: nuclei-scan.postv1scansvalidate
      with:
        X-Team-Id: tools.X-Team-Id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-scan-vuln-exposure-metrics
      description: Get scan vuln exposure metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-scan.getv1scansvulnsexposuresmetrics
      with:
        interval: tools.interval
        X-Team-Id: tools.X-Team-Id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-scan-vuln-regression-metrics
      description: Get scan vuln regression metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-scan.getv1scansvulnsregressionmetrics
      with:
        interval: tools.interval
        X-Team-Id: tools.X-Team-Id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-scan-vuln-remediation-metrics
      description: Get scan vuln remediation metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-scan.getv1scansvulnsremediationmetrics
      with:
        interval: tools.interval
        X-Team-Id: tools.X-Team-Id
      outputParameters:
      - type: object
        mapping: $.