Oracle Container Engine for Kubernetes (OKE) API

Oracle Container Engine for Kubernetes (OKE) is a managed Kubernetes service on Oracle Cloud Infrastructure. The API exposes endpoints for managing Kubernetes clusters, node pools, virtual node pools, add-ons, work requests, and cluster credentials within OCI compartments.

Run with Naftiko OracleContainerEngineAPI

What You Can Do

GET
Listclusters — List clusters
/clusters
POST
Createcluster — Create a cluster
/clusters
GET
Getcluster — Get a cluster
/clusters/{clusterId}
PUT
Updatecluster — Update a cluster
/clusters/{clusterId}
DELETE
Deletecluster — Delete a cluster
/clusters/{clusterId}
POST
Createkubeconfig — Create kubeconfig content
/clusters/{clusterId}/kubeconfig/content
GET
Listnodepools — List node pools
/nodePools
POST
Createnodepool — Create a node pool
/nodePools
GET
Getnodepool — Get a node pool
/nodePools/{nodePoolId}
DELETE
Deletenodepool — Delete a node pool
/nodePools/{nodePoolId}
GET
Listvirtualnodepools — List virtual node pools
/virtualNodePools
GET
Listaddons — List add-ons installed on a cluster
/clusters/{clusterId}/addons
POST
Installaddon — Install a cluster add-on
/clusters/{clusterId}/addons
GET
Listworkrequests — List work requests
/workRequests
GET
Getworkrequest — Get a work request
/workRequests/{workRequestId}

MCP Tools

listclusters

List clusters

read-only idempotent
createcluster

Create a cluster

getcluster

Get a cluster

read-only idempotent
updatecluster

Update a cluster

idempotent
deletecluster

Delete a cluster

idempotent
createkubeconfig

Create kubeconfig content

listnodepools

List node pools

read-only idempotent
createnodepool

Create a node pool

getnodepool

Get a node pool

read-only idempotent
deletenodepool

Delete a node pool

idempotent
listvirtualnodepools

List virtual node pools

read-only idempotent
listaddons

List add-ons installed on a cluster

read-only idempotent
installaddon

Install a cluster add-on

listworkrequests

List work requests

read-only idempotent
getworkrequest

Get a work request

read-only idempotent

Capability Spec

oracle-container-engine-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Oracle Container Engine for Kubernetes (OKE) API
  description: Oracle Container Engine for Kubernetes (OKE) is a managed Kubernetes service on Oracle Cloud Infrastructure.
    The API exposes endpoints for managing Kubernetes clusters, node pools, virtual node pools, add-ons, work requests, and
    cluster credentials within OCI compartments.
  tags:
  - Oracle
  - Container
  - Engine
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: oracle-container-engine
    baseUri: https://containerengine.us-ashburn-1.oci.oraclecloud.com/20180222
    description: Oracle Container Engine for Kubernetes (OKE) API HTTP API.
    authentication:
      type: apikey
      in: header
      name: Authorization
      value: '{{ORACLE_CONTAINER_ENGINE_TOKEN}}'
    resources:
    - name: clusters
      path: /clusters
      operations:
      - name: listclusters
        method: GET
        description: List clusters
        inputParameters:
        - name: lifecycleState
          in: query
          type: array
        - name: name
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcluster
        method: POST
        description: Create a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: clusters-clusterid
      path: /clusters/{clusterId}
      operations:
      - name: getcluster
        method: GET
        description: Get a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecluster
        method: PUT
        description: Update a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecluster
        method: DELETE
        description: Delete a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: clusters-clusterid-kubeconfig-content
      path: /clusters/{clusterId}/kubeconfig/content
      operations:
      - name: createkubeconfig
        method: POST
        description: Create kubeconfig content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: nodepools
      path: /nodePools
      operations:
      - name: listnodepools
        method: GET
        description: List node pools
        inputParameters:
        - name: clusterId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createnodepool
        method: POST
        description: Create a node pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: nodepools-nodepoolid
      path: /nodePools/{nodePoolId}
      operations:
      - name: getnodepool
        method: GET
        description: Get a node pool
        inputParameters:
        - name: nodePoolId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletenodepool
        method: DELETE
        description: Delete a node pool
        inputParameters:
        - name: nodePoolId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: virtualnodepools
      path: /virtualNodePools
      operations:
      - name: listvirtualnodepools
        method: GET
        description: List virtual node pools
        inputParameters:
        - name: clusterId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: clusters-clusterid-addons
      path: /clusters/{clusterId}/addons
      operations:
      - name: listaddons
        method: GET
        description: List add-ons installed on a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: installaddon
        method: POST
        description: Install a cluster add-on
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workrequests
      path: /workRequests
      operations:
      - name: listworkrequests
        method: GET
        description: List work requests
        inputParameters:
        - name: resourceId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workrequests-workrequestid
      path: /workRequests/{workRequestId}
      operations:
      - name: getworkrequest
        method: GET
        description: Get a work request
        inputParameters:
        - name: workRequestId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: oracle-container-engine-rest
    description: REST adapter for Oracle Container Engine for Kubernetes (OKE) API.
    resources:
    - path: /clusters
      name: listclusters
      operations:
      - method: GET
        name: listclusters
        description: List clusters
        call: oracle-container-engine.listclusters
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters
      name: createcluster
      operations:
      - method: POST
        name: createcluster
        description: Create a cluster
        call: oracle-container-engine.createcluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}
      name: getcluster
      operations:
      - method: GET
        name: getcluster
        description: Get a cluster
        call: oracle-container-engine.getcluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}
      name: updatecluster
      operations:
      - method: PUT
        name: updatecluster
        description: Update a cluster
        call: oracle-container-engine.updatecluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}
      name: deletecluster
      operations:
      - method: DELETE
        name: deletecluster
        description: Delete a cluster
        call: oracle-container-engine.deletecluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}/kubeconfig/content
      name: createkubeconfig
      operations:
      - method: POST
        name: createkubeconfig
        description: Create kubeconfig content
        call: oracle-container-engine.createkubeconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodePools
      name: listnodepools
      operations:
      - method: GET
        name: listnodepools
        description: List node pools
        call: oracle-container-engine.listnodepools
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodePools
      name: createnodepool
      operations:
      - method: POST
        name: createnodepool
        description: Create a node pool
        call: oracle-container-engine.createnodepool
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodePools/{nodePoolId}
      name: getnodepool
      operations:
      - method: GET
        name: getnodepool
        description: Get a node pool
        call: oracle-container-engine.getnodepool
        with:
          nodePoolId: rest.nodePoolId
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodePools/{nodePoolId}
      name: deletenodepool
      operations:
      - method: DELETE
        name: deletenodepool
        description: Delete a node pool
        call: oracle-container-engine.deletenodepool
        with:
          nodePoolId: rest.nodePoolId
        outputParameters:
        - type: object
          mapping: $.
    - path: /virtualNodePools
      name: listvirtualnodepools
      operations:
      - method: GET
        name: listvirtualnodepools
        description: List virtual node pools
        call: oracle-container-engine.listvirtualnodepools
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}/addons
      name: listaddons
      operations:
      - method: GET
        name: listaddons
        description: List add-ons installed on a cluster
        call: oracle-container-engine.listaddons
        outputParameters:
        - type: object
          mapping: $.
    - path: /clusters/{clusterId}/addons
      name: installaddon
      operations:
      - method: POST
        name: installaddon
        description: Install a cluster add-on
        call: oracle-container-engine.installaddon
        outputParameters:
        - type: object
          mapping: $.
    - path: /workRequests
      name: listworkrequests
      operations:
      - method: GET
        name: listworkrequests
        description: List work requests
        call: oracle-container-engine.listworkrequests
        outputParameters:
        - type: object
          mapping: $.
    - path: /workRequests/{workRequestId}
      name: getworkrequest
      operations:
      - method: GET
        name: getworkrequest
        description: Get a work request
        call: oracle-container-engine.getworkrequest
        with:
          workRequestId: rest.workRequestId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: oracle-container-engine-mcp
    transport: http
    description: MCP adapter for Oracle Container Engine for Kubernetes (OKE) API for AI agent use.
    tools:
    - name: listclusters
      description: List clusters
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.listclusters
      with:
        lifecycleState: tools.lifecycleState
        name: tools.name
      inputParameters:
      - name: lifecycleState
        type: array
        description: lifecycleState
      - name: name
        type: string
        description: name
      outputParameters:
      - type: object
        mapping: $.
    - name: createcluster
      description: Create a cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: oracle-container-engine.createcluster
      outputParameters:
      - type: object
        mapping: $.
    - name: getcluster
      description: Get a cluster
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.getcluster
      outputParameters:
      - type: object
        mapping: $.
    - name: updatecluster
      description: Update a cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: oracle-container-engine.updatecluster
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecluster
      description: Delete a cluster
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: oracle-container-engine.deletecluster
      outputParameters:
      - type: object
        mapping: $.
    - name: createkubeconfig
      description: Create kubeconfig content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: oracle-container-engine.createkubeconfig
      outputParameters:
      - type: object
        mapping: $.
    - name: listnodepools
      description: List node pools
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.listnodepools
      with:
        clusterId: tools.clusterId
      inputParameters:
      - name: clusterId
        type: string
        description: clusterId
      outputParameters:
      - type: object
        mapping: $.
    - name: createnodepool
      description: Create a node pool
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: oracle-container-engine.createnodepool
      outputParameters:
      - type: object
        mapping: $.
    - name: getnodepool
      description: Get a node pool
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.getnodepool
      with:
        nodePoolId: tools.nodePoolId
      inputParameters:
      - name: nodePoolId
        type: string
        description: nodePoolId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletenodepool
      description: Delete a node pool
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: oracle-container-engine.deletenodepool
      with:
        nodePoolId: tools.nodePoolId
      inputParameters:
      - name: nodePoolId
        type: string
        description: nodePoolId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listvirtualnodepools
      description: List virtual node pools
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.listvirtualnodepools
      with:
        clusterId: tools.clusterId
      inputParameters:
      - name: clusterId
        type: string
        description: clusterId
      outputParameters:
      - type: object
        mapping: $.
    - name: listaddons
      description: List add-ons installed on a cluster
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.listaddons
      outputParameters:
      - type: object
        mapping: $.
    - name: installaddon
      description: Install a cluster add-on
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: oracle-container-engine.installaddon
      outputParameters:
      - type: object
        mapping: $.
    - name: listworkrequests
      description: List work requests
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.listworkrequests
      with:
        resourceId: tools.resourceId
      inputParameters:
      - name: resourceId
        type: string
        description: resourceId
      outputParameters:
      - type: object
        mapping: $.
    - name: getworkrequest
      description: Get a work request
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: oracle-container-engine.getworkrequest
      with:
        workRequestId: tools.workRequestId
      inputParameters:
      - name: workRequestId
        type: string
        description: workRequestId
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    ORACLE_CONTAINER_ENGINE_TOKEN: ORACLE_CONTAINER_ENGINE_TOKEN