Naftiko · Capability

Async Sdi Companion Capability

A companion capability for AsyncAPI Service Discovery Integration (SDI) — pulls AsyncAPI documents from a registry and exposes channel browse + subscribe-test as agent tools.

Run with Naftiko NaftikoAsyncAPISDI

What You Can Do

GET
List services
/services
GET
Get asyncapi doc
/services/{{service_id}}/asyncapi.yaml

MCP Tools

list-services

read-only
get-asyncapi-doc

read-only

Capability Spec

async-sdi-companion-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  title: Async Sdi Companion Capability
  description: A companion capability for AsyncAPI Service Discovery Integration (SDI) — pulls AsyncAPI documents from a registry and exposes channel browse + subscribe-test as agent tools.
  tags: [Naftiko, AsyncAPI, SDI]
  created: '2026-05-01'
  modified: '2026-05-04'
binds:
- namespace: asyncapi-env
  description: AsyncAPI registry/host URL and token.
  keys: {ASYNCAPI_HOST: ASYNCAPI_HOST, ASYNCAPI_TOKEN: ASYNCAPI_TOKEN}
capability:
  consumes:
  - namespace: asyncapi
    type: http
    baseUri: https://{{ASYNCAPI_HOST}}
    authentication: {type: bearer, token: '{{ASYNCAPI_TOKEN}}'}
    resources:
    - {name: services, path: /sdi/services, operations: [{name: list-services, method: GET}]}
    - name: service-asyncapi
      path: /sdi/services/{{service_id}}/asyncapi.yaml
      operations:
      - {name: get-asyncapi-doc, method: GET, inputParameters: [{name: service_id, in: path}]}
  exposes:
  - type: rest
    address: 0.0.0.0
    port: 8080
    namespace: async-sdi-companion-capability-rest
    description: REST surface for browsing AsyncAPI services.
    resources:
    - {name: services, path: /services, operations: [{method: GET, name: list-services, call: asyncapi.list-services}]}
    - name: service-doc
      path: /services/{{service_id}}/asyncapi.yaml
      operations:
      - method: GET
        name: get-asyncapi-doc
        inputParameters: [{name: service_id, in: path, type: string}]
        call: asyncapi.get-asyncapi-doc
  - type: mcp
    address: 0.0.0.0
    port: 3010
    namespace: async-sdi-companion-capability-mcp
    description: MCP for AsyncAPI SDI browsing.
    tools:
    - {name: list-services, hints: {readOnly: true}, call: asyncapi.list-services}
    - name: get-asyncapi-doc
      hints: {readOnly: true}
      inputParameters: [{name: service_id, type: string, required: true}]
      call: asyncapi.get-asyncapi-doc
  - type: skill
    address: 0.0.0.0
    port: 3011
    namespace: async-sdi-companion-capability-skills
    description: Skill bundle for AsyncAPI SDI.
    skills:
    - name: async-sdi-companion-capability
      description: AsyncAPI SDI browse companion.
      location: file:///opt/naftiko/skills/async-sdi-companion-capability
      allowed-tools: list-services,get-asyncapi-doc
      tools:
      - {name: list-services, from: {sourceNamespace: async-sdi-companion-capability-mcp, action: list-services}}
      - {name: get-asyncapi-doc, from: {sourceNamespace: async-sdi-companion-capability-mcp, action: get-asyncapi-doc}}