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.
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
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: $.