Application Research · Capability

Application Research Open Component Model API — Components

Application Research Open Component Model API — Components. 9 operations. Lead operation: Application Research List component descriptors. Self-contained Naftiko capability covering one Application Research business surface.

Run with Naftiko Application ResearchComponents

What You Can Do

GET
Listcomponents — Application Research List component descriptors
/v1/components
POST
Createcomponent — Application Research Create a component descriptor
/v1/components
GET
Getcomponent — Application Research Get a component descriptor by name
/v1/components/{name}
PUT
Updatecomponent — Application Research Update a component descriptor
/v1/components/{name}
DELETE
Deletecomponent — Application Research Delete a component descriptor
/v1/components/{name}
GET
Listcomponentreferences — Application Research List component references
/v1/components/{name}/references
POST
Addcomponentreference — Application Research Add a component reference
/v1/components/{name}/references
GET
Listcomponentversions — Application Research List all versions of a component
/v1/components/{name}/versions
POST
Transfercomponents — Application Research Transfer components between repositories
/v1/transfer

MCP Tools

application-research-list-component-descriptors

Application Research List component descriptors

read-only idempotent
application-research-create-component-descriptor

Application Research Create a component descriptor

read-only
application-research-get-component-descriptor

Application Research Get a component descriptor by name

read-only idempotent
application-research-update-component-descriptor

Application Research Update a component descriptor

idempotent
application-research-delete-component-descriptor

Application Research Delete a component descriptor

idempotent
application-research-list-component-references

Application Research List component references

read-only idempotent
application-research-add-component-reference

Application Research Add a component reference

read-only
application-research-list-all-versions

Application Research List all versions of a component

read-only idempotent
application-research-transfer-components-between

Application Research Transfer components between repositories

read-only

Capability Spec

open-component-model-components.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Application Research Open Component Model API — Components
  description: 'Application Research Open Component Model API — Components. 9 operations. Lead operation: Application Research
    List component descriptors. Self-contained Naftiko capability covering one Application Research business surface.'
  tags:
  - Application Research
  - Components
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    APPLICATION_RESEARCH_API_KEY: APPLICATION_RESEARCH_API_KEY
capability:
  consumes:
  - type: http
    namespace: open-component-model-components
    baseUri: https://api.ocm.example.com/v1
    description: Application Research Open Component Model API — Components business capability. Self-contained, no shared
      references.
    resources:
    - name: components
      path: /components
      operations:
      - name: listcomponents
        method: GET
        description: Application Research List component descriptors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcomponent
        method: POST
        description: Application Research Create a component descriptor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: components-name
      path: /components/{name}
      operations:
      - name: getcomponent
        method: GET
        description: Application Research Get a component descriptor by name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecomponent
        method: PUT
        description: Application Research Update a component descriptor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletecomponent
        method: DELETE
        description: Application Research Delete a component descriptor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: components-name-references
      path: /components/{name}/references
      operations:
      - name: listcomponentreferences
        method: GET
        description: Application Research List component references
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addcomponentreference
        method: POST
        description: Application Research Add a component reference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: components-name-versions
      path: /components/{name}/versions
      operations:
      - name: listcomponentversions
        method: GET
        description: Application Research List all versions of a component
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transfer
      path: /transfer
      operations:
      - name: transfercomponents
        method: POST
        description: Application Research Transfer components between repositories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.APPLICATION_RESEARCH_API_KEY}}'
  exposes:
  - type: rest
    namespace: open-component-model-components-rest
    port: 8080
    description: REST adapter for Application Research Open Component Model API — Components. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/components
      name: components
      description: REST surface for components.
      operations:
      - method: GET
        name: listcomponents
        description: Application Research List component descriptors
        call: open-component-model-components.listcomponents
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcomponent
        description: Application Research Create a component descriptor
        call: open-component-model-components.createcomponent
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/components/{name}
      name: components-name
      description: REST surface for components-name.
      operations:
      - method: GET
        name: getcomponent
        description: Application Research Get a component descriptor by name
        call: open-component-model-components.getcomponent
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecomponent
        description: Application Research Update a component descriptor
        call: open-component-model-components.updatecomponent
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecomponent
        description: Application Research Delete a component descriptor
        call: open-component-model-components.deletecomponent
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/components/{name}/references
      name: components-name-references
      description: REST surface for components-name-references.
      operations:
      - method: GET
        name: listcomponentreferences
        description: Application Research List component references
        call: open-component-model-components.listcomponentreferences
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addcomponentreference
        description: Application Research Add a component reference
        call: open-component-model-components.addcomponentreference
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/components/{name}/versions
      name: components-name-versions
      description: REST surface for components-name-versions.
      operations:
      - method: GET
        name: listcomponentversions
        description: Application Research List all versions of a component
        call: open-component-model-components.listcomponentversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transfer
      name: transfer
      description: REST surface for transfer.
      operations:
      - method: POST
        name: transfercomponents
        description: Application Research Transfer components between repositories
        call: open-component-model-components.transfercomponents
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: open-component-model-components-mcp
    port: 9090
    transport: http
    description: MCP adapter for Application Research Open Component Model API — Components. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: application-research-list-component-descriptors
      description: Application Research List component descriptors
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-component-model-components.listcomponents
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-create-component-descriptor
      description: Application Research Create a component descriptor
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: open-component-model-components.createcomponent
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-get-component-descriptor
      description: Application Research Get a component descriptor by name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-component-model-components.getcomponent
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-update-component-descriptor
      description: Application Research Update a component descriptor
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: open-component-model-components.updatecomponent
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-delete-component-descriptor
      description: Application Research Delete a component descriptor
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: open-component-model-components.deletecomponent
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-list-component-references
      description: Application Research List component references
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-component-model-components.listcomponentreferences
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-add-component-reference
      description: Application Research Add a component reference
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: open-component-model-components.addcomponentreference
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-list-all-versions
      description: Application Research List all versions of a component
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-component-model-components.listcomponentversions
      outputParameters:
      - type: object
        mapping: $.
    - name: application-research-transfer-components-between
      description: Application Research Transfer components between repositories
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: open-component-model-components.transfercomponents
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.