Docker · Capability
Docker Engine API — Service
Docker Engine API — Service. 6 operations. Lead operation: List services. Self-contained Naftiko capability covering one Docker business surface.
What You Can Do
GET
Servicelist
— List services
/v1/services
POST
Servicecreate
— Create a service
/v1/services/create
GET
Serviceinspect
— Inspect a service
/v1/services/{id}
DELETE
Servicedelete
— Delete a service
/v1/services/{id}
GET
Servicelogs
— Get service logs
/v1/services/{id}/logs
POST
Serviceupdate
— Update a service
/v1/services/{id}/update
MCP Tools
list-services
List services
read-only
idempotent
create-service
Create a service
inspect-service
Inspect a service
read-only
idempotent
delete-service
Delete a service
idempotent
get-service-logs
Get service logs
read-only
idempotent
update-service
Update a service
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Docker Engine API — Service
description: 'Docker Engine API — Service. 6 operations. Lead operation: List services. Self-contained Naftiko capability
covering one Docker business surface.'
tags:
- Docker
- Service
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
DOCKER_API_KEY: DOCKER_API_KEY
capability:
consumes:
- type: http
namespace: docker-service
baseUri: ''
description: Docker Engine API — Service business capability. Self-contained, no shared references.
resources:
- name: services
path: /services
operations:
- name: servicelist
method: GET
description: List services
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: filters
in: query
type: string
description: A JSON encoded value of the filters (a `map[string][]string`) to
- name: status
in: query
type: boolean
description: Include service status, with count of running and desired tasks.
- name: services-create
path: /services/create
operations:
- name: servicecreate
method: POST
description: Create a service
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
required: true
- name: X-Registry-Auth
in: header
type: string
description: A base64url-encoded auth configuration for pulling from private
- name: services-id
path: /services/{id}
operations:
- name: serviceinspect
method: GET
description: Inspect a service
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: ID or name of service.
required: true
- name: insertDefaults
in: query
type: boolean
description: Fill empty fields with default values.
- name: servicedelete
method: DELETE
description: Delete a service
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: ID or name of service.
required: true
- name: services-id-logs
path: /services/{id}/logs
operations:
- name: servicelogs
method: GET
description: Get service logs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: ID or name of the service
required: true
- name: details
in: query
type: boolean
description: Show service context and extra details provided to logs.
- name: follow
in: query
type: boolean
description: Keep connection after returning logs.
- name: stdout
in: query
type: boolean
description: Return logs from `stdout`
- name: stderr
in: query
type: boolean
description: Return logs from `stderr`
- name: since
in: query
type: integer
description: Only return logs since this time, as a UNIX timestamp
- name: timestamps
in: query
type: boolean
description: Add timestamps to every log line
- name: tail
in: query
type: string
description: Only return this number of log lines from the end of the logs.
- name: services-id-update
path: /services/{id}/update
operations:
- name: serviceupdate
method: POST
description: Update a service
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: ID or name of service.
required: true
- name: body
in: body
type: string
required: true
- name: version
in: query
type: integer
description: The version number of the service object being updated. This is
required: true
- name: registryAuthFrom
in: query
type: string
description: If the `X-Registry-Auth` header is not specified, this parameter
- name: rollback
in: query
type: string
description: Set to this parameter to `previous` to cause a server-side rollback
- name: X-Registry-Auth
in: header
type: string
description: A base64url-encoded auth configuration for pulling from private
exposes:
- type: rest
namespace: docker-service-rest
port: 8080
description: REST adapter for Docker Engine API — Service. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/services
name: services
description: REST surface for services.
operations:
- method: GET
name: servicelist
description: List services
call: docker-service.servicelist
with:
filters: rest.filters
status: rest.status
outputParameters:
- type: object
mapping: $.
- path: /v1/services/create
name: services-create
description: REST surface for services-create.
operations:
- method: POST
name: servicecreate
description: Create a service
call: docker-service.servicecreate
with:
body: rest.body
X-Registry-Auth: rest.X-Registry-Auth
outputParameters:
- type: object
mapping: $.
- path: /v1/services/{id}
name: services-id
description: REST surface for services-id.
operations:
- method: GET
name: serviceinspect
description: Inspect a service
call: docker-service.serviceinspect
with:
id: rest.id
insertDefaults: rest.insertDefaults
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: servicedelete
description: Delete a service
call: docker-service.servicedelete
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/services/{id}/logs
name: services-id-logs
description: REST surface for services-id-logs.
operations:
- method: GET
name: servicelogs
description: Get service logs
call: docker-service.servicelogs
with:
id: rest.id
details: rest.details
follow: rest.follow
stdout: rest.stdout
stderr: rest.stderr
since: rest.since
timestamps: rest.timestamps
tail: rest.tail
outputParameters:
- type: object
mapping: $.
- path: /v1/services/{id}/update
name: services-id-update
description: REST surface for services-id-update.
operations:
- method: POST
name: serviceupdate
description: Update a service
call: docker-service.serviceupdate
with:
id: rest.id
body: rest.body
version: rest.version
registryAuthFrom: rest.registryAuthFrom
rollback: rest.rollback
X-Registry-Auth: rest.X-Registry-Auth
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: docker-service-mcp
port: 9090
transport: http
description: MCP adapter for Docker Engine API — Service. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-services
description: List services
hints:
readOnly: true
destructive: false
idempotent: true
call: docker-service.servicelist
with:
filters: tools.filters
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: create-service
description: Create a service
hints:
readOnly: false
destructive: false
idempotent: false
call: docker-service.servicecreate
with:
body: tools.body
X-Registry-Auth: tools.X-Registry-Auth
outputParameters:
- type: object
mapping: $.
- name: inspect-service
description: Inspect a service
hints:
readOnly: true
destructive: false
idempotent: true
call: docker-service.serviceinspect
with:
id: tools.id
insertDefaults: tools.insertDefaults
outputParameters:
- type: object
mapping: $.
- name: delete-service
description: Delete a service
hints:
readOnly: false
destructive: true
idempotent: true
call: docker-service.servicedelete
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-service-logs
description: Get service logs
hints:
readOnly: true
destructive: false
idempotent: true
call: docker-service.servicelogs
with:
id: tools.id
details: tools.details
follow: tools.follow
stdout: tools.stdout
stderr: tools.stderr
since: tools.since
timestamps: tools.timestamps
tail: tools.tail
outputParameters:
- type: object
mapping: $.
- name: update-service
description: Update a service
hints:
readOnly: false
destructive: false
idempotent: false
call: docker-service.serviceupdate
with:
id: tools.id
body: tools.body
version: tools.version
registryAuthFrom: tools.registryAuthFrom
rollback: tools.rollback
X-Registry-Auth: tools.X-Registry-Auth
outputParameters:
- type: object
mapping: $.