Microsoft Azure · Capability

Microsoft Azure Custom Vision Training Client — ImageApi

Microsoft Azure Custom Vision Training Client — ImageApi. 19 operations. Lead operation: Microsoft Azure Get Images For A Given Project Iteration Or Workspace. Self-contained Naftiko capability covering one Microsoft Azure business surface.

Run with Naftiko Microsoft AzureImageApi

What You Can Do

GET
Microsoftazuregetimages — Microsoft Azure Get Images For A Given Project Iteration Or Workspace
/v1/projects/{projectid}/images
POST
Microsoftazurecreateimagesfromdata — Microsoft Azure Add The Provided Images To The Set Of Training Images
/v1/projects/{projectid}/images
DELETE
Microsoftazuredeleteimages — Microsoft Azure Delete Images From The Set Of Training Images
/v1/projects/{projectid}/images
GET
Microsoftazuregetimagecount — Microsoft Azure Get The Number Of Images
/v1/projects/{projectid}/images/count
POST
Microsoftazurecreateimagesfromfiles — Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images
/v1/projects/{projectid}/images/files
GET
Microsoftazuregetimagesbyids — Microsoft Azure Get Images By Id For A Given Project Iteration
/v1/projects/{projectid}/images/id
POST
Microsoftazureupdateimagemetadata — Microsoft Azure Update Metadata Of Images
/v1/projects/{projectid}/images/metadata
POST
Microsoftazurecreateimagesfrompredictions — Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images
/v1/projects/{projectid}/images/predictions
POST
Microsoftazurecreateimageregions — Microsoft Azure Create A Set Of Image Regions
/v1/projects/{projectid}/images/regions
DELETE
Microsoftazuredeleteimageregions — Microsoft Azure Delete A Set Of Image Regions
/v1/projects/{projectid}/images/regions
POST
Microsoftazurequerysuggestedimages — Microsoft Azure Get Untagged Images Whose Suggested Tags Match Given Tags Returns Empty Array If No Images Are Found
/v1/projects/{projectid}/images/suggested
POST
Microsoftazurequerysuggestedimagecount — Microsoft Azure Get Count Of Images Whose Suggested Tags Match Given Tags And Their Probabilities Are Greater Than Or Equal To The Given Threshold Returns Count As 0 If None Found
/v1/projects/{projectid}/images/suggested/count
GET
Microsoftazuregettaggedimages — Microsoft Azure Get Tagged Images For A Given Project Iteration
/v1/projects/{projectid}/images/tagged
GET
Microsoftazuregettaggedimagecount — Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids}
/v1/projects/{projectid}/images/tagged/count
POST
Microsoftazurecreateimagetags — Microsoft Azure Associate A Set Of Images With A Set Of Tags
/v1/projects/{projectid}/images/tags
DELETE
Microsoftazuredeleteimagetags — Microsoft Azure Remove A Set Of Tags From A Set Of Images
/v1/projects/{projectid}/images/tags
GET
Microsoftazuregetuntaggedimages — Microsoft Azure Get Untagged Images For A Given Project Iteration
/v1/projects/{projectid}/images/untagged
GET
Microsoftazuregetuntaggedimagecount — Microsoft Azure Gets The Number Of Untagged Images
/v1/projects/{projectid}/images/untagged/count
POST
Microsoftazurecreateimagesfromurls — Microsoft Azure Add The Provided Images Urls To The Set Of Training Images
/v1/projects/{projectid}/images/urls

MCP Tools

microsoft-azure-get-images-given

Microsoft Azure Get Images For A Given Project Iteration Or Workspace

read-only idempotent
microsoft-azure-add-provided-images

Microsoft Azure Add The Provided Images To The Set Of Training Images

microsoft-azure-delete-images-set

Microsoft Azure Delete Images From The Set Of Training Images

idempotent
microsoft-azure-get-number-images

Microsoft Azure Get The Number Of Images

read-only idempotent
microsoft-azure-add-provided-batch

Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images

microsoft-azure-get-images-id

Microsoft Azure Get Images By Id For A Given Project Iteration

read-only idempotent
microsoft-azure-update-metadata-images

Microsoft Azure Update Metadata Of Images

microsoft-azure-add-specified-predicted

Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images

microsoft-azure-create-set-image

Microsoft Azure Create A Set Of Image Regions

microsoft-azure-delete-set-image

Microsoft Azure Delete A Set Of Image Regions

idempotent
microsoft-azure-get-untagged-images

Microsoft Azure Get Untagged Images Whose Suggested Tags Match Given Tags Returns Empty Array If No Images Are Found

read-only
microsoft-azure-get-count-images

Microsoft Azure Get Count Of Images Whose Suggested Tags Match Given Tags And Their Probabilities Are Greater Than Or Equal To The Given Threshold Returns Count As 0 If None Found

read-only
microsoft-azure-get-tagged-images

Microsoft Azure Get Tagged Images For A Given Project Iteration

read-only idempotent
microsoft-azure-gets-number-images

Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids}

read-only idempotent
microsoft-azure-associate-set-images

Microsoft Azure Associate A Set Of Images With A Set Of Tags

microsoft-azure-remove-set-tags

Microsoft Azure Remove A Set Of Tags From A Set Of Images

idempotent
microsoft-azure-get-untagged-images-2

Microsoft Azure Get Untagged Images For A Given Project Iteration

read-only idempotent
microsoft-azure-gets-number-untagged

Microsoft Azure Gets The Number Of Untagged Images

read-only idempotent
microsoft-azure-add-provided-images-2

Microsoft Azure Add The Provided Images Urls To The Set Of Training Images

Capability Spec

custom-vision-training-client-imageapi.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Azure Custom Vision Training Client — ImageApi
  description: 'Microsoft Azure Custom Vision Training Client — ImageApi. 19 operations. Lead operation: Microsoft Azure Get
    Images For A Given Project Iteration Or Workspace. Self-contained Naftiko capability covering one Microsoft Azure business
    surface.'
  tags:
  - Microsoft Azure
  - ImageApi
  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: custom-vision-training-client-imageapi
    baseUri: https://southcentralus.api.cognitive.microsoft.com/customvision/v3.3/training
    description: Microsoft Azure Custom Vision Training Client — ImageApi business capability. Self-contained, no shared references.
    resources:
    - name: projects-projectId-images
      path: /projects/{projectId}/images
      operations:
      - name: microsoftazuregetimages
        method: GET
        description: Microsoft Azure Get Images For A Given Project Iteration Or Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
        - name: tagIds
          in: query
          type: array
          description: A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.
        - name: taggingStatus
          in: query
          type: string
          description: The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.
        - name: $filter
          in: query
          type: string
          description: "An expression to filter the images against image metadata. Only images where the expression evaluates\
            \ to true are included in the response.\r"
        - name: orderBy
          in: query
          type: string
          description: The ordering. Defaults to newest.
        - name: take
          in: query
          type: integer
          description: Maximum number of images to return. Defaults to 50, limited to 256.
        - name: skip
          in: query
          type: integer
          description: Number of images to skip before beginning the image batch. Defaults to 0.
      - name: microsoftazurecreateimagesfromdata
        method: POST
        description: Microsoft Azure Add The Provided Images To The Set Of Training Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: tagIds
          in: query
          type: array
          description: The tags ids with which to tag each image. Limited to 20.
        - name: imageData
          in: formData
          type: file
          description: Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.
          required: true
      - name: microsoftazuredeleteimages
        method: DELETE
        description: Microsoft Azure Delete Images From The Set Of Training Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: imageIds
          in: query
          type: array
          description: Ids of the images to be deleted. Limited to 256 images per batch.
        - name: allImages
          in: query
          type: boolean
          description: Flag to specify delete all images, specify this flag or a list of images. Using this flag will return
            a 202 response to indicate the images are being deleted.
        - name: allIterations
          in: query
          type: boolean
          description: Removes these images from all iterations, not just the current workspace. Using this flag will return
            a 202 response to indicate the images are being deleted.
    - name: projects-projectId-images-count
      path: /projects/{projectId}/images/count
      operations:
      - name: microsoftazuregetimagecount
        method: GET
        description: Microsoft Azure Get The Number Of Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
        - name: taggingStatus
          in: query
          type: string
          description: The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.
        - name: $filter
          in: query
          type: string
          description: "An expression to filter the images against image metadata. Only images where the expression evaluates\
            \ to true are included in the response.\r"
        - name: tagIds
          in: query
          type: array
          description: A list of tags ids to filter the images to count. Defaults to all tags when null.
    - name: projects-projectId-images-files
      path: /projects/{projectId}/images/files
      operations:
      - name: microsoftazurecreateimagesfromfiles
        method: POST
        description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: batch
          in: body
          type: string
          description: The batch of image files to add. Limited to 64 images and 20 tags per batch.
          required: true
    - name: projects-projectId-images-id
      path: /projects/{projectId}/images/id
      operations:
      - name: microsoftazuregetimagesbyids
        method: GET
        description: Microsoft Azure Get Images By Id For A Given Project Iteration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: imageIds
          in: query
          type: array
          description: The list of image ids to retrieve. Limited to 256.
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
    - name: projects-projectId-images-metadata
      path: /projects/{projectId}/images/metadata
      operations:
      - name: microsoftazureupdateimagemetadata
        method: POST
        description: Microsoft Azure Update Metadata Of Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: imageIds
          in: query
          type: array
          description: The list of image ids to update. Limited to 64.
          required: true
        - name: metadata
          in: body
          type: object
          description: The metadata to be updated to the specified images. Limited to 50 key-value pairs per image. The length
            of key is limited to 256. The length of value is limited
          required: true
    - name: projects-projectId-images-predictions
      path: /projects/{projectId}/images/predictions
      operations:
      - name: microsoftazurecreateimagesfrompredictions
        method: POST
        description: Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: batch
          in: body
          type: string
          description: Image, tag ids, and metadata. Limited to 64 images and 20 tags per batch.
          required: true
    - name: projects-projectId-images-regions
      path: /projects/{projectId}/images/regions
      operations:
      - name: microsoftazurecreateimageregions
        method: POST
        description: Microsoft Azure Create A Set Of Image Regions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: batch
          in: body
          type: string
          description: Batch of image regions which include a tag and bounding box. Limited to 64.
          required: true
      - name: microsoftazuredeleteimageregions
        method: DELETE
        description: Microsoft Azure Delete A Set Of Image Regions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: regionIds
          in: query
          type: array
          description: Regions to delete. Limited to 64.
          required: true
    - name: projects-projectId-images-suggested
      path: /projects/{projectId}/images/suggested
      operations:
      - name: microsoftazurequerysuggestedimages
        method: POST
        description: Microsoft Azure Get Untagged Images Whose Suggested Tags Match Given Tags Returns Empty Array If No Images
          Are Found
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: IterationId to use for the suggested tags and regions.
          required: true
        - name: query
          in: body
          type: string
          description: Contains properties we need to query suggested images.
          required: true
    - name: projects-projectId-images-suggested-count
      path: /projects/{projectId}/images/suggested/count
      operations:
      - name: microsoftazurequerysuggestedimagecount
        method: POST
        description: Microsoft Azure Get Count Of Images Whose Suggested Tags Match Given Tags And Their Probabilities Are
          Greater Than Or Equal To The Given Threshold Returns Count As 0 If None Found
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: IterationId to use for the suggested tags and regions.
          required: true
        - name: query
          in: body
          type: string
          description: Model that contains tagIds, threshold and projectType to query by.
          required: true
    - name: projects-projectId-images-tagged
      path: /projects/{projectId}/images/tagged
      operations:
      - name: microsoftazuregettaggedimages
        method: GET
        description: Microsoft Azure Get Tagged Images For A Given Project Iteration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
        - name: tagIds
          in: query
          type: array
          description: A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.
        - name: orderBy
          in: query
          type: string
          description: The ordering. Defaults to newest.
        - name: take
          in: query
          type: integer
          description: Maximum number of images to return. Defaults to 50, limited to 256.
        - name: skip
          in: query
          type: integer
          description: Number of images to skip before beginning the image batch. Defaults to 0.
    - name: projects-projectId-images-tagged-count
      path: /projects/{projectId}/images/tagged/count
      operations:
      - name: microsoftazuregettaggedimagecount
        method: GET
        description: Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids}
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
        - name: tagIds
          in: query
          type: array
          description: A list of tags ids to filter the images to count. Defaults to all tags when null.
    - name: projects-projectId-images-tags
      path: /projects/{projectId}/images/tags
      operations:
      - name: microsoftazurecreateimagetags
        method: POST
        description: Microsoft Azure Associate A Set Of Images With A Set Of Tags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: batch
          in: body
          type: string
          description: Batch of image tags. Limited to 128 tags per batch.
          required: true
      - name: microsoftazuredeleteimagetags
        method: DELETE
        description: Microsoft Azure Remove A Set Of Tags From A Set Of Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: imageIds
          in: query
          type: array
          description: Image ids. Limited to 64 images.
          required: true
        - name: tagIds
          in: query
          type: array
          description: Tags to be deleted from the specified images. Limited to 20 tags.
          required: true
    - name: projects-projectId-images-untagged
      path: /projects/{projectId}/images/untagged
      operations:
      - name: microsoftazuregetuntaggedimages
        method: GET
        description: Microsoft Azure Get Untagged Images For A Given Project Iteration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
        - name: orderBy
          in: query
          type: string
          description: The ordering. Defaults to newest.
        - name: take
          in: query
          type: integer
          description: Maximum number of images to return. Defaults to 50, limited to 256.
        - name: skip
          in: query
          type: integer
          description: Number of images to skip before beginning the image batch. Defaults to 0.
    - name: projects-projectId-images-untagged-count
      path: /projects/{projectId}/images/untagged/count
      operations:
      - name: microsoftazuregetuntaggedimagecount
        method: GET
        description: Microsoft Azure Gets The Number Of Untagged Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: iterationId
          in: query
          type: string
          description: The iteration id. Defaults to workspace.
    - name: projects-projectId-images-urls
      path: /projects/{projectId}/images/urls
      operations:
      - name: microsoftazurecreateimagesfromurls
        method: POST
        description: Microsoft Azure Add The Provided Images Urls To The Set Of Training Images
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          description: The project id.
          required: true
        - name: batch
          in: body
          type: string
          description: Image urls, tag ids, and metadata. Limited to 64 images and 20 tags per batch.
          required: true
  exposes:
  - type: rest
    namespace: custom-vision-training-client-imageapi-rest
    port: 8080
    description: REST adapter for Microsoft Azure Custom Vision Training Client — ImageApi. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/projects/{projectid}/images
      name: projects-projectid-images
      description: REST surface for projects-projectId-images.
      operations:
      - method: GET
        name: microsoftazuregetimages
        description: Microsoft Azure Get Images For A Given Project Iteration Or Workspace
        call: custom-vision-training-client-imageapi.microsoftazuregetimages
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          tagIds: rest.tagIds
          taggingStatus: rest.taggingStatus
          $filter: rest.$filter
          orderBy: rest.orderBy
          take: rest.take
          skip: rest.skip
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: microsoftazurecreateimagesfromdata
        description: Microsoft Azure Add The Provided Images To The Set Of Training Images
        call: custom-vision-training-client-imageapi.microsoftazurecreateimagesfromdata
        with:
          projectId: rest.projectId
          tagIds: rest.tagIds
          imageData: rest.imageData
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazuredeleteimages
        description: Microsoft Azure Delete Images From The Set Of Training Images
        call: custom-vision-training-client-imageapi.microsoftazuredeleteimages
        with:
          projectId: rest.projectId
          imageIds: rest.imageIds
          allImages: rest.allImages
          allIterations: rest.allIterations
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/count
      name: projects-projectid-images-count
      description: REST surface for projects-projectId-images-count.
      operations:
      - method: GET
        name: microsoftazuregetimagecount
        description: Microsoft Azure Get The Number Of Images
        call: custom-vision-training-client-imageapi.microsoftazuregetimagecount
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          taggingStatus: rest.taggingStatus
          $filter: rest.$filter
          tagIds: rest.tagIds
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/files
      name: projects-projectid-images-files
      description: REST surface for projects-projectId-images-files.
      operations:
      - method: POST
        name: microsoftazurecreateimagesfromfiles
        description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images
        call: custom-vision-training-client-imageapi.microsoftazurecreateimagesfromfiles
        with:
          projectId: rest.projectId
          batch: rest.batch
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/id
      name: projects-projectid-images-id
      description: REST surface for projects-projectId-images-id.
      operations:
      - method: GET
        name: microsoftazuregetimagesbyids
        description: Microsoft Azure Get Images By Id For A Given Project Iteration
        call: custom-vision-training-client-imageapi.microsoftazuregetimagesbyids
        with:
          projectId: rest.projectId
          imageIds: rest.imageIds
          iterationId: rest.iterationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/metadata
      name: projects-projectid-images-metadata
      description: REST surface for projects-projectId-images-metadata.
      operations:
      - method: POST
        name: microsoftazureupdateimagemetadata
        description: Microsoft Azure Update Metadata Of Images
        call: custom-vision-training-client-imageapi.microsoftazureupdateimagemetadata
        with:
          projectId: rest.projectId
          imageIds: rest.imageIds
          metadata: rest.metadata
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/predictions
      name: projects-projectid-images-predictions
      description: REST surface for projects-projectId-images-predictions.
      operations:
      - method: POST
        name: microsoftazurecreateimagesfrompredictions
        description: Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images
        call: custom-vision-training-client-imageapi.microsoftazurecreateimagesfrompredictions
        with:
          projectId: rest.projectId
          batch: rest.batch
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/regions
      name: projects-projectid-images-regions
      description: REST surface for projects-projectId-images-regions.
      operations:
      - method: POST
        name: microsoftazurecreateimageregions
        description: Microsoft Azure Create A Set Of Image Regions
        call: custom-vision-training-client-imageapi.microsoftazurecreateimageregions
        with:
          projectId: rest.projectId
          batch: rest.batch
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazuredeleteimageregions
        description: Microsoft Azure Delete A Set Of Image Regions
        call: custom-vision-training-client-imageapi.microsoftazuredeleteimageregions
        with:
          projectId: rest.projectId
          regionIds: rest.regionIds
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/suggested
      name: projects-projectid-images-suggested
      description: REST surface for projects-projectId-images-suggested.
      operations:
      - method: POST
        name: microsoftazurequerysuggestedimages
        description: Microsoft Azure Get Untagged Images Whose Suggested Tags Match Given Tags Returns Empty Array If No Images
          Are Found
        call: custom-vision-training-client-imageapi.microsoftazurequerysuggestedimages
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/suggested/count
      name: projects-projectid-images-suggested-count
      description: REST surface for projects-projectId-images-suggested-count.
      operations:
      - method: POST
        name: microsoftazurequerysuggestedimagecount
        description: Microsoft Azure Get Count Of Images Whose Suggested Tags Match Given Tags And Their Probabilities Are
          Greater Than Or Equal To The Given Threshold Returns Count As 0 If None Found
        call: custom-vision-training-client-imageapi.microsoftazurequerysuggestedimagecount
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/tagged
      name: projects-projectid-images-tagged
      description: REST surface for projects-projectId-images-tagged.
      operations:
      - method: GET
        name: microsoftazuregettaggedimages
        description: Microsoft Azure Get Tagged Images For A Given Project Iteration
        call: custom-vision-training-client-imageapi.microsoftazuregettaggedimages
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          tagIds: rest.tagIds
          orderBy: rest.orderBy
          take: rest.take
          skip: rest.skip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/tagged/count
      name: projects-projectid-images-tagged-count
      description: REST surface for projects-projectId-images-tagged-count.
      operations:
      - method: GET
        name: microsoftazuregettaggedimagecount
        description: Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids}
        call: custom-vision-training-client-imageapi.microsoftazuregettaggedimagecount
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          tagIds: rest.tagIds
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/tags
      name: projects-projectid-images-tags
      description: REST surface for projects-projectId-images-tags.
      operations:
      - method: POST
        name: microsoftazurecreateimagetags
        description: Microsoft Azure Associate A Set Of Images With A Set Of Tags
        call: custom-vision-training-client-imageapi.microsoftazurecreateimagetags
        with:
          projectId: rest.projectId
          batch: rest.batch
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazuredeleteimagetags
        description: Microsoft Azure Remove A Set Of Tags From A Set Of Images
        call: custom-vision-training-client-imageapi.microsoftazuredeleteimagetags
        with:
          projectId: rest.projectId
          imageIds: rest.imageIds
          tagIds: rest.tagIds
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/untagged
      name: projects-projectid-images-untagged
      description: REST surface for projects-projectId-images-untagged.
      operations:
      - method: GET
        name: microsoftazuregetuntaggedimages
        description: Microsoft Azure Get Untagged Images For A Given Project Iteration
        call: custom-vision-training-client-imageapi.microsoftazuregetuntaggedimages
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
          orderBy: rest.orderBy
          take: rest.take
          skip: rest.skip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/untagged/count
      name: projects-projectid-images-untagged-count
      description: REST surface for projects-projectId-images-untagged-count.
      operations:
      - method: GET
        name: microsoftazuregetuntaggedimagecount
        description: Microsoft Azure Gets The Number Of Untagged Images
        call: custom-vision-training-client-imageapi.microsoftazuregetuntaggedimagecount
        with:
          projectId: rest.projectId
          iterationId: rest.iterationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{projectid}/images/urls
      name: projects-projectid-images-urls
      description: REST surface for projects-projectId-images-urls.
      operations:
      - method: POST
        name: microsoftazurecreateimagesfromurls
        description: Microsoft Azure Add The Provided Images Urls To The Set Of Training Images
        call: custom-vision-training-client-imageapi.microsoftazurecreateimagesfromurls
        with:
          projectId: rest.projectId
          batch: rest.batch
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: custom-vision-training-client-imageapi-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft Azure Custom Vision Training Client — ImageApi. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: microsoft-azure-get-images-given
      description: Microsoft Azure Get Images For A Given Project Iteration Or Workspace
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: custom-vision-training-client-imageapi.microsoftazuregetimages
      with:
        projectId: tools.projectId
        iterationId: tools.iterationId
        tagIds: tools.tagIds
        taggingStatus: tools.taggingStatus
        $filter: tools.$filter
        orderBy: tools.orderBy
        take: tools.take
        skip: tools.skip
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-add-provided-images
      description: Microsoft Azure Add The Provided Images To The Set Of Training Images
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: custom-vision-training-client-imageapi.microsoftazurecreateimagesfromdata
      with:
        projectId: tools.projectId
        tagIds: tools.tagIds
        imageData: tools.imageData
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-delete-images-set
      description: Microsoft Azure Delete Images From The Set Of Training Images
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: custom-vision-training-client-imageapi.microsoftazuredeleteimages
      with:
        projectId: tools.projectId
        imageIds: tools.imageIds
        allImages: tools.allImages
        allIterations: tools.allIterations
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-get-number-images
      description: Microsoft Azure Get The Number Of Images
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: custom-vision-training-client-imageapi.microsoftazuregetimagecount
      with:
        projectId: tools.projectId
        iterationId: tools.iterationId
        taggingStatus: tools.taggingStatus
        $filter: tools.$filter
        tagIds: tools.tagIds
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-add-provided-batch
      description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/capabilities/custom-vision-training-client-imageapi.yaml