Smithery · Capability
Smithery Platform API — servers
Smithery Platform API — servers. 18 operations. Lead operation: List all servers. Self-contained Naftiko capability covering one Smithery business surface.
What You Can Do
GET
Getservers
— List all servers
/v1/servers
GET
Getserversnamespace
— Get a server
/v1/servers/{qualifiedname}
PUT
Putserversnamespace
— Create a server
/v1/servers/{qualifiedname}
PATCH
Patchserversnamespace
— Update a server
/v1/servers/{qualifiedname}
DELETE
Deleteserversnamespace
— Delete a server
/v1/servers/{qualifiedname}
GET
Getserversnamespacedownload
— Download server bundle
/v1/servers/{qualifiedname}/download
PUT
Putserversnamespaceicon
— Upload server icon
/v1/servers/{qualifiedname}/icon
DELETE
Deleteserversnamespaceicon
— Delete server icon
/v1/servers/{qualifiedname}/icon
GET
Getserversnamespaceicon
— Get server icon
/v1/servers/{qualifiedname}/icon
GET
Getserversnamespacelogs
— List runtime logs
/v1/servers/{qualifiedname}/logs
PUT
Putserversnamespacereleases
— Publish a server
/v1/servers/{qualifiedname}/releases
GET
Getserversnamespacereleases
— List releases
/v1/servers/{qualifiedname}/releases
GET
Getserversnamespacereleasesid
— Get a release
/v1/servers/{qualifiedname}/releases/{id}
POST
Postserversnamespacereleasesidresume
— Resume a release
/v1/servers/{qualifiedname}/releases/{id}/resume
GET
Getserversnamespacereleasesidstream
— Stream release logs
/v1/servers/{qualifiedname}/releases/{id}/stream
GET
Getserversnamespacesecrets
— List secrets
/v1/servers/{qualifiedname}/secrets
PUT
Putserversnamespacesecrets
— Set a secret
/v1/servers/{qualifiedname}/secrets
DELETE
Deleteserversnamespacesecretssecretname
— Delete a secret
/v1/servers/{qualifiedname}/secrets/{secretname}
MCP Tools
list-all-servers
List all servers
read-only
idempotent
get-server
Get a server
read-only
idempotent
create-server
Create a server
idempotent
update-server
Update a server
idempotent
delete-server
Delete a server
idempotent
download-server-bundle
Download server bundle
read-only
idempotent
upload-server-icon
Upload server icon
idempotent
delete-server-icon
Delete server icon
idempotent
get-server-icon
Get server icon
read-only
idempotent
list-runtime-logs
List runtime logs
read-only
idempotent
publish-server
Publish a server
idempotent
list-releases
List releases
read-only
idempotent
get-release
Get a release
read-only
idempotent
resume-release
Resume a release
stream-release-logs
Stream release logs
read-only
idempotent
list-secrets
List secrets
read-only
idempotent
set-secret
Set a secret
idempotent
delete-secret
Delete a secret
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Smithery Platform API — servers
description: 'Smithery Platform API — servers. 18 operations. Lead operation: List all servers. Self-contained Naftiko capability
covering one Smithery business surface.'
tags:
- Smithery
- servers
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SMITHERY_API_KEY: SMITHERY_API_KEY
capability:
consumes:
- type: http
namespace: smithery-servers
baseUri: https://api.smithery.ai
description: Smithery Platform API — servers business capability. Self-contained, no shared references.
resources:
- name: servers
path: /servers
operations:
- name: getservers
method: GET
description: List all servers
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Search query for full-text and semantic search across server names and descriptions.
- name: page
in: query
type: integer
description: Page number (1-indexed).
- name: pageSize
in: query
type: integer
description: Number of results per page (default 10, max 100).
- name: topK
in: query
type: integer
description: Maximum number of candidate results to consider from the search index before pagination.
- name: fields
in: query
type: string
description: Comma-separated list of fields to include in response
- name: ids
in: query
type: array
description: Filter by specific server IDs.
- name: qualifiedName
in: query
type: string
description: 'Exact match on the server''s qualified name (e.g. "smithery/hello-world"). Deprecated: use GET /servers/:namespace/:server
instead.'
- name: namespace
in: query
type: string
description: Filter by the namespace that owns the server.
- name: remote
in: query
type: string
description: Filter by remote status. Remote servers are accessed via URL; non-remote servers run locally via stdio.
- name: isDeployed
in: query
type: string
description: Filter by deployment status. Deployed servers are hosted on Smithery infrastructure.
- name: verified
in: query
type: string
description: Filter to only verified servers.
- name: ownerId
in: query
type: string
description: Filter by the server owner's user ID.
- name: repoOwner
in: query
type: string
description: Filter by GitHub repository owner from repository_url.
- name: repoName
in: query
type: string
description: Filter by GitHub repository name from repository_url.
- name: seed
in: query
type: integer
description: Random seed for deterministic pagination. When provided, results use a stable sort order that is consistent
across pages for the same seed value.
- name: servers-qualifiedName
path: /servers/{qualifiedName}
operations:
- name: getserversnamespace
method: GET
description: Get a server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: putserversnamespace
method: PUT
description: Create a server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: patchserversnamespace
method: PATCH
description: Update a server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deleteserversnamespace
method: DELETE
description: Delete a server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: servers-qualifiedName-download
path: /servers/{qualifiedName}/download
operations:
- name: getserversnamespacedownload
method: GET
description: Download server bundle
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: servers-qualifiedName-icon
path: /servers/{qualifiedName}/icon
operations:
- name: putserversnamespaceicon
method: PUT
description: Upload server icon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: deleteserversnamespaceicon
method: DELETE
description: Delete server icon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: getserversnamespaceicon
method: GET
description: Get server icon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: servers-qualifiedName-logs
path: /servers/{qualifiedName}/logs
operations:
- name: getserversnamespacelogs
method: GET
description: List runtime logs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: from
in: query
type: string
description: Start of time range (ISO 8601).
- name: to
in: query
type: string
description: End of time range (ISO 8601).
- name: limit
in: query
type: integer
description: Max invocations to return. Defaults to 20.
- name: search
in: query
type: string
description: Text search across log messages.
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: servers-qualifiedName-releases
path: /servers/{qualifiedName}/releases
operations:
- name: putserversnamespacereleases
method: PUT
description: Publish a server
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: getserversnamespacereleases
method: GET
description: List releases
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: page
in: query
type: integer
- name: pageSize
in: query
type: integer
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: servers-qualifiedName-releases-id
path: /servers/{qualifiedName}/releases/{id}
operations:
- name: getserversnamespacereleasesid
method: GET
description: Get a release
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: id
in: path
type: string
required: true
- name: servers-qualifiedName-releases-id-resume
path: /servers/{qualifiedName}/releases/{id}/resume
operations:
- name: postserversnamespacereleasesidresume
method: POST
description: Resume a release
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: id
in: path
type: string
required: true
- name: servers-qualifiedName-releases-id-stream
path: /servers/{qualifiedName}/releases/{id}/stream
operations:
- name: getserversnamespacereleasesidstream
method: GET
description: Stream release logs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: id
in: path
type: string
required: true
- name: servers-qualifiedName-secrets
path: /servers/{qualifiedName}/secrets
operations:
- name: getserversnamespacesecrets
method: GET
description: List secrets
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: putserversnamespacesecrets
method: PUT
description: Set a secret
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: servers-qualifiedName-secrets-secretName
path: /servers/{qualifiedName}/secrets/{secretName}
operations:
- name: deleteserversnamespacesecretssecretname
method: DELETE
description: Delete a secret
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: qualifiedName
in: path
type: string
description: The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use
%2F to encode the slash.
required: true
- name: secretName
in: path
type: string
required: true
authentication:
type: bearer
token: '{{env.SMITHERY_API_KEY}}'
exposes:
- type: rest
namespace: smithery-servers-rest
port: 8080
description: REST adapter for Smithery Platform API — servers. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/servers
name: servers
description: REST surface for servers.
operations:
- method: GET
name: getservers
description: List all servers
call: smithery-servers.getservers
with:
q: rest.q
page: rest.page
pageSize: rest.pageSize
topK: rest.topK
fields: rest.fields
ids: rest.ids
qualifiedName: rest.qualifiedName
namespace: rest.namespace
remote: rest.remote
isDeployed: rest.isDeployed
verified: rest.verified
ownerId: rest.ownerId
repoOwner: rest.repoOwner
repoName: rest.repoName
seed: rest.seed
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}
name: servers-qualifiedname
description: REST surface for servers-qualifiedName.
operations:
- method: GET
name: getserversnamespace
description: Get a server
call: smithery-servers.getserversnamespace
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- method: PUT
name: putserversnamespace
description: Create a server
call: smithery-servers.putserversnamespace
with:
qualifiedName: rest.qualifiedName
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchserversnamespace
description: Update a server
call: smithery-servers.patchserversnamespace
with:
qualifiedName: rest.qualifiedName
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteserversnamespace
description: Delete a server
call: smithery-servers.deleteserversnamespace
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/download
name: servers-qualifiedname-download
description: REST surface for servers-qualifiedName-download.
operations:
- method: GET
name: getserversnamespacedownload
description: Download server bundle
call: smithery-servers.getserversnamespacedownload
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/icon
name: servers-qualifiedname-icon
description: REST surface for servers-qualifiedName-icon.
operations:
- method: PUT
name: putserversnamespaceicon
description: Upload server icon
call: smithery-servers.putserversnamespaceicon
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteserversnamespaceicon
description: Delete server icon
call: smithery-servers.deleteserversnamespaceicon
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- method: GET
name: getserversnamespaceicon
description: Get server icon
call: smithery-servers.getserversnamespaceicon
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/logs
name: servers-qualifiedname-logs
description: REST surface for servers-qualifiedName-logs.
operations:
- method: GET
name: getserversnamespacelogs
description: List runtime logs
call: smithery-servers.getserversnamespacelogs
with:
from: rest.from
to: rest.to
limit: rest.limit
search: rest.search
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/releases
name: servers-qualifiedname-releases
description: REST surface for servers-qualifiedName-releases.
operations:
- method: PUT
name: putserversnamespacereleases
description: Publish a server
call: smithery-servers.putserversnamespacereleases
with:
qualifiedName: rest.qualifiedName
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getserversnamespacereleases
description: List releases
call: smithery-servers.getserversnamespacereleases
with:
page: rest.page
pageSize: rest.pageSize
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/releases/{id}
name: servers-qualifiedname-releases-id
description: REST surface for servers-qualifiedName-releases-id.
operations:
- method: GET
name: getserversnamespacereleasesid
description: Get a release
call: smithery-servers.getserversnamespacereleasesid
with:
qualifiedName: rest.qualifiedName
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/releases/{id}/resume
name: servers-qualifiedname-releases-id-resume
description: REST surface for servers-qualifiedName-releases-id-resume.
operations:
- method: POST
name: postserversnamespacereleasesidresume
description: Resume a release
call: smithery-servers.postserversnamespacereleasesidresume
with:
qualifiedName: rest.qualifiedName
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/releases/{id}/stream
name: servers-qualifiedname-releases-id-stream
description: REST surface for servers-qualifiedName-releases-id-stream.
operations:
- method: GET
name: getserversnamespacereleasesidstream
description: Stream release logs
call: smithery-servers.getserversnamespacereleasesidstream
with:
qualifiedName: rest.qualifiedName
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/secrets
name: servers-qualifiedname-secrets
description: REST surface for servers-qualifiedName-secrets.
operations:
- method: GET
name: getserversnamespacesecrets
description: List secrets
call: smithery-servers.getserversnamespacesecrets
with:
qualifiedName: rest.qualifiedName
outputParameters:
- type: object
mapping: $.
- method: PUT
name: putserversnamespacesecrets
description: Set a secret
call: smithery-servers.putserversnamespacesecrets
with:
qualifiedName: rest.qualifiedName
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/servers/{qualifiedname}/secrets/{secretname}
name: servers-qualifiedname-secrets-secretname
description: REST surface for servers-qualifiedName-secrets-secretName.
operations:
- method: DELETE
name: deleteserversnamespacesecretssecretname
description: Delete a secret
call: smithery-servers.deleteserversnamespacesecretssecretname
with:
qualifiedName: rest.qualifiedName
secretName: rest.secretName
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: smithery-servers-mcp
port: 9090
transport: http
description: MCP adapter for Smithery Platform API — servers. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-all-servers
description: List all servers
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getservers
with:
q: tools.q
page: tools.page
pageSize: tools.pageSize
topK: tools.topK
fields: tools.fields
ids: tools.ids
qualifiedName: tools.qualifiedName
namespace: tools.namespace
remote: tools.remote
isDeployed: tools.isDeployed
verified: tools.verified
ownerId: tools.ownerId
repoOwner: tools.repoOwner
repoName: tools.repoName
seed: tools.seed
outputParameters:
- type: object
mapping: $.
- name: get-server
description: Get a server
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespace
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: create-server
description: Create a server
hints:
readOnly: false
destructive: false
idempotent: true
call: smithery-servers.putserversnamespace
with:
qualifiedName: tools.qualifiedName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-server
description: Update a server
hints:
readOnly: false
destructive: false
idempotent: true
call: smithery-servers.patchserversnamespace
with:
qualifiedName: tools.qualifiedName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-server
description: Delete a server
hints:
readOnly: false
destructive: true
idempotent: true
call: smithery-servers.deleteserversnamespace
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: download-server-bundle
description: Download server bundle
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacedownload
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: upload-server-icon
description: Upload server icon
hints:
readOnly: false
destructive: false
idempotent: true
call: smithery-servers.putserversnamespaceicon
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: delete-server-icon
description: Delete server icon
hints:
readOnly: false
destructive: true
idempotent: true
call: smithery-servers.deleteserversnamespaceicon
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: get-server-icon
description: Get server icon
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespaceicon
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: list-runtime-logs
description: List runtime logs
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacelogs
with:
from: tools.from
to: tools.to
limit: tools.limit
search: tools.search
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: publish-server
description: Publish a server
hints:
readOnly: false
destructive: false
idempotent: true
call: smithery-servers.putserversnamespacereleases
with:
qualifiedName: tools.qualifiedName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-releases
description: List releases
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacereleases
with:
page: tools.page
pageSize: tools.pageSize
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: get-release
description: Get a release
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacereleasesid
with:
qualifiedName: tools.qualifiedName
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: resume-release
description: Resume a release
hints:
readOnly: false
destructive: false
idempotent: false
call: smithery-servers.postserversnamespacereleasesidresume
with:
qualifiedName: tools.qualifiedName
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: stream-release-logs
description: Stream release logs
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacereleasesidstream
with:
qualifiedName: tools.qualifiedName
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: list-secrets
description: List secrets
hints:
readOnly: true
destructive: false
idempotent: true
call: smithery-servers.getserversnamespacesecrets
with:
qualifiedName: tools.qualifiedName
outputParameters:
- type: object
mapping: $.
- name: set-secret
description: Set a secret
hints:
readOnly: false
destructive: false
idempotent: true
call: smithery-servers.putserversnamespacesecrets
with:
qualifiedName: tools.qualifiedName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-secret
description: Delete a secret
hints:
readOnly: false
destructive: true
idempotent: true
call: smithery-servers.deleteserversnamespacesecretssecretname
with:
qualifiedName: tools.qualifiedName
secretName: tools.secretName
outputParameters:
- type: object
mapping: $.