Microsoft Azure · Capability

Microsoft Azure ManagedLabsClient — Labs

Microsoft Azure ManagedLabsClient — Labs. 7 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs. Self-contained Naftiko capability covering one Microsoft Azure business surface.

Run with Naftiko Microsoft AzureLabs

What You Can Do

GET
Microsoftazurelabslist — Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs
GET
Microsoftazurelabsget — Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}
PUT
Microsoftazurelabscreateorupdate — Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}
DELETE
Microsoftazurelabsdelete — Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}
PATCH
Microsoftazurelabsupdate — Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}
POST
Microsoftazurelabsaddusers — Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Addusers
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/addusers
POST
Microsoftazurelabsregister — Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Register
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/register

MCP Tools

microsoft-azure-get-subscriptions-subscriptionid

Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs

read-only idempotent
microsoft-azure-get-subscriptions-subscriptionid-2

Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname

read-only idempotent
microsoft-azure-put-subscriptions-subscriptionid

Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname

idempotent
microsoft-azure-delete-subscriptions-subscriptionid

Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname

idempotent
microsoft-azure-patch-subscriptions-subscriptionid

Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname

idempotent
microsoft-azure-post-subscriptions-subscriptionid

Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Addusers

microsoft-azure-post-subscriptions-subscriptionid-2

Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Register

Capability Spec

managedlabsclient-labs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Azure ManagedLabsClient — Labs
  description: 'Microsoft Azure ManagedLabsClient — Labs. 7 operations. Lead operation: Microsoft Azure Get Subscriptions
    Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs. Self-contained
    Naftiko capability covering one Microsoft Azure business surface.'
  tags:
  - Microsoft Azure
  - Labs
  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: managedlabsclient-labs
    baseUri: https://management.azure.com
    description: Microsoft Azure ManagedLabsClient — Labs business capability. Self-contained, no shared references.
    resources:
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs
      operations:
      - name: microsoftazurelabslist
        method: GET
        description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: $expand
          in: query
          type: string
          description: 'Specify the $expand query. Example: ''properties($select=maxUsersInLab)'''
        - name: $filter
          in: query
          type: string
          description: The filter to apply to the operation.
        - name: $top
          in: query
          type: integer
          description: The maximum number of resources to return from the operation.
        - name: $orderby
          in: query
          type: string
          description: The ordering expression for the results, using OData notation.
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
      operations:
      - name: microsoftazurelabsget
        method: GET
        description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: $expand
          in: query
          type: string
          description: 'Specify the $expand query. Example: ''properties($select=maxUsersInLab)'''
      - name: microsoftazurelabscreateorupdate
        method: PUT
        description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: lab
          in: body
          type: string
          description: Represents a lab.
          required: true
      - name: microsoftazurelabsdelete
        method: DELETE
        description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
      - name: microsoftazurelabsupdate
        method: PATCH
        description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: lab
          in: body
          type: string
          description: Represents a lab.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers
      operations:
      - name: microsoftazurelabsaddusers
        method: POST
        description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname Addusers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: addUsersPayload
          in: body
          type: string
          description: Payload for Add Users operation on a Lab.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register
      operations:
      - name: microsoftazurelabsregister
        method: POST
        description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname Register
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labAccountName
          in: path
          type: string
          description: The name of the lab Account.
          required: true
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
  exposes:
  - type: rest
    namespace: managedlabsclient-labs-rest
    port: 8080
    description: REST adapter for Microsoft Azure ManagedLabsClient — Labs. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: GET
        name: microsoftazurelabslist
        description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs
        call: managedlabsclient-labs.microsoftazurelabslist
        with:
          labAccountName: rest.labAccountName
          $expand: rest.$expand
          $filter: rest.$filter
          $top: rest.$top
          $orderby: rest.$orderby
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: GET
        name: microsoftazurelabsget
        description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        call: managedlabsclient-labs.microsoftazurelabsget
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
          $expand: rest.$expand
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: microsoftazurelabscreateorupdate
        description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        call: managedlabsclient-labs.microsoftazurelabscreateorupdate
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
          lab: rest.lab
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazurelabsdelete
        description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        call: managedlabsclient-labs.microsoftazurelabsdelete
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: microsoftazurelabsupdate
        description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname
        call: managedlabsclient-labs.microsoftazurelabsupdate
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
          lab: rest.lab
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/addusers
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurelabsaddusers
        description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname Addusers
        call: managedlabsclient-labs.microsoftazurelabsaddusers
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
          addUsersPayload: rest.addUsersPayload
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/register
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: microsoftazurelabsregister
        description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
          Labservices Labaccounts Labaccountname Labs Labname Register
        call: managedlabsclient-labs.microsoftazurelabsregister
        with:
          labAccountName: rest.labAccountName
          labName: rest.labName
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: managedlabsclient-labs-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft Azure ManagedLabsClient — Labs. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: microsoft-azure-get-subscriptions-subscriptionid
      description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices
        Labaccounts Labaccountname Labs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: managedlabsclient-labs.microsoftazurelabslist
      with:
        labAccountName: tools.labAccountName
        $expand: tools.$expand
        $filter: tools.$filter
        $top: tools.$top
        $orderby: tools.$orderby
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-get-subscriptions-subscriptionid-2
      description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices
        Labaccounts Labaccountname Labs Labname
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: managedlabsclient-labs.microsoftazurelabsget
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
        $expand: tools.$expand
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-put-subscriptions-subscriptionid
      description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices
        Labaccounts Labaccountname Labs Labname
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: managedlabsclient-labs.microsoftazurelabscreateorupdate
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
        lab: tools.lab
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-delete-subscriptions-subscriptionid
      description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
        Labservices Labaccounts Labaccountname Labs Labname
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: managedlabsclient-labs.microsoftazurelabsdelete
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-patch-subscriptions-subscriptionid
      description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
        Labservices Labaccounts Labaccountname Labs Labname
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: managedlabsclient-labs.microsoftazurelabsupdate
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
        lab: tools.lab
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-post-subscriptions-subscriptionid
      description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
        Labservices Labaccounts Labaccountname Labs Labname Addusers
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: managedlabsclient-labs.microsoftazurelabsaddusers
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
        addUsersPayload: tools.addUsersPayload
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-post-subscriptions-subscriptionid-2
      description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft
        Labservices Labaccounts Labaccountname Labs Labname Register
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: managedlabsclient-labs.microsoftazurelabsregister
      with:
        labAccountName: tools.labAccountName
        labName: tools.labName
      outputParameters:
      - type: object
        mapping: $.