Microsoft Azure · Capability

Microsoft Azure LabServicesClient — VirtualMachine

Microsoft Azure LabServicesClient — VirtualMachine. 7 operations. Lead operation: Microsoft Azure Get All Virtual Machines For A Lab. Self-contained Naftiko capability covering one Microsoft Azure business surface.

Run with Naftiko Microsoft AzureVirtualMachine

What You Can Do

GET
Microsoftazurevirtualmachineslistbylab — Microsoft Azure Get All Virtual Machines For A Lab
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines
GET
Microsoftazurevirtualmachinesget — Microsoft Azure Get A Lab Virtual Machine
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}
POST
Microsoftazurevirtualmachinesredeploy — Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/redeploy
POST
Microsoftazurevirtualmachinesreimage — Microsoft Azure Re Image A Lab Virtual Machine
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/reimage
POST
Microsoftazurevirtualmachinesresetpassword — Microsoft Azure Reset A Lab Virtual Machine Password
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/resetpassword
POST
Microsoftazurevirtualmachinesstart — Microsoft Azure Start A Lab Virtual Machine
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/start
POST
Microsoftazurevirtualmachinesstop — Microsoft Azure Stop A Lab Virtual Machine
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/stop

MCP Tools

microsoft-azure-get-all-virtual

Microsoft Azure Get All Virtual Machines For A Lab

read-only idempotent
microsoft-azure-get-lab-virtual

Microsoft Azure Get A Lab Virtual Machine

read-only idempotent
microsoft-azure-redeploy-lab-virtual

Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity

microsoft-azure-re-image-lab

Microsoft Azure Re Image A Lab Virtual Machine

microsoft-azure-reset-lab-virtual

Microsoft Azure Reset A Lab Virtual Machine Password

microsoft-azure-start-lab-virtual

Microsoft Azure Start A Lab Virtual Machine

microsoft-azure-stop-lab-virtual

Microsoft Azure Stop A Lab Virtual Machine

Capability Spec

labservicesclient-virtualmachine.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Azure LabServicesClient — VirtualMachine
  description: 'Microsoft Azure LabServicesClient — VirtualMachine. 7 operations. Lead operation: Microsoft Azure Get All
    Virtual Machines For A Lab. Self-contained Naftiko capability covering one Microsoft Azure business surface.'
  tags:
  - Microsoft Azure
  - VirtualMachine
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY
capability:
  consumes:
  - type: http
    namespace: labservicesclient-virtualmachine
    baseUri: https://management.azure.com
    description: Microsoft Azure LabServicesClient — VirtualMachine business capability. Self-contained, no shared references.
    resources:
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines
      operations:
      - name: microsoftazurevirtualmachineslistbylab
        method: GET
        description: Microsoft Azure Get All Virtual Machines For A Lab
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}
      operations:
      - name: microsoftazurevirtualmachinesget
        method: GET
        description: Microsoft Azure Get A Lab Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy
      operations:
      - name: microsoftazurevirtualmachinesredeploy
        method: POST
        description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage
      operations:
      - name: microsoftazurevirtualmachinesreimage
        method: POST
        description: Microsoft Azure Re Image A Lab Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword
      operations:
      - name: microsoftazurevirtualmachinesresetpassword
        method: POST
        description: Microsoft Azure Reset A Lab Virtual Machine Password
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: The request body.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start
      operations:
      - name: microsoftazurevirtualmachinesstart
        method: POST
        description: Microsoft Azure Start A Lab Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop
      operations:
      - name: microsoftazurevirtualmachinesstop
        method: POST
        description: Microsoft Azure Stop A Lab Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: labservicesclient-virtualmachine-rest
    port: 8080
    description: REST adapter for Microsoft Azure LabServicesClient — VirtualMachine. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: GET
        name: microsoftazurevirtualmachineslistbylab
        description: Microsoft Azure Get All Virtual Machines For A Lab
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachineslistbylab
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: GET
        name: microsoftazurevirtualmachinesget
        description: Microsoft Azure Get A Lab Virtual Machine
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesget
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/redeploy
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurevirtualmachinesredeploy
        description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesredeploy
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/reimage
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurevirtualmachinesreimage
        description: Microsoft Azure Re Image A Lab Virtual Machine
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesreimage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/resetpassword
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurevirtualmachinesresetpassword
        description: Microsoft Azure Reset A Lab Virtual Machine Password
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesresetpassword
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/start
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurevirtualmachinesstart
        description: Microsoft Azure Start A Lab Virtual Machine
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstart
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/stop
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurevirtualmachinesstop
        description: Microsoft Azure Stop A Lab Virtual Machine
        call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstop
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: labservicesclient-virtualmachine-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft Azure LabServicesClient — VirtualMachine. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: microsoft-azure-get-all-virtual
      description: Microsoft Azure Get All Virtual Machines For A Lab
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachineslistbylab
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-get-lab-virtual
      description: Microsoft Azure Get A Lab Virtual Machine
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesget
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-redeploy-lab-virtual
      description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesredeploy
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-re-image-lab
      description: Microsoft Azure Re Image A Lab Virtual Machine
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesreimage
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-reset-lab-virtual
      description: Microsoft Azure Reset A Lab Virtual Machine Password
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesresetpassword
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-start-lab-virtual
      description: Microsoft Azure Start A Lab Virtual Machine
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstart
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-stop-lab-virtual
      description: Microsoft Azure Stop A Lab Virtual Machine
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstop
      outputParameters:
      - type: object
        mapping: $.