Strimzi · Capability
Strimzi Kafka Bridge REST API — Consumer
Strimzi Kafka Bridge REST API — Consumer. 7 operations. Lead operation: Create Consumer. Self-contained Naftiko capability covering one Strimzi business surface.
What You Can Do
POST
Createconsumer
— Create Consumer
/v1/consumers/{groupid}
DELETE
Deleteconsumer
— Delete Consumer
/v1/consumers/{groupid}/instances/{name}
POST
Commit
— Commit Offsets
/v1/consumers/{groupid}/instances/{name}/offsets
GET
Poll
— Poll for Records
/v1/consumers/{groupid}/instances/{name}/records
POST
Subscribe
— Subscribe to Topics
/v1/consumers/{groupid}/instances/{name}/subscription
GET
Listsubscriptions
— List Topic Subscriptions
/v1/consumers/{groupid}/instances/{name}/subscription
DELETE
Unsubscribe
— Unsubscribe from Topics
/v1/consumers/{groupid}/instances/{name}/subscription
MCP Tools
create-consumer
Create Consumer
delete-consumer
Delete Consumer
idempotent
commit-offsets
Commit Offsets
poll-records
Poll for Records
read-only
idempotent
subscribe-topics
Subscribe to Topics
list-topic-subscriptions
List Topic Subscriptions
read-only
idempotent
unsubscribe-topics
Unsubscribe from Topics
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Strimzi Kafka Bridge REST API — Consumer
description: 'Strimzi Kafka Bridge REST API — Consumer. 7 operations. Lead operation: Create Consumer. Self-contained Naftiko
capability covering one Strimzi business surface.'
tags:
- Strimzi
- Consumer
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
STRIMZI_API_KEY: STRIMZI_API_KEY
capability:
consumes:
- type: http
namespace: kafka-bridge-consumer
baseUri: http://localhost:8080
description: Strimzi Kafka Bridge REST API — Consumer business capability. Self-contained, no shared references.
resources:
- name: consumers-groupid
path: /consumers/{groupid}
operations:
- name: createconsumer
method: POST
description: Create Consumer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: consumers-groupid-instances-name
path: /consumers/{groupid}/instances/{name}
operations:
- name: deleteconsumer
method: DELETE
description: Delete Consumer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
- name: consumers-groupid-instances-name-offsets
path: /consumers/{groupid}/instances/{name}/offsets
operations:
- name: commit
method: POST
description: Commit Offsets
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: consumers-groupid-instances-name-records
path: /consumers/{groupid}/instances/{name}/records
operations:
- name: poll
method: GET
description: Poll for Records
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
- name: timeout
in: query
type: integer
description: Maximum time in milliseconds to wait for records
- name: max_bytes
in: query
type: integer
description: Maximum total bytes to return in the response
- name: consumers-groupid-instances-name-subscription
path: /consumers/{groupid}/instances/{name}/subscription
operations:
- name: subscribe
method: POST
description: Subscribe to Topics
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listsubscriptions
method: GET
description: List Topic Subscriptions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
- name: unsubscribe
method: DELETE
description: Unsubscribe from Topics
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: groupid
in: path
type: string
description: The consumer group ID
required: true
- name: name
in: path
type: string
description: The unique name for the consumer instance
required: true
exposes:
- type: rest
namespace: kafka-bridge-consumer-rest
port: 8080
description: REST adapter for Strimzi Kafka Bridge REST API — Consumer. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/consumers/{groupid}
name: consumers-groupid
description: REST surface for consumers-groupid.
operations:
- method: POST
name: createconsumer
description: Create Consumer
call: kafka-bridge-consumer.createconsumer
with:
groupid: rest.groupid
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/consumers/{groupid}/instances/{name}
name: consumers-groupid-instances-name
description: REST surface for consumers-groupid-instances-name.
operations:
- method: DELETE
name: deleteconsumer
description: Delete Consumer
call: kafka-bridge-consumer.deleteconsumer
with:
groupid: rest.groupid
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/consumers/{groupid}/instances/{name}/offsets
name: consumers-groupid-instances-name-offsets
description: REST surface for consumers-groupid-instances-name-offsets.
operations:
- method: POST
name: commit
description: Commit Offsets
call: kafka-bridge-consumer.commit
with:
groupid: rest.groupid
name: rest.name
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/consumers/{groupid}/instances/{name}/records
name: consumers-groupid-instances-name-records
description: REST surface for consumers-groupid-instances-name-records.
operations:
- method: GET
name: poll
description: Poll for Records
call: kafka-bridge-consumer.poll
with:
groupid: rest.groupid
name: rest.name
timeout: rest.timeout
max_bytes: rest.max_bytes
outputParameters:
- type: object
mapping: $.
- path: /v1/consumers/{groupid}/instances/{name}/subscription
name: consumers-groupid-instances-name-subscription
description: REST surface for consumers-groupid-instances-name-subscription.
operations:
- method: POST
name: subscribe
description: Subscribe to Topics
call: kafka-bridge-consumer.subscribe
with:
groupid: rest.groupid
name: rest.name
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listsubscriptions
description: List Topic Subscriptions
call: kafka-bridge-consumer.listsubscriptions
with:
groupid: rest.groupid
name: rest.name
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: unsubscribe
description: Unsubscribe from Topics
call: kafka-bridge-consumer.unsubscribe
with:
groupid: rest.groupid
name: rest.name
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: kafka-bridge-consumer-mcp
port: 9090
transport: http
description: MCP adapter for Strimzi Kafka Bridge REST API — Consumer. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: create-consumer
description: Create Consumer
hints:
readOnly: false
destructive: false
idempotent: false
call: kafka-bridge-consumer.createconsumer
with:
groupid: tools.groupid
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-consumer
description: Delete Consumer
hints:
readOnly: false
destructive: true
idempotent: true
call: kafka-bridge-consumer.deleteconsumer
with:
groupid: tools.groupid
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: commit-offsets
description: Commit Offsets
hints:
readOnly: false
destructive: false
idempotent: false
call: kafka-bridge-consumer.commit
with:
groupid: tools.groupid
name: tools.name
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: poll-records
description: Poll for Records
hints:
readOnly: true
destructive: false
idempotent: true
call: kafka-bridge-consumer.poll
with:
groupid: tools.groupid
name: tools.name
timeout: tools.timeout
max_bytes: tools.max_bytes
outputParameters:
- type: object
mapping: $.
- name: subscribe-topics
description: Subscribe to Topics
hints:
readOnly: false
destructive: false
idempotent: false
call: kafka-bridge-consumer.subscribe
with:
groupid: tools.groupid
name: tools.name
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-topic-subscriptions
description: List Topic Subscriptions
hints:
readOnly: true
destructive: false
idempotent: true
call: kafka-bridge-consumer.listsubscriptions
with:
groupid: tools.groupid
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: unsubscribe-topics
description: Unsubscribe from Topics
hints:
readOnly: false
destructive: true
idempotent: true
call: kafka-bridge-consumer.unsubscribe
with:
groupid: tools.groupid
name: tools.name
outputParameters:
- type: object
mapping: $.