VMware · Capability

VMware vSphere Automation REST API — Hosts

VMware vSphere Automation REST API — Hosts. 4 operations. Lead operation: Vmware List Esxi Hosts. Self-contained Naftiko capability covering one Vmware business surface.

Run with Naftiko VmwareHosts

What You Can Do

GET
Listhosts — Vmware List Esxi Hosts
/v1/vcenter/host
GET
Gethost — Vmware Get Esxi Host Details
/v1/vcenter/host/{host}
POST
Connecthost — Vmware Connect an Esxi Host
/v1/vcenter/host/{host}/connect
POST
Disconnecthost — Vmware Disconnect an Esxi Host
/v1/vcenter/host/{host}/disconnect

MCP Tools

vmware-list-esxi-hosts

Vmware List Esxi Hosts

read-only idempotent
vmware-get-esxi-host-details

Vmware Get Esxi Host Details

read-only idempotent
vmware-connect-esxi-host

Vmware Connect an Esxi Host

vmware-disconnect-esxi-host

Vmware Disconnect an Esxi Host

Capability Spec

vsphere-hosts.yaml Raw ↑
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: $.