Portainer · Capability

PortainerCE API — helm

PortainerCE API — helm. 11 operations. Lead operation: List Helm Releases. Self-contained Naftiko capability covering one Portainer business surface.

Run with Naftiko Portainerhelm

What You Can Do

GET
Helmlist — List Helm Releases
/v1/endpoints/{id}/kubernetes/helm
POST
Helminstall — Install Helm Chart
/v1/endpoints/{id}/kubernetes/helm
GET
Helmget — Get a helm release
/v1/endpoints/{id}/kubernetes/helm/{name}
DELETE
Helmdelete — Delete Helm Release
/v1/endpoints/{id}/kubernetes/helm/{release}
GET
Helmgethistory — Get a historical list of releases
/v1/endpoints/{id}/kubernetes/helm/{release}/history
POST
Helmrollback — Rollback a helm release
/v1/endpoints/{id}/kubernetes/helm/{release}/rollback
GET
Helmreposearch — Search Helm Charts
/v1/templates/helm
GET
Helmshow — Show Helm Chart Information
/v1/templates/helm/{command}
GET
Helmuserrepositorieslist — List a users helm repositories
/v1/users/{id}/helm/repositories
POST
Helmuserrepositorycreate — Create a user helm repository
/v1/users/{id}/helm/repositories
DELETE
Helmuserrepositorydelete — Delete a users helm repositoryies
/v1/users/{id}/helm/repositories/{repositoryid}

MCP Tools

list-helm-releases

List Helm Releases

read-only idempotent
install-helm-chart

Install Helm Chart

get-helm-release

Get a helm release

read-only idempotent
delete-helm-release

Delete Helm Release

idempotent
get-historical-list-releases

Get a historical list of releases

read-only idempotent
rollback-helm-release

Rollback a helm release

search-helm-charts

Search Helm Charts

read-only idempotent
show-helm-chart-information

Show Helm Chart Information

read-only idempotent
list-users-helm-repositories

List a users helm repositories

read-only idempotent
create-user-helm-repository

Create a user helm repository

delete-users-helm-repositoryies

Delete a users helm repositoryies

idempotent

Capability Spec

portainer-helm.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PortainerCE API — helm
  description: 'PortainerCE API — helm. 11 operations. Lead operation: List Helm Releases. Self-contained Naftiko capability
    covering one Portainer business surface.'
  tags:
  - Portainer
  - helm
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PORTAINER_API_KEY: PORTAINER_API_KEY
capability:
  consumes:
  - type: http
    namespace: portainer-helm
    baseUri: ''
    description: PortainerCE API — helm business capability. Self-contained, no shared references.
    resources:
    - name: endpoints-id-kubernetes-helm
      path: /endpoints/{id}/kubernetes/helm
      operations:
      - name: helmlist
        method: GET
        description: List Helm Releases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: namespace
          in: query
          type: string
          description: specify an optional namespace
        - name: filter
          in: query
          type: string
          description: specify an optional filter
        - name: selector
          in: query
          type: string
          description: specify an optional selector
      - name: helminstall
        method: POST
        description: Install Helm Chart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: payload
          in: body
          type: string
          description: Chart details
          required: true
        - name: dryRun
          in: query
          type: boolean
          description: Dry run
    - name: endpoints-id-kubernetes-helm-name
      path: /endpoints/{id}/kubernetes/helm/{name}
      operations:
      - name: helmget
        method: GET
        description: Get a helm release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: name
          in: path
          type: string
          description: Helm release name
          required: true
        - name: namespace
          in: query
          type: string
          description: specify an optional namespace
        - name: showResources
          in: query
          type: boolean
          description: show resources of the release
        - name: revision
          in: query
          type: integer
          description: specify an optional revision
    - name: endpoints-id-kubernetes-helm-release
      path: /endpoints/{id}/kubernetes/helm/{release}
      operations:
      - name: helmdelete
        method: DELETE
        description: Delete Helm Release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: release
          in: path
          type: string
          description: The name of the release/application to uninstall
          required: true
        - name: namespace
          in: query
          type: string
          description: An optional namespace
    - name: endpoints-id-kubernetes-helm-release-history
      path: /endpoints/{id}/kubernetes/helm/{release}/history
      operations:
      - name: helmgethistory
        method: GET
        description: Get a historical list of releases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: name
          in: path
          type: string
          description: Helm release name
          required: true
        - name: namespace
          in: query
          type: string
          description: specify an optional namespace
    - name: endpoints-id-kubernetes-helm-release-rollback
      path: /endpoints/{id}/kubernetes/helm/{release}/rollback
      operations:
      - name: helmrollback
        method: POST
        description: Rollback a helm release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Environment(Endpoint) identifier
          required: true
        - name: release
          in: path
          type: string
          description: Helm release name
          required: true
        - name: namespace
          in: query
          type: string
          description: specify an optional namespace
        - name: revision
          in: query
          type: integer
          description: specify the revision to rollback to (defaults to previous revision if not specified)
        - name: wait
          in: query
          type: boolean
          description: 'wait for resources to be ready (default: false)'
        - name: waitForJobs
          in: query
          type: boolean
          description: 'wait for jobs to complete before marking the release as successful (default: false)'
        - name: recreate
          in: query
          type: boolean
          description: 'performs pods restart for the resource if applicable (default: true)'
        - name: force
          in: query
          type: boolean
          description: 'force resource update through delete/recreate if needed (default: false)'
        - name: timeout
          in: query
          type: integer
          description: 'time to wait for any individual Kubernetes operation in seconds (default: 300)'
    - name: templates-helm
      path: /templates/helm
      operations:
      - name: helmreposearch
        method: GET
        description: Search Helm Charts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: repo
          in: query
          type: string
          description: Helm repository URL
          required: true
        - name: chart
          in: query
          type: string
          description: Helm chart name
        - name: useCache
          in: query
          type: string
          description: If true will use cache to search
    - name: templates-helm-command
      path: /templates/helm/{command}
      operations:
      - name: helmshow
        method: GET
        description: Show Helm Chart Information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: repo
          in: query
          type: string
          description: Helm repository URL
          required: true
        - name: chart
          in: query
          type: string
          description: Chart name
          required: true
        - name: version
          in: query
          type: string
          description: Chart version
          required: true
        - name: command
          in: path
          type: string
          description: chart/values/readme
          required: true
    - name: users-id-helm-repositories
      path: /users/{id}/helm/repositories
      operations:
      - name: helmuserrepositorieslist
        method: GET
        description: List a users helm repositories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: User identifier
          required: true
      - name: helmuserrepositorycreate
        method: POST
        description: Create a user helm repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: User identifier
          required: true
        - name: payload
          in: body
          type: string
          description: Helm Repository
          required: true
    - name: users-id-helm-repositories-repositoryID
      path: /users/{id}/helm/repositories/{repositoryID}
      operations:
      - name: helmuserrepositorydelete
        method: DELETE
        description: Delete a users helm repositoryies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: User identifier
          required: true
        - name: repositoryID
          in: path
          type: integer
          description: Repository identifier
          required: true
  exposes:
  - type: rest
    namespace: portainer-helm-rest
    port: 8080
    description: REST adapter for PortainerCE API — helm. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/endpoints/{id}/kubernetes/helm
      name: endpoints-id-kubernetes-helm
      description: REST surface for endpoints-id-kubernetes-helm.
      operations:
      - method: GET
        name: helmlist
        description: List Helm Releases
        call: portainer-helm.helmlist
        with:
          id: rest.id
          namespace: rest.namespace
          filter: rest.filter
          selector: rest.selector
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: helminstall
        description: Install Helm Chart
        call: portainer-helm.helminstall
        with:
          id: rest.id
          payload: rest.payload
          dryRun: rest.dryRun
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/endpoints/{id}/kubernetes/helm/{name}
      name: endpoints-id-kubernetes-helm-name
      description: REST surface for endpoints-id-kubernetes-helm-name.
      operations:
      - method: GET
        name: helmget
        description: Get a helm release
        call: portainer-helm.helmget
        with:
          id: rest.id
          name: rest.name
          namespace: rest.namespace
          showResources: rest.showResources
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/endpoints/{id}/kubernetes/helm/{release}
      name: endpoints-id-kubernetes-helm-release
      description: REST surface for endpoints-id-kubernetes-helm-release.
      operations:
      - method: DELETE
        name: helmdelete
        description: Delete Helm Release
        call: portainer-helm.helmdelete
        with:
          id: rest.id
          release: rest.release
          namespace: rest.namespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/endpoints/{id}/kubernetes/helm/{release}/history
      name: endpoints-id-kubernetes-helm-release-history
      description: REST surface for endpoints-id-kubernetes-helm-release-history.
      operations:
      - method: GET
        name: helmgethistory
        description: Get a historical list of releases
        call: portainer-helm.helmgethistory
        with:
          id: rest.id
          name: rest.name
          namespace: rest.namespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/endpoints/{id}/kubernetes/helm/{release}/rollback
      name: endpoints-id-kubernetes-helm-release-rollback
      description: REST surface for endpoints-id-kubernetes-helm-release-rollback.
      operations:
      - method: POST
        name: helmrollback
        description: Rollback a helm release
        call: portainer-helm.helmrollback
        with:
          id: rest.id
          release: rest.release
          namespace: rest.namespace
          revision: rest.revision
          wait: rest.wait
          waitForJobs: rest.waitForJobs
          recreate: rest.recreate
          force: rest.force
          timeout: rest.timeout
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/helm
      name: templates-helm
      description: REST surface for templates-helm.
      operations:
      - method: GET
        name: helmreposearch
        description: Search Helm Charts
        call: portainer-helm.helmreposearch
        with:
          repo: rest.repo
          chart: rest.chart
          useCache: rest.useCache
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/helm/{command}
      name: templates-helm-command
      description: REST surface for templates-helm-command.
      operations:
      - method: GET
        name: helmshow
        description: Show Helm Chart Information
        call: portainer-helm.helmshow
        with:
          repo: rest.repo
          chart: rest.chart
          version: rest.version
          command: rest.command
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{id}/helm/repositories
      name: users-id-helm-repositories
      description: REST surface for users-id-helm-repositories.
      operations:
      - method: GET
        name: helmuserrepositorieslist
        description: List a users helm repositories
        call: portainer-helm.helmuserrepositorieslist
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: helmuserrepositorycreate
        description: Create a user helm repository
        call: portainer-helm.helmuserrepositorycreate
        with:
          id: rest.id
          payload: rest.payload
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{id}/helm/repositories/{repositoryid}
      name: users-id-helm-repositories-repositoryid
      description: REST surface for users-id-helm-repositories-repositoryID.
      operations:
      - method: DELETE
        name: helmuserrepositorydelete
        description: Delete a users helm repositoryies
        call: portainer-helm.helmuserrepositorydelete
        with:
          id: rest.id
          repositoryID: rest.repositoryID
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: portainer-helm-mcp
    port: 9090
    transport: http
    description: MCP adapter for PortainerCE API — helm. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-helm-releases
      description: List Helm Releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmlist
      with:
        id: tools.id
        namespace: tools.namespace
        filter: tools.filter
        selector: tools.selector
      outputParameters:
      - type: object
        mapping: $.
    - name: install-helm-chart
      description: Install Helm Chart
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-helm.helminstall
      with:
        id: tools.id
        payload: tools.payload
        dryRun: tools.dryRun
      outputParameters:
      - type: object
        mapping: $.
    - name: get-helm-release
      description: Get a helm release
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmget
      with:
        id: tools.id
        name: tools.name
        namespace: tools.namespace
        showResources: tools.showResources
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-helm-release
      description: Delete Helm Release
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: portainer-helm.helmdelete
      with:
        id: tools.id
        release: tools.release
        namespace: tools.namespace
      outputParameters:
      - type: object
        mapping: $.
    - name: get-historical-list-releases
      description: Get a historical list of releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmgethistory
      with:
        id: tools.id
        name: tools.name
        namespace: tools.namespace
      outputParameters:
      - type: object
        mapping: $.
    - name: rollback-helm-release
      description: Rollback a helm release
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-helm.helmrollback
      with:
        id: tools.id
        release: tools.release
        namespace: tools.namespace
        revision: tools.revision
        wait: tools.wait
        waitForJobs: tools.waitForJobs
        recreate: tools.recreate
        force: tools.force
        timeout: tools.timeout
      outputParameters:
      - type: object
        mapping: $.
    - name: search-helm-charts
      description: Search Helm Charts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmreposearch
      with:
        repo: tools.repo
        chart: tools.chart
        useCache: tools.useCache
      outputParameters:
      - type: object
        mapping: $.
    - name: show-helm-chart-information
      description: Show Helm Chart Information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmshow
      with:
        repo: tools.repo
        chart: tools.chart
        version: tools.version
        command: tools.command
      outputParameters:
      - type: object
        mapping: $.
    - name: list-users-helm-repositories
      description: List a users helm repositories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-helm.helmuserrepositorieslist
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-user-helm-repository
      description: Create a user helm repository
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-helm.helmuserrepositorycreate
      with:
        id: tools.id
        payload: tools.payload
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-users-helm-repositoryies
      description: Delete a users helm repositoryies
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: portainer-helm.helmuserrepositorydelete
      with:
        id: tools.id
        repositoryID: tools.repositoryID
      outputParameters:
      - type: object
        mapping: $.