naftiko: 1.0.0-alpha2 info: label: NetApp ONTAP REST API — Cluster description: 'NetApp ONTAP REST API — Cluster. 5 operations. Lead operation: Netapp Retrieve Cluster Information. Self-contained Naftiko capability covering one Netapp business surface.' tags: - Netapp - Cluster created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NETAPP_API_KEY: NETAPP_API_KEY capability: consumes: - type: http namespace: ontap-cluster baseUri: https://{clusterMgmtIp}/api description: NetApp ONTAP REST API — Cluster business capability. Self-contained, no shared references. resources: - name: cluster path: /cluster operations: - name: getcluster method: GET description: Netapp Retrieve Cluster Information outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecluster method: PATCH description: Netapp Update Cluster Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: cluster-licensing-licenses path: /cluster/licensing/licenses operations: - name: listlicenses method: GET description: Netapp List Cluster Licenses outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cluster-nodes path: /cluster/nodes operations: - name: listclusternodes method: GET description: Netapp List Cluster Nodes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cluster-nodes-uuid path: /cluster/nodes/{uuid} operations: - name: getclusternode method: GET description: Netapp Retrieve a Specific Cluster Node outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.NETAPP_API_KEY}}' exposes: - type: rest namespace: ontap-cluster-rest port: 8080 description: REST adapter for NetApp ONTAP REST API — Cluster. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/cluster name: cluster description: REST surface for cluster. operations: - method: GET name: getcluster description: Netapp Retrieve Cluster Information call: ontap-cluster.getcluster outputParameters: - type: object mapping: $. - method: PATCH name: updatecluster description: Netapp Update Cluster Configuration call: ontap-cluster.updatecluster with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/cluster/licensing/licenses name: cluster-licensing-licenses description: REST surface for cluster-licensing-licenses. operations: - method: GET name: listlicenses description: Netapp List Cluster Licenses call: ontap-cluster.listlicenses outputParameters: - type: object mapping: $. - path: /v1/cluster/nodes name: cluster-nodes description: REST surface for cluster-nodes. operations: - method: GET name: listclusternodes description: Netapp List Cluster Nodes call: ontap-cluster.listclusternodes outputParameters: - type: object mapping: $. - path: /v1/cluster/nodes/{uuid} name: cluster-nodes-uuid description: REST surface for cluster-nodes-uuid. operations: - method: GET name: getclusternode description: Netapp Retrieve a Specific Cluster Node call: ontap-cluster.getclusternode outputParameters: - type: object mapping: $. - type: mcp namespace: ontap-cluster-mcp port: 9090 transport: http description: MCP adapter for NetApp ONTAP REST API — Cluster. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: netapp-retrieve-cluster-information description: Netapp Retrieve Cluster Information hints: readOnly: true destructive: false idempotent: true call: ontap-cluster.getcluster outputParameters: - type: object mapping: $. - name: netapp-update-cluster-configuration description: Netapp Update Cluster Configuration hints: readOnly: false destructive: false idempotent: true call: ontap-cluster.updatecluster with: body: tools.body outputParameters: - type: object mapping: $. - name: netapp-list-cluster-licenses description: Netapp List Cluster Licenses hints: readOnly: true destructive: false idempotent: true call: ontap-cluster.listlicenses outputParameters: - type: object mapping: $. - name: netapp-list-cluster-nodes description: Netapp List Cluster Nodes hints: readOnly: true destructive: false idempotent: true call: ontap-cluster.listclusternodes outputParameters: - type: object mapping: $. - name: netapp-retrieve-specific-cluster-node description: Netapp Retrieve a Specific Cluster Node hints: readOnly: true destructive: false idempotent: true call: ontap-cluster.getclusternode outputParameters: - type: object mapping: $.