FOSSology · Capability

FOSSology API — Search

FOSSology API — Search. 2 operations. Lead operation: Get the information of files matching the provided hashes. Self-contained Naftiko capability covering one Fossology business surface.

Run with Naftiko FossologySearch

What You Can Do

POST
Getfiles — Get the information of files matching the provided hashes
/v1/filesearch
GET
Searchfile — Search the FOSSology for a specific file
/v1/search

MCP Tools

get-information-files-matching-provided

Get the information of files matching the provided hashes

read-only
search-fossology-specific-file

Search the FOSSology for a specific file

read-only idempotent

Capability Spec

fossology-search.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FOSSology API — Search
  description: 'FOSSology API — Search. 2 operations. Lead operation: Get the information of files matching the provided hashes.
    Self-contained Naftiko capability covering one Fossology business surface.'
  tags:
  - Fossology
  - Search
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FOSSOLOGY_API_KEY: FOSSOLOGY_API_KEY
capability:
  consumes:
  - type: http
    namespace: fossology-search
    baseUri: http://localhost/repo/api/v1
    description: FOSSology API — Search business capability. Self-contained, no shared references.
    resources:
    - name: filesearch
      path: /filesearch
      operations:
      - name: getfiles
        method: POST
        description: Get the information of files matching the provided hashes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: search
      path: /search
      operations:
      - name: searchfile
        method: GET
        description: Search the FOSSology for a specific file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: groupName
          in: header
          type: string
          description: The group name to chose while performing search
        - name: searchType
          in: header
          type: string
          description: Limit search to
        - name: uploadId
          in: header
          type: integer
          description: Id of the upload to search files into
        - name: filename
          in: header
          type: string
          description: Filename to find, can contain % as wild-card
        - name: tag
          in: header
          type: string
          description: Tag to find
        - name: page
          in: header
          type: integer
          description: Page number (starts from 1)
        - name: limit
          in: header
          type: integer
          description: Limits of responses per request
        - name: filesizemin
          in: header
          type: integer
          description: Min filesize in bytes
        - name: filesizemax
          in: header
          type: integer
          description: Max filesize in bytes
        - name: license
          in: header
          type: string
          description: License search filter
        - name: copyright
          in: header
          type: string
          description: Copyright search filter
    authentication:
      type: bearer
      token: '{{env.FOSSOLOGY_API_KEY}}'
  exposes:
  - type: rest
    namespace: fossology-search-rest
    port: 8080
    description: REST adapter for FOSSology API — Search. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/filesearch
      name: filesearch
      description: REST surface for filesearch.
      operations:
      - method: POST
        name: getfiles
        description: Get the information of files matching the provided hashes
        call: fossology-search.getfiles
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search
      name: search
      description: REST surface for search.
      operations:
      - method: GET
        name: searchfile
        description: Search the FOSSology for a specific file
        call: fossology-search.searchfile
        with:
          groupName: rest.groupName
          searchType: rest.searchType
          uploadId: rest.uploadId
          filename: rest.filename
          tag: rest.tag
          page: rest.page
          limit: rest.limit
          filesizemin: rest.filesizemin
          filesizemax: rest.filesizemax
          license: rest.license
          copyright: rest.copyright
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: fossology-search-mcp
    port: 9090
    transport: http
    description: MCP adapter for FOSSology API — Search. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-information-files-matching-provided
      description: Get the information of files matching the provided hashes
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: fossology-search.getfiles
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: search-fossology-specific-file
      description: Search the FOSSology for a specific file
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-search.searchfile
      with:
        groupName: tools.groupName
        searchType: tools.searchType
        uploadId: tools.uploadId
        filename: tools.filename
        tag: tools.tag
        page: tools.page
        limit: tools.limit
        filesizemin: tools.filesizemin
        filesizemax: tools.filesizemax
        license: tools.license
        copyright: tools.copyright
      outputParameters:
      - type: object
        mapping: $.