naftiko: 1.0.0-alpha2 info: label: VMware vSphere Automation REST API — Hosts description: 'VMware vSphere Automation REST API — Hosts. 4 operations. Lead operation: Vmware List Esxi Hosts. Self-contained Naftiko capability covering one Vmware business surface.' tags: - Vmware - Hosts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VMWARE_API_KEY: VMWARE_API_KEY capability: consumes: - type: http namespace: vsphere-hosts baseUri: https://{vcenter}/api description: VMware vSphere Automation REST API — Hosts business capability. Self-contained, no shared references. resources: - name: vcenter-host path: /vcenter/host operations: - name: listhosts method: GET description: Vmware List Esxi Hosts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter.hosts in: query type: array description: Identifiers of hosts to filter by - name: filter.names in: query type: array description: Names of hosts to filter by - name: filter.folders in: query type: array description: Folders that must contain the hosts - name: filter.datacenters in: query type: array description: Datacenters that must contain the hosts - name: filter.clusters in: query type: array description: Clusters that must contain the hosts - name: filter.connection_states in: query type: array description: Connection states to filter by - name: vcenter-host-host path: /vcenter/host/{host} operations: - name: gethost method: GET description: Vmware Get Esxi Host Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vcenter-host-host-connect path: /vcenter/host/{host}/connect operations: - name: connecthost method: POST description: Vmware Connect an Esxi Host outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vcenter-host-host-disconnect path: /vcenter/host/{host}/disconnect operations: - name: disconnecthost method: POST description: Vmware Disconnect an Esxi Host outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: vmware-api-session-id value: '{{env.VMWARE_API_KEY}}' placement: header exposes: - type: rest namespace: vsphere-hosts-rest port: 8080 description: REST adapter for VMware vSphere Automation REST API — Hosts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vcenter/host name: vcenter-host description: REST surface for vcenter-host. operations: - method: GET name: listhosts description: Vmware List Esxi Hosts call: vsphere-hosts.listhosts with: filter.hosts: rest.filter.hosts filter.names: rest.filter.names filter.folders: rest.filter.folders filter.datacenters: rest.filter.datacenters filter.clusters: rest.filter.clusters filter.connection_states: rest.filter.connection_states outputParameters: - type: object mapping: $. - path: /v1/vcenter/host/{host} name: vcenter-host-host description: REST surface for vcenter-host-host. operations: - method: GET name: gethost description: Vmware Get Esxi Host Details call: vsphere-hosts.gethost outputParameters: - type: object mapping: $. - path: /v1/vcenter/host/{host}/connect name: vcenter-host-host-connect description: REST surface for vcenter-host-host-connect. operations: - method: POST name: connecthost description: Vmware Connect an Esxi Host call: vsphere-hosts.connecthost outputParameters: - type: object mapping: $. - path: /v1/vcenter/host/{host}/disconnect name: vcenter-host-host-disconnect description: REST surface for vcenter-host-host-disconnect. operations: - method: POST name: disconnecthost description: Vmware Disconnect an Esxi Host call: vsphere-hosts.disconnecthost outputParameters: - type: object mapping: $. - type: mcp namespace: vsphere-hosts-mcp port: 9090 transport: http description: MCP adapter for VMware vSphere Automation REST API — Hosts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vmware-list-esxi-hosts description: Vmware List Esxi Hosts hints: readOnly: true destructive: false idempotent: true call: vsphere-hosts.listhosts with: filter.hosts: tools.filter.hosts filter.names: tools.filter.names filter.folders: tools.filter.folders filter.datacenters: tools.filter.datacenters filter.clusters: tools.filter.clusters filter.connection_states: tools.filter.connection_states outputParameters: - type: object mapping: $. - name: vmware-get-esxi-host-details description: Vmware Get Esxi Host Details hints: readOnly: true destructive: false idempotent: true call: vsphere-hosts.gethost outputParameters: - type: object mapping: $. - name: vmware-connect-esxi-host description: Vmware Connect an Esxi Host hints: readOnly: false destructive: false idempotent: false call: vsphere-hosts.connecthost outputParameters: - type: object mapping: $. - name: vmware-disconnect-esxi-host description: Vmware Disconnect an Esxi Host hints: readOnly: false destructive: false idempotent: false call: vsphere-hosts.disconnecthost outputParameters: - type: object mapping: $.