naftiko: 1.0.0-alpha2 info: label: Rancher Cluster Lifecycle Management description: 'Workflow capability for managing the full lifecycle of Kubernetes clusters through Rancher: provisioning new clusters, inspecting cluster health and node status, managing projects and namespaces, and decommissioning clusters. Designed for platform engineers and DevOps teams automating multi-cluster infrastructure.' tags: - Cluster Management - Kubernetes - Multi-Cluster - Platform Engineering - Infrastructure - Rancher created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: RANCHER_BEARER_TOKEN: RANCHER_BEARER_TOKEN RANCHER_HOST: RANCHER_HOST capability: consumes: - type: http namespace: rancher baseUri: https://{{RANCHER_HOST}}/v3 description: Rancher v3 Management API. authentication: type: bearer token: '{{RANCHER_BEARER_TOKEN}}' resources: - name: clusters path: /clusters description: Downstream Kubernetes clusters managed by Rancher. operations: - name: list-clusters method: GET description: List all clusters managed by Rancher. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-cluster method: POST description: Provision a new cluster. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' kubernetesVersion: '{{tools.kubernetesVersion}}' provider: '{{tools.provider}}' - name: cluster path: /clusters/{id} description: Single cluster resource. operations: - name: get-cluster method: GET description: Retrieve a single cluster by ID. inputParameters: - name: id in: path type: string required: true description: Cluster identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-cluster method: DELETE description: Remove a cluster from Rancher management. inputParameters: - name: id in: path type: string required: true description: Cluster identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects path: /projects description: Rancher projects grouping namespaces. operations: - name: list-projects method: GET description: List all projects. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-project method: POST description: Create a new project. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nodes path: /nodes description: Cluster nodes. operations: - name: list-nodes method: GET description: List all nodes. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users path: /users description: Rancher users. operations: - name: list-users method: GET description: List all users. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tokens path: /tokens description: API tokens. operations: - name: list-tokens method: GET description: List all API tokens. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-token method: POST description: Create a new API token. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalogs path: /catalogs description: Helm chart catalogs. operations: - name: list-catalogs method: GET description: List registered Helm catalogs. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps path: /apps description: Deployed Helm applications. operations: - name: list-apps method: GET description: List deployed apps. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: role-templates path: /roleTemplates description: Role templates for RBAC. operations: - name: list-role-templates method: GET description: List all role templates. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: rancher-cluster-lifecycle-api description: Unified REST API for Rancher cluster lifecycle management. resources: - path: /v1/clusters name: clusters description: Kubernetes clusters managed by Rancher. operations: - method: GET name: list-clusters description: List all clusters. call: rancher.list-clusters outputParameters: - type: object mapping: $. - method: POST name: create-cluster description: Provision a new cluster. call: rancher.create-cluster outputParameters: - type: object mapping: $. - path: /v1/clusters/{id} name: cluster description: Single cluster. operations: - method: GET name: get-cluster description: Get cluster details. call: rancher.get-cluster with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: delete-cluster description: Remove a cluster from Rancher. call: rancher.delete-cluster with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/nodes name: nodes description: Cluster nodes. operations: - method: GET name: list-nodes description: List all nodes across clusters. call: rancher.list-nodes outputParameters: - type: object mapping: $. - path: /v1/projects name: projects description: Rancher projects. operations: - method: GET name: list-projects description: List all projects. call: rancher.list-projects outputParameters: - type: object mapping: $. - method: POST name: create-project description: Create a new project. call: rancher.create-project outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: rancher-cluster-lifecycle-mcp transport: http description: MCP server for AI-assisted Kubernetes cluster lifecycle management via Rancher. tools: - name: list-clusters description: List all Kubernetes clusters managed by Rancher, including their state, provider, and Kubernetes version. hints: readOnly: true openWorld: true call: rancher.list-clusters outputParameters: - type: object mapping: $. - name: get-cluster description: Retrieve details for a specific Rancher-managed cluster by ID. hints: readOnly: true idempotent: true call: rancher.get-cluster with: id: tools.id outputParameters: - type: object mapping: $. - name: create-cluster description: Provision a new Kubernetes cluster through Rancher. Specify name, provider, and Kubernetes version. hints: readOnly: false destructive: false call: rancher.create-cluster with: name: tools.name description: tools.description kubernetesVersion: tools.kubernetesVersion provider: tools.provider outputParameters: - type: object mapping: $. - name: delete-cluster description: Remove a cluster from Rancher management. This deregisters or destroys the cluster. hints: readOnly: false destructive: true idempotent: true call: rancher.delete-cluster with: id: tools.id outputParameters: - type: object mapping: $. - name: list-nodes description: List all nodes across Rancher-managed clusters, including hostname, state, and roles. hints: readOnly: true openWorld: true call: rancher.list-nodes outputParameters: - type: object mapping: $. - name: list-projects description: List all Rancher projects, which group namespaces within clusters for tenancy and policy. hints: readOnly: true openWorld: true call: rancher.list-projects outputParameters: - type: object mapping: $. - name: create-project description: Create a new Rancher project within a cluster to organize namespaces. hints: readOnly: false destructive: false call: rancher.create-project outputParameters: - type: object mapping: $.