Nuclei · Capability

PDCP API — domains

PDCP API — domains. 2 operations. Lead operation: Get Enumeration Domain Contents. Self-contained Naftiko capability covering one Nuclei business surface.

Run with Naftiko Nucleidomains

What You Can Do

GET
Getv1assetdomaindomainnamecontents — Get Enumeration Domain Contents
/v1/v1/asset/domain/{domain-name}
GET
Getv1assetdomaindomainnamefilters — Group assets by filters for an domain
/v1/v1/asset/domain/{domain-name}/filters

MCP Tools

get-enumeration-domain-contents

Get Enumeration Domain Contents

read-only idempotent
group-assets-filters-domain

Group assets by filters for an domain

read-only idempotent

Capability Spec

nuclei-domains.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PDCP API — domains
  description: 'PDCP API — domains. 2 operations. Lead operation: Get Enumeration Domain Contents. Self-contained Naftiko
    capability covering one Nuclei business surface.'
  tags:
  - Nuclei
  - domains
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NUCLEI_API_KEY: NUCLEI_API_KEY
capability:
  consumes:
  - type: http
    namespace: nuclei-domains
    baseUri: https://api.projectdiscovery.io
    description: PDCP API — domains business capability. Self-contained, no shared references.
    resources:
    - name: v1-asset-domain-domain_name
      path: /v1/asset/domain/{domain_name}
      operations:
      - name: getv1assetdomaindomainnamecontents
        method: GET
        description: Get Enumeration Domain Contents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: integer
          description: The number of items to skip before starting to collect the result set
        - name: limit
          in: query
          type: integer
          description: The numbers of items to return
        - name: is_tech
          in: query
          type: boolean
          description: Return records that have technologies
        - name: is_favicon
          in: query
          type: boolean
          description: Return the records that have favicon
        - name: search
          in: query
          type: string
          description: Search on the content name
        - name: labels
          in: query
          type: string
          description: Filter by comma separated labels, e.g-> labels=p1,p2
        - name: is_new
          in: query
          type: boolean
          description: Filter by new content
        - name: host
          in: query
          type: string
          description: Filter by comma separated hosts, e.g-> host=p1,p2
        - name: port
          in: query
          type: string
          description: Filter by comma separated ports, e.g-> port=p1,p2
        - name: status_code
          in: query
          type: string
          description: Filter by comma separated status codes, e.g-> status_code=p1,p2
        - name: title
          in: query
          type: string
          description: Filter by comma separated titles, e.g-> title=p1,p2
        - name: content_length
          in: query
          type: string
          description: Filter by comma separated content lengths, e.g-> content_length=p1,p2
        - name: cname
          in: query
          type: string
          description: cname to filter
        - name: technologies
          in: query
          type: string
          description: technologies to filter
        - name: ip
          in: query
          type: string
          description: ips to filter
        - name: sort_asc
          in: query
          type: string
          description: comma separated ascending sorting e.g sort_asc=created_at,name
        - name: sort_desc
          in: query
          type: string
          description: comma separated descending sorting e.g sort_desc=created_at,name
        - name: is_screenshot
          in: query
          type: boolean
          description: asset with screenshots
        - name: time
          in: query
          type: string
          description: time filter to select
        - name: start_date
          in: query
          type: string
          description: time filter start date
        - name: end_date
          in: query
          type: string
          description: time filter end date
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
        - name: custom_filter
          in: query
          type: string
          description: custom query to filter. double encode the query string.
        - name: favicon
          in: query
          type: string
          description: Filter by comma separated favicons, e.g-> favicon=p1,p2
    - name: v1-asset-domain-domain_name-filters
      path: /v1/asset/domain/{domain_name}/filters
      operations:
      - name: getv1assetdomaindomainnamefilters
        method: GET
        description: Group assets by filters for an domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: integer
          description: The number of items to skip before starting to collect the result set
        - name: limit
          in: query
          type: integer
          description: The numbers of items to return
        - name: host
          in: query
          type: string
        - name: port
          in: query
          type: string
        - name: ip
          in: query
          type: string
        - name: cname
          in: query
          type: string
        - name: technologies
          in: query
          type: string
        - name: status_code
          in: query
          type: string
        - name: content_length
          in: query
          type: string
        - name: domain
          in: query
          type: array
        - name: title
          in: query
          type: string
        - name: webserver
          in: query
          type: string
        - name: labels
          in: query
          type: string
        - name: favicon
          in: query
          type: string
        - name: group_by
          in: query
          type: string
          description: Group by type. e.g. - host, port, favicon.
          required: true
        - name: sort_asc
          in: query
          type: string
          description: supported sort fields
        - name: sort_desc
          in: query
          type: string
          description: supported sort fields
        - name: time
          in: query
          type: string
          description: time filter to select
        - name: start_date
          in: query
          type: string
          description: time filter start date
        - name: end_date
          in: query
          type: string
          description: time filter end date
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
        - name: is_screenshot
          in: query
          type: boolean
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.NUCLEI_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: nuclei-domains-rest
    port: 8080
    description: REST adapter for PDCP API — domains. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/asset/domain/{domain-name}
      name: v1-asset-domain-domain-name
      description: REST surface for v1-asset-domain-domain_name.
      operations:
      - method: GET
        name: getv1assetdomaindomainnamecontents
        description: Get Enumeration Domain Contents
        call: nuclei-domains.getv1assetdomaindomainnamecontents
        with:
          offset: rest.offset
          limit: rest.limit
          is_tech: rest.is_tech
          is_favicon: rest.is_favicon
          search: rest.search
          labels: rest.labels
          is_new: rest.is_new
          host: rest.host
          port: rest.port
          status_code: rest.status_code
          title: rest.title
          content_length: rest.content_length
          cname: rest.cname
          technologies: rest.technologies
          ip: rest.ip
          sort_asc: rest.sort_asc
          sort_desc: rest.sort_desc
          is_screenshot: rest.is_screenshot
          time: rest.time
          start_date: rest.start_date
          end_date: rest.end_date
          X-Team-Id: rest.X-Team-Id
          custom_filter: rest.custom_filter
          favicon: rest.favicon
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/asset/domain/{domain-name}/filters
      name: v1-asset-domain-domain-name-filters
      description: REST surface for v1-asset-domain-domain_name-filters.
      operations:
      - method: GET
        name: getv1assetdomaindomainnamefilters
        description: Group assets by filters for an domain
        call: nuclei-domains.getv1assetdomaindomainnamefilters
        with:
          offset: rest.offset
          limit: rest.limit
          host: rest.host
          port: rest.port
          ip: rest.ip
          cname: rest.cname
          technologies: rest.technologies
          status_code: rest.status_code
          content_length: rest.content_length
          domain: rest.domain
          title: rest.title
          webserver: rest.webserver
          labels: rest.labels
          favicon: rest.favicon
          group_by: rest.group_by
          sort_asc: rest.sort_asc
          sort_desc: rest.sort_desc
          time: rest.time
          start_date: rest.start_date
          end_date: rest.end_date
          X-Team-Id: rest.X-Team-Id
          is_screenshot: rest.is_screenshot
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: nuclei-domains-mcp
    port: 9090
    transport: http
    description: MCP adapter for PDCP API — domains. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-enumeration-domain-contents
      description: Get Enumeration Domain Contents
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-domains.getv1assetdomaindomainnamecontents
      with:
        offset: tools.offset
        limit: tools.limit
        is_tech: tools.is_tech
        is_favicon: tools.is_favicon
        search: tools.search
        labels: tools.labels
        is_new: tools.is_new
        host: tools.host
        port: tools.port
        status_code: tools.status_code
        title: tools.title
        content_length: tools.content_length
        cname: tools.cname
        technologies: tools.technologies
        ip: tools.ip
        sort_asc: tools.sort_asc
        sort_desc: tools.sort_desc
        is_screenshot: tools.is_screenshot
        time: tools.time
        start_date: tools.start_date
        end_date: tools.end_date
        X-Team-Id: tools.X-Team-Id
        custom_filter: tools.custom_filter
        favicon: tools.favicon
      outputParameters:
      - type: object
        mapping: $.
    - name: group-assets-filters-domain
      description: Group assets by filters for an domain
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-domains.getv1assetdomaindomainnamefilters
      with:
        offset: tools.offset
        limit: tools.limit
        host: tools.host
        port: tools.port
        ip: tools.ip
        cname: tools.cname
        technologies: tools.technologies
        status_code: tools.status_code
        content_length: tools.content_length
        domain: tools.domain
        title: tools.title
        webserver: tools.webserver
        labels: tools.labels
        favicon: tools.favicon
        group_by: tools.group_by
        sort_asc: tools.sort_asc
        sort_desc: tools.sort_desc
        time: tools.time
        start_date: tools.start_date
        end_date: tools.end_date
        X-Team-Id: tools.X-Team-Id
        is_screenshot: tools.is_screenshot
      outputParameters:
      - type: object
        mapping: $.