Sonatype Nexus · Capability
Sonatype Nexus Repository Manager — Search
Sonatype Nexus Repository Manager — Search. 3 operations. Lead operation: Search components. Self-contained Naftiko capability covering one Sonatype Nexus business surface.
What You Can Do
GET
Search
— Search components
/v1/v1/search
GET
Searchassets
— Search assets
/v1/v1/search/assets
GET
Searchanddownloadassets
— Search and download asset
/v1/v1/search/assets/download
MCP Tools
search-components
Search components
read-only
idempotent
search-assets
Search assets
read-only
idempotent
search-and-download-asset
Search and download asset
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Sonatype Nexus Repository Manager — Search
description: 'Sonatype Nexus Repository Manager — Search. 3 operations. Lead operation: Search components. Self-contained
Naftiko capability covering one Sonatype Nexus business surface.'
tags:
- Sonatype Nexus
- Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SONATYPE_NEXUS_API_KEY: SONATYPE_NEXUS_API_KEY
capability:
consumes:
- type: http
namespace: repository-search
baseUri: ''
description: Sonatype Nexus Repository Manager — Search business capability. Self-contained, no shared references.
resources:
- name: v1-search
path: /v1/search
operations:
- name: search
method: GET
description: Search components
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: continuationToken
in: query
type: string
description: A token returned by a prior request. If present, the next page of results are returned
- name: sort
in: query
type: string
description: The field to sort the results against, if left empty, a sort based on match weight will be used.
- name: direction
in: query
type: string
description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version,
which defaults to descending ('desc')
- name: timeout
in: query
type: integer
description: How long to wait for search results in seconds. If this value is not provided, the system default timeout
will be used.
- name: q
in: query
type: string
description: Query by keyword
- name: repository
in: query
type: string
description: Repository name
- name: format
in: query
type: string
description: Query by format
- name: group
in: query
type: string
description: Component group
- name: name
in: query
type: string
description: Component name
- name: version
in: query
type: string
description: Component version
- name: prerelease
in: query
type: string
description: Prerelease version flag
- name: last_updated
in: query
type: string
description: Asset last modified time
- name: lastBlobUpdated
in: query
type: string
description: Asset last modified time (UI)
- name: md5
in: query
type: string
description: Specific MD5 hash of component's asset
- name: sha1
in: query
type: string
description: Specific SHA-1 hash of component's asset
- name: sha256
in: query
type: string
description: Specific SHA-256 hash of component's asset
- name: sha512
in: query
type: string
description: Specific SHA-512 hash of component's asset
- name: composer.vendor
in: query
type: string
description: Vendor
- name: composer.package
in: query
type: string
description: Package
- name: composer.version
in: query
type: string
description: Version
- name: conan.baseVersion
in: query
type: string
description: Conan base version
- name: conan.channel
in: query
type: string
description: Conan channel
- name: conan.revision
in: query
type: string
description: Conan recipe revision
- name: conan.packageId
in: query
type: string
description: Conan package id
- name: conan.packageRevision
in: query
type: string
description: Conan package revision
- name: conan.baseVersion.strict
in: query
type: string
description: Conan base version strict
- name: conan.revision.latest
in: query
type: string
description: Return latest revision
- name: conan.settings.arch
in: query
type: string
description: Conan arch
- name: conan.settings.os
in: query
type: string
description: Conan os
- name: conan.settings.compiler
in: query
type: string
description: Conan compiler
- name: conan.settings.compiler.version
in: query
type: string
description: Conan compiler version
- name: conan.settings.compiler.runtime
in: query
type: string
description: Conan compiler runtime
- name: docker.imageName
in: query
type: string
description: Docker image name
- name: docker.imageTag
in: query
type: string
description: Docker image tag
- name: docker.layerId
in: query
type: string
description: Docker layer ID
- name: docker.contentDigest
in: query
type: string
description: Docker content digest
- name: maven.groupId
in: query
type: string
description: Maven groupId
- name: maven.artifactId
in: query
type: string
description: Maven artifactId
- name: maven.baseVersion
in: query
type: string
description: Maven base version
- name: maven.extension
in: query
type: string
description: Maven extension of component's asset
- name: maven.classifier
in: query
type: string
description: Maven classifier of component's asset
- name: gavec
in: query
type: string
description: Group asset version extension classifier
- name: npm.scope
in: query
type: string
description: npm scope
- name: npm.author
in: query
type: string
description: npm author
- name: npm.description
in: query
type: string
description: npm description
- name: npm.keywords
in: query
type: string
description: npm keywords
- name: npm.license
in: query
type: string
description: npm license
- name: npm.tagged_is
in: query
type: string
description: npm tagged is
- name: npm.tagged_not
in: query
type: string
description: npm tagged not
- name: nuget.id
in: query
type: string
description: NuGet id
- name: nuget.tags
in: query
type: string
description: NuGet tags
- name: nuget.title
in: query
type: string
description: NuGet title
- name: nuget.authors
in: query
type: string
description: NuGet authors
- name: nuget.description
in: query
type: string
description: NuGet description
- name: nuget.summary
in: query
type: string
description: NuGet summary
- name: nuget.is_prerelease
in: query
type: string
description: NuGet prerelease
- name: p2.pluginName
in: query
type: string
description: p2 plugin name
- name: pypi.classifiers
in: query
type: string
description: PyPI classifiers
- name: pypi.description
in: query
type: string
description: PyPI description
- name: pypi.keywords
in: query
type: string
description: PyPI keywords
- name: pypi.summary
in: query
type: string
description: PyPI summary
- name: rubygems.description
in: query
type: string
description: RubyGems description
- name: rubygems.platform
in: query
type: string
description: RubyGems platform
- name: rubygems.summary
in: query
type: string
description: RubyGems summary
- name: swift.scope
in: query
type: string
description: swift scope
- name: swift.asset_kind
in: query
type: string
description: swift asset kind
- name: tag
in: query
type: string
description: Component tag
- name: terraform.provider
in: query
type: string
description: terraform provider
- name: terraform.namespace
in: query
type: string
description: terraform namespace
- name: terraform.name
in: query
type: string
description: terraform name
- name: yum.architecture
in: query
type: string
description: Yum architecture
- name: yum.name
in: query
type: string
description: Yum package name
- name: v1-search-assets
path: /v1/search/assets
operations:
- name: searchassets
method: GET
description: Search assets
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: continuationToken
in: query
type: string
description: A token returned by a prior request. If present, the next page of results are returned
- name: sort
in: query
type: string
description: The field to sort the results against, if left empty, a sort based on match weight will be used.
- name: direction
in: query
type: string
description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version,
which defaults to descending ('desc')
- name: timeout
in: query
type: integer
description: How long to wait for search results in seconds. If this value is not provided, the system default timeout
will be used.
- name: q
in: query
type: string
description: Query by keyword
- name: repository
in: query
type: string
description: Repository name
- name: format
in: query
type: string
description: Query by format
- name: group
in: query
type: string
description: Component group
- name: name
in: query
type: string
description: Component name
- name: version
in: query
type: string
description: Component version
- name: prerelease
in: query
type: string
description: Prerelease version flag
- name: last_updated
in: query
type: string
description: Asset last modified time
- name: lastBlobUpdated
in: query
type: string
description: Asset last modified time (UI)
- name: md5
in: query
type: string
description: Specific MD5 hash of component's asset
- name: sha1
in: query
type: string
description: Specific SHA-1 hash of component's asset
- name: sha256
in: query
type: string
description: Specific SHA-256 hash of component's asset
- name: sha512
in: query
type: string
description: Specific SHA-512 hash of component's asset
- name: composer.vendor
in: query
type: string
description: Vendor
- name: composer.package
in: query
type: string
description: Package
- name: composer.version
in: query
type: string
description: Version
- name: conan.baseVersion
in: query
type: string
description: Conan base version
- name: conan.channel
in: query
type: string
description: Conan channel
- name: conan.revision
in: query
type: string
description: Conan recipe revision
- name: conan.packageId
in: query
type: string
description: Conan package id
- name: conan.packageRevision
in: query
type: string
description: Conan package revision
- name: conan.baseVersion.strict
in: query
type: string
description: Conan base version strict
- name: conan.revision.latest
in: query
type: string
description: Return latest revision
- name: conan.settings.arch
in: query
type: string
description: Conan arch
- name: conan.settings.os
in: query
type: string
description: Conan os
- name: conan.settings.compiler
in: query
type: string
description: Conan compiler
- name: conan.settings.compiler.version
in: query
type: string
description: Conan compiler version
- name: conan.settings.compiler.runtime
in: query
type: string
description: Conan compiler runtime
- name: docker.imageName
in: query
type: string
description: Docker image name
- name: docker.imageTag
in: query
type: string
description: Docker image tag
- name: docker.layerId
in: query
type: string
description: Docker layer ID
- name: docker.contentDigest
in: query
type: string
description: Docker content digest
- name: maven.groupId
in: query
type: string
description: Maven groupId
- name: maven.artifactId
in: query
type: string
description: Maven artifactId
- name: maven.baseVersion
in: query
type: string
description: Maven base version
- name: maven.extension
in: query
type: string
description: Maven extension of component's asset
- name: maven.classifier
in: query
type: string
description: Maven classifier of component's asset
- name: gavec
in: query
type: string
description: Group asset version extension classifier
- name: npm.scope
in: query
type: string
description: npm scope
- name: npm.author
in: query
type: string
description: npm author
- name: npm.description
in: query
type: string
description: npm description
- name: npm.keywords
in: query
type: string
description: npm keywords
- name: npm.license
in: query
type: string
description: npm license
- name: npm.tagged_is
in: query
type: string
description: npm tagged is
- name: npm.tagged_not
in: query
type: string
description: npm tagged not
- name: nuget.id
in: query
type: string
description: NuGet id
- name: nuget.tags
in: query
type: string
description: NuGet tags
- name: nuget.title
in: query
type: string
description: NuGet title
- name: nuget.authors
in: query
type: string
description: NuGet authors
- name: nuget.description
in: query
type: string
description: NuGet description
- name: nuget.summary
in: query
type: string
description: NuGet summary
- name: nuget.is_prerelease
in: query
type: string
description: NuGet prerelease
- name: p2.pluginName
in: query
type: string
description: p2 plugin name
- name: pypi.classifiers
in: query
type: string
description: PyPI classifiers
- name: pypi.description
in: query
type: string
description: PyPI description
- name: pypi.keywords
in: query
type: string
description: PyPI keywords
- name: pypi.summary
in: query
type: string
description: PyPI summary
- name: rubygems.description
in: query
type: string
description: RubyGems description
- name: rubygems.platform
in: query
type: string
description: RubyGems platform
- name: rubygems.summary
in: query
type: string
description: RubyGems summary
- name: swift.scope
in: query
type: string
description: swift scope
- name: swift.asset_kind
in: query
type: string
description: swift asset kind
- name: tag
in: query
type: string
description: Component tag
- name: terraform.provider
in: query
type: string
description: terraform provider
- name: terraform.namespace
in: query
type: string
description: terraform namespace
- name: terraform.name
in: query
type: string
description: terraform name
- name: yum.architecture
in: query
type: string
description: Yum architecture
- name: yum.name
in: query
type: string
description: Yum package name
- name: v1-search-assets-download
path: /v1/search/assets/download
operations:
- name: searchanddownloadassets
method: GET
description: Search and download asset
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sort
in: query
type: string
description: The field to sort the results against, if left empty and more than 1 result is returned, the request
will fail.
- name: direction
in: query
type: string
description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version,
which defaults to descending ('desc')
- name: timeout
in: query
type: integer
description: How long to wait for search results in seconds. If this value is not provided, the system default timeout
will be used.
- name: q
in: query
type: string
description: Query by keyword
- name: repository
in: query
type: string
description: Repository name
- name: format
in: query
type: string
description: Query by format
- name: group
in: query
type: string
description: Component group
- name: name
in: query
type: string
description: Component name
- name: version
in: query
type: string
description: Component version
- name: prerelease
in: query
type: string
description: Prerelease version flag
- name: last_updated
in: query
type: string
description: Asset last modified time
- name: lastBlobUpdated
in: query
type: string
description: Asset last modified time (UI)
- name: md5
in: query
type: string
description: Specific MD5 hash of component's asset
- name: sha1
in: query
type: string
description: Specific SHA-1 hash of component's asset
- name: sha256
in: query
type: string
description: Specific SHA-256 hash of component's asset
- name: sha512
in: query
type: string
description: Specific SHA-512 hash of component's asset
- name: composer.vendor
in: query
type: string
description: Vendor
- name: composer.package
in: query
type: string
description: Package
- name: composer.version
in: query
type: string
description: Version
- name: conan.baseVersion
in: query
type: string
description: Conan base version
- name: conan.channel
in: query
type: string
description: Conan channel
- name: conan.revision
in: query
type: string
description: Conan recipe revision
- name: conan.packageId
in: query
type: string
description: Conan package id
- name: conan.packageRevision
in: query
type: string
description: Conan package revision
- name: conan.baseVersion.strict
in: query
type: string
description: Conan base version strict
- name: conan.revision.latest
in: query
type: string
description: Return latest revision
- name: conan.settings.arch
in: query
type: string
description: Conan arch
- name: conan.settings.os
in: query
type: string
description: Conan os
- name: conan.settings.compiler
in: query
type: string
description: Conan compiler
- name: conan.settings.compiler.version
in: query
type: string
description: Conan compiler version
- name: conan.settings.compiler.runtime
in: query
type: string
description: Conan compiler runtime
- name: docker.imageName
in: query
type: string
description: Docker image name
- name: docker.imageTag
in: query
type: string
description: Docker image tag
- name: docker.layerId
in: query
type: string
description: Docker layer ID
- name: docker.contentDigest
in: query
type: string
description: Docker content digest
- name: maven.groupId
in: query
type: string
description: Maven groupId
- name: maven.artifactId
in: query
type: string
description: Maven artifactId
- name: maven.baseVersion
in: query
type: string
description: Maven base version
- name: maven.extension
in: query
type: string
description: Maven extension of component's asset
- name: maven.classifier
in: query
type: string
description: Maven classifier of component's asset
- name: gavec
in: query
type: string
description: Group asset version extension classifier
- name: npm.scope
in: query
type: string
description: npm scope
- name: npm.author
in: query
type: string
description: npm author
- name: npm.description
in: query
type: string
description: npm description
- name: npm.keywords
in: query
type: string
description: npm keywords
- name: npm.license
in: query
type: string
description: npm license
- name: npm.tagged_is
in: query
type: string
description: npm tagged is
- name: npm.tagged_not
in: query
type: string
description: npm tagged not
- name: nuget.id
in: query
type: string
description: NuGet id
- name: nuget.tags
in: query
type: string
description: NuGet tags
- name: nuget.title
in: query
type: string
description: NuGet title
- name: nuget.authors
in: query
type: string
description: NuGet authors
- name: nuget.description
in: query
type: string
description: NuGet description
- name: nuget.summary
in: query
type: string
description: NuGet summary
- name: nuget.is_prerelease
in: query
type: string
description: NuGet prerelease
- name: p2.pluginName
in: query
type: string
description: p2 plugin name
- name: pypi.classifiers
in: query
type: string
description: PyPI classifiers
- name: pypi.description
in: query
type: string
description: PyPI description
- name: pypi.keywords
in: query
type: string
description: PyPI keywords
- name: pypi.summary
in: query
type: string
description: PyPI summary
- name: rubygems.description
in: query
type: string
description: RubyGems description
- name: rubygems.platform
in: query
type: string
description: RubyGems platform
- name: rubygems.summary
in: query
type: string
description: RubyGems summary
- name: swift.scope
in: query
type: string
description: swift scope
- name: swift.asset_kind
in: query
type: string
description: swift asset kind
- name: tag
in: query
type: string
description: Component tag
- name: terraform.provider
in: query
type: string
description: terraform provider
- name: terraform.namespace
in: query
type: string
description: terraform namespace
- name: terraform.name
in: query
type: string
description: terraform name
- name: yum.architecture
in: query
type: string
description: Yum architecture
- name: yum.name
in: query
type: string
description: Yum package name
authentication:
type: basic
username: '{{env.SONATYPE_NEXUS_USER}}'
password: '{{env.SONATYPE_NEXUS_PASS}}'
exposes:
- type: rest
namespace: repository-search-rest
port: 8080
description: REST adapter for Sonatype Nexus Repository Manager — Search. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/v1/search
name: v1-search
description: REST surface for v1-search.
operations:
- method: GET
name: search
description: Search components
call: repository-search.search
with:
continuationToken: rest.continuationToken
sort: rest.sort
direction: rest.direction
timeout: rest.timeout
q: rest.q
repository: rest.repository
format: rest.format
group: rest.group
name: rest.name
version: rest.version
prerelease: rest.prerelease
last_updated: rest.last_updated
lastBlobUpdated: rest.lastBlobUpdated
md5: rest.md5
sha1: rest.sha1
sha256: rest.sha256
sha512: rest.sha512
composer.vendor: rest.composer.vendor
composer.package: rest.composer.package
composer.version: rest.composer.version
conan.baseVersion: rest.conan.baseVersion
conan.channel: rest.conan.channel
conan.revision: rest.conan.revision
conan.packageId: rest.conan.packageId
conan.packageRevision: rest.conan.packageRevision
conan.baseVersion.strict: rest.conan.baseVersion.strict
conan.revision.latest: rest.conan.revision.latest
conan.settings.arch: rest.conan.settings.arch
conan.settings.os: rest.conan.settings.os
conan.settings.compiler: rest.conan.settings.compiler
conan.settings.compiler.version: rest.conan.settings.compiler.version
conan.settings.compiler.runtime: rest.conan.settings.compiler.runtime
docker.imageName: rest.docker.imageName
docker.imageTag: rest.docker.imageTag
docker.layerId: rest.docker.layerId
docker.contentDigest: rest.docker.contentDigest
maven.groupId: rest.maven.groupId
maven.artifactId: rest.maven.artifactId
maven.baseVersion: rest.maven.baseVersion
maven.extension: rest.maven.extension
maven.classifier: rest.maven.classifier
gavec: rest.gavec
npm.scope: rest.npm.scope
npm.author: rest.npm.author
npm.description: rest.npm.description
npm.keywords: rest.npm.keywords
npm.license: rest.npm.license
npm.tagged_is: rest.npm.tagged_is
npm.tagged_not: rest.npm.tagged_not
nuget.id: rest.nuget.id
nuget.tags: rest.nuget.tags
nuget.title: rest.nuget.title
nuget.authors: rest.nuget.authors
nuget.description: rest.nuget.description
nuget.summary: rest.nuget.summary
nuget.is_prerelease: rest.nuget.is_prerelease
p2.pluginName: rest.p2.pluginName
pypi.classifiers: rest.pypi.classifiers
pypi.description: rest.pypi.description
pypi.keywords: rest.pypi.keywords
pypi.summary: rest.pypi.summary
rubygems.description: rest.rubygems.description
rubygems.platform: rest.rubygems.platform
rubygems.summary: rest.rubygems.summary
swift.scope: rest.swift.scope
swift.asset_kind: rest.swift.asset_kind
tag: rest.tag
terraform.provider: rest.terraform.provider
terraform.namespace: rest.terraform.namespace
terraform.name: rest.terraform.name
yum.architecture: rest.yum.architecture
yum.name: rest.yum.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/search/assets
name: v1-search-assets
description: REST surface for v1-search-assets.
operations:
- method: GET
name: searchassets
description: Search assets
call: repository-search.searchassets
with:
continuationToken: rest.continuationToken
sort: rest.sort
direction: rest.direction
timeout: rest.timeout
q: rest.q
repository: rest.repository
format: rest.format
group: rest.group
name: rest.name
version: rest.version
prerelease: rest.prerelease
last_updated: rest.last_updated
lastBlobUpdated: rest.lastBlobUpdated
md5: rest.md5
sha1: rest.sha1
sha256: rest.sha256
sha512: rest.sha512
composer.vendor: rest.composer.vendor
composer.package: rest.composer.package
composer.version: rest.composer.version
conan.baseVersion: rest.conan.baseVersion
conan.channel: rest.conan.channel
conan.revision: rest.conan.revision
conan.packageId: rest.conan.packageId
conan.packageRevision: rest.conan.packageRevision
conan.baseVersion.strict: rest.conan.baseVersion.strict
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sonatype-nexus/refs/heads/main/capabilities/repository-search.yaml