Microsoft Azure · Capability

Microsoft Azure Face Client — PersonDirectory

Microsoft Azure Face Client — PersonDirectory. 17 operations. Lead operation: Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory. Self-contained Naftiko capability covering one Microsoft Azure business surface.

Run with Naftiko Microsoft AzurePersonDirectory

What You Can Do

GET
Microsoftazurepersondirectorylistdynamicpersongroups — Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory
/v1/dynamicpersongroups
PUT
Microsoftazurepersondirectorycreatedynamicpersongroup — Microsoft Azure Creates A New Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User Provided Userdata
/v1/dynamicpersongroups/{dynamicpersongroupid}
PATCH
Microsoftazurepersondirectoryupdatedynamicpersongroup — Microsoft Azure Updates An Existing Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User Provided Userdata
/v1/dynamicpersongroups/{dynamicpersongroupid}
GET
Microsoftazurepersondirectorygetdynamicpersongroup — Microsoft Azure Get Metadata On A Dynamic Person Group
/v1/dynamicpersongroups/{dynamicpersongroupid}
DELETE
Microsoftazurepersondirectorydeletedynamicpersongroup — Microsoft Azure Delete An Existing Dynamic Person Group
/v1/dynamicpersongroups/{dynamicpersongroupid}
GET
Microsoftazurepersondirectorylistdynamicpersongrouppersons — Microsoft Azure Retrieve List Of Persons Referenced In A Given Dynamicpersongroup Person Directory
/v1/dynamicpersongroups/{dynamicpersongroupid}/persons
GET
Microsoftazurepersondirectorygetpersons — Microsoft Azure Retrieve List Of Person Information In Person Directory
/v1/persons
POST
Microsoftazurepersondirectorycreateperson — Microsoft Azure Creates A New Person In Person Directory
/v1/persons
PATCH
Microsoftazurepersondirectoryupdateperson — Microsoft Azure Update Name Or Userdata Of A Person
/v1/persons/{personid}
DELETE
Microsoftazurepersondirectorydeleteperson — Microsoft Azure Delete An Existing Person From Person Directory
/v1/persons/{personid}
GET
Microsoftazurepersondirectorygetperson — Microsoft Azure Retrieve A Person S Name And Userdata, And The Persisted Faceids Representing The Registered Person Face Feature S
/v1/persons/{personid}
GET
Microsoftazurepersondirectorylistdynamicpersongrouppersonreferences — Microsoft Azure List The Dynamic Person Groups That A Person Has Been Referenced In
/v1/persons/{personid}/dynamicpersongroupreferences
POST
Microsoftazurepersondirectoryaddpersonfacefromurl — Microsoft Azure Add A New Face To Person
/v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces
GET
Microsoftazurepersondirectorygetpersonfaces — Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid And Persistedfaceid
/v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces
DELETE
Microsoftazurepersondirectorydeletepersonface — Microsoft Azure Delete An Existing Person Face From Person Directory
/v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces/{persistedfaceid}
GET
Microsoftazurepersondirectorygetpersonface — Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid And Persistedfaceid
/v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces/{persistedfaceid}
PATCH
Microsoftazurepersondirectoryupdatepersonface — Microsoft Azure Update The Data Of A Person Face
/v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces/{persistedfaceid}

MCP Tools

microsoft-azure-retrieve-list-dynamic

Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory

read-only idempotent
microsoft-azure-creates-new-dynamic

Microsoft Azure Creates A New Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User Provided Userdata

idempotent
microsoft-azure-updates-existing-dynamic

Microsoft Azure Updates An Existing Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User Provided Userdata

idempotent
microsoft-azure-get-metadata-dynamic

Microsoft Azure Get Metadata On A Dynamic Person Group

read-only idempotent
microsoft-azure-delete-existing-dynamic

Microsoft Azure Delete An Existing Dynamic Person Group

idempotent
microsoft-azure-retrieve-list-persons

Microsoft Azure Retrieve List Of Persons Referenced In A Given Dynamicpersongroup Person Directory

read-only idempotent
microsoft-azure-retrieve-list-person

Microsoft Azure Retrieve List Of Person Information In Person Directory

read-only idempotent
microsoft-azure-creates-new-person

Microsoft Azure Creates A New Person In Person Directory

microsoft-azure-update-name-userdata

Microsoft Azure Update Name Or Userdata Of A Person

idempotent
microsoft-azure-delete-existing-person

Microsoft Azure Delete An Existing Person From Person Directory

idempotent
microsoft-azure-retrieve-person-s

Microsoft Azure Retrieve A Person S Name And Userdata, And The Persisted Faceids Representing The Registered Person Face Feature S

read-only idempotent
microsoft-azure-list-dynamic-person

Microsoft Azure List The Dynamic Person Groups That A Person Has Been Referenced In

read-only idempotent
microsoft-azure-add-new-face

Microsoft Azure Add A New Face To Person

microsoft-azure-retrieve-person-face

Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid And Persistedfaceid

read-only idempotent
microsoft-azure-delete-existing-person-2

Microsoft Azure Delete An Existing Person Face From Person Directory

idempotent
microsoft-azure-retrieve-person-face-2

Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid And Persistedfaceid

read-only idempotent
microsoft-azure-update-data-person

Microsoft Azure Update The Data Of A Person Face

idempotent

Capability Spec

face-client-persondirectory.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Azure Face Client — PersonDirectory
  description: 'Microsoft Azure Face Client — PersonDirectory. 17 operations. Lead operation: Microsoft Azure Retrieve List
    Of Dynamic Person Groups In Person Directory. Self-contained Naftiko capability covering one Microsoft Azure business
    surface.'
  tags:
  - Microsoft Azure
  - PersonDirectory
  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: face-client-persondirectory
    baseUri: ''
    description: Microsoft Azure Face Client — PersonDirectory business capability. Self-contained, no shared references.
    resources:
    - name: dynamicpersongroups
      path: /dynamicpersongroups
      operations:
      - name: microsoftazurepersondirectorylistdynamicpersongroups
        method: GET
        description: Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: string
          description: List dynamicPersonGroupId from the least dynamicPersonGroupId greater than the "start". It contains
            no more than 64 characters. Default is empty.
        - name: top
          in: query
          type: string
          description: The number of dynamicPersonGroups to list, ranging in [1, 1000]. Default is 1000.
    - name: dynamicpersongroups-dynamicPersonGroupId
      path: /dynamicpersongroups/{dynamicPersonGroupId}
      operations:
      - name: microsoftazurepersondirectorycreatedynamicpersongroup
        method: PUT
        description: "Microsoft Azure Creates A New Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User\
          \ Provided Userdata \r"
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dynamicPersonGroupId
          in: path
          type: string
          description: User provided dynamic person group Id. Valid format should be a string composed by numbers, English
            letters in lower case, '-', '_', and no longer than 64 chara
          required: true
        - name: body
          in: body
          type: string
          required: true
      - name: microsoftazurepersondirectoryupdatedynamicpersongroup
        method: PATCH
        description: Microsoft Azure Updates An Existing Dynamic Person Group With Specified Dynamicpersongroupid, Name, And
          User Provided Userdata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dynamicPersonGroupId
          in: path
          type: string
          description: User provided dynamic person group Id.
          required: true
        - name: body
          in: body
          type: string
          required: true
      - name: microsoftazurepersondirectorygetdynamicpersongroup
        method: GET
        description: Microsoft Azure Get Metadata On A Dynamic Person Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dynamicPersonGroupId
          in: path
          type: string
          description: User provided dynamic person group id
          required: true
      - name: microsoftazurepersondirectorydeletedynamicpersongroup
        method: DELETE
        description: "Microsoft Azure Delete An Existing Dynamic Person Group \r"
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dynamicPersonGroupId
          in: path
          type: string
          description: User provided dynamic person group Id.
          required: true
    - name: dynamicpersongroups-dynamicPersonGroupId-persons
      path: /dynamicpersongroups/{dynamicPersonGroupId}/persons
      operations:
      - name: microsoftazurepersondirectorylistdynamicpersongrouppersons
        method: GET
        description: Microsoft Azure Retrieve List Of Persons Referenced In A Given Dynamicpersongroup Person Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dynamicPersonGroupId
          in: path
          type: string
          description: Dynamic person group Id to list persons from
          required: true
        - name: start
          in: query
          type: string
          description: List persons from the least personId greater than the "start". It contains no more than 64 characters.
            Default is empty.
        - name: top
          in: query
          type: string
          description: The number of persons to list, ranging in [1, 1000]. Default is 1000.
    - name: persons
      path: /persons
      operations:
      - name: microsoftazurepersondirectorygetpersons
        method: GET
        description: Microsoft Azure Retrieve List Of Person Information In Person Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: string
          description: List persons from the least personId greater than the "start". It contains no more than 64 characters.
            Default is empty.
        - name: top
          in: query
          type: string
          description: The number of persons to list, ranging in [1, 1000]. Default is 1000.
      - name: microsoftazurepersondirectorycreateperson
        method: POST
        description: Microsoft Azure Creates A New Person In Person Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
    - name: persons-personId
      path: /persons/{personId}
      operations:
      - name: microsoftazurepersondirectoryupdateperson
        method: PATCH
        description: Microsoft Azure Update Name Or Userdata Of A Person
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Person id to update.
          required: true
        - name: body
          in: body
          type: string
          required: true
      - name: microsoftazurepersondirectorydeleteperson
        method: DELETE
        description: "Microsoft Azure Delete An Existing Person From Person Directory \r"
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Person id to delete.
          required: true
      - name: microsoftazurepersondirectorygetperson
        method: GET
        description: Microsoft Azure Retrieve A Person S Name And Userdata, And The Persisted Faceids Representing The Registered
          Person Face Feature S
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Person id.
          required: true
    - name: persons-personId-dynamicPersonGroupReferences
      path: /persons/{personId}/dynamicPersonGroupReferences
      operations:
      - name: microsoftazurepersondirectorylistdynamicpersongrouppersonreferences
        method: GET
        description: Microsoft Azure List The Dynamic Person Groups That A Person Has Been Referenced In
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Valid PersonId created from Person Create.
          required: true
        - name: start
          in: query
          type: string
          description: List dynamic person group id from the least dynamicPersonGroupId greater than the "start". It contains
            no more than 64 characters. Default is empty.
        - name: top
          in: query
          type: string
          description: The number of dynamicPersonGroupId to list, ranging in [1, 1000]. Default is 1000.
    - name: persons-personId-recognitionModels-recognitionModel-persistedFaces
      path: /persons/{personId}/recognitionModels/{recognitionModel}/persistedFaces
      operations:
      - name: microsoftazurepersondirectoryaddpersonfacefromurl
        method: POST
        description: Microsoft Azure Add A New Face To Person
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Person id.
          required: true
        - name: recognitionModel
          in: path
          type: string
          description: Recognition model string.
          required: true
        - name: detectionModel
          in: query
          type: string
          description: Detection model string.
        - name: userData
          in: query
          type: string
          description: User data of person face.
        - name: targetFace
          in: query
          type: string
          description: Target face.
      - name: microsoftazurepersondirectorygetpersonfaces
        method: GET
        description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
          And Persistedfaceid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Target person to get persistedFaceIds from.
          required: true
        - name: recognitionModel
          in: path
          type: string
          description: The 'recognitionModel' associated with this persisted face.
          required: true
    - name: persons-personId-recognitionModels-recognitionModel-persistedFaces-persistedFace
      path: /persons/{personId}/recognitionModels/{recognitionModel}/persistedFaces/{persistedFaceId}
      operations:
      - name: microsoftazurepersondirectorydeletepersonface
        method: DELETE
        description: "Microsoft Azure Delete An Existing Person Face From Person Directory \r"
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Person id.
          required: true
        - name: recognitionModel
          in: path
          type: string
          description: Recognition model string.
          required: true
        - name: persistedFaceId
          in: path
          type: string
          description: Persisted face id to delete.
          required: true
      - name: microsoftazurepersondirectorygetpersonface
        method: GET
        description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
          And Persistedfaceid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Target person to get face from.
          required: true
        - name: recognitionModel
          in: path
          type: string
          description: The 'recognitionModel' associated with this persisted face.
          required: true
        - name: persistedFaceId
          in: path
          type: string
          description: Target person face id to get.
          required: true
      - name: microsoftazurepersondirectoryupdatepersonface
        method: PATCH
        description: Microsoft Azure Update The Data Of A Person Face
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: personId
          in: path
          type: string
          description: Target person to update face from.
          required: true
        - name: recognitionModel
          in: path
          type: string
          description: The 'recognitionModel' associated with this persisted face.
          required: true
        - name: persistedFaceId
          in: path
          type: string
          description: PersistedFaceId created from Person Face Create
          required: true
        - name: body
          in: body
          type: string
          description: Target person face to update.
          required: true
  exposes:
  - type: rest
    namespace: face-client-persondirectory-rest
    port: 8080
    description: REST adapter for Microsoft Azure Face Client — PersonDirectory. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/dynamicpersongroups
      name: dynamicpersongroups
      description: REST surface for dynamicpersongroups.
      operations:
      - method: GET
        name: microsoftazurepersondirectorylistdynamicpersongroups
        description: Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory
        call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongroups
        with:
          start: rest.start
          top: rest.top
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dynamicpersongroups/{dynamicpersongroupid}
      name: dynamicpersongroups-dynamicpersongroupid
      description: REST surface for dynamicpersongroups-dynamicPersonGroupId.
      operations:
      - method: PUT
        name: microsoftazurepersondirectorycreatedynamicpersongroup
        description: "Microsoft Azure Creates A New Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User\
          \ Provided Userdata \r"
        call: face-client-persondirectory.microsoftazurepersondirectorycreatedynamicpersongroup
        with:
          dynamicPersonGroupId: rest.dynamicPersonGroupId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: microsoftazurepersondirectoryupdatedynamicpersongroup
        description: Microsoft Azure Updates An Existing Dynamic Person Group With Specified Dynamicpersongroupid, Name, And
          User Provided Userdata
        call: face-client-persondirectory.microsoftazurepersondirectoryupdatedynamicpersongroup
        with:
          dynamicPersonGroupId: rest.dynamicPersonGroupId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: microsoftazurepersondirectorygetdynamicpersongroup
        description: Microsoft Azure Get Metadata On A Dynamic Person Group
        call: face-client-persondirectory.microsoftazurepersondirectorygetdynamicpersongroup
        with:
          dynamicPersonGroupId: rest.dynamicPersonGroupId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazurepersondirectorydeletedynamicpersongroup
        description: "Microsoft Azure Delete An Existing Dynamic Person Group \r"
        call: face-client-persondirectory.microsoftazurepersondirectorydeletedynamicpersongroup
        with:
          dynamicPersonGroupId: rest.dynamicPersonGroupId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dynamicpersongroups/{dynamicpersongroupid}/persons
      name: dynamicpersongroups-dynamicpersongroupid-persons
      description: REST surface for dynamicpersongroups-dynamicPersonGroupId-persons.
      operations:
      - method: GET
        name: microsoftazurepersondirectorylistdynamicpersongrouppersons
        description: Microsoft Azure Retrieve List Of Persons Referenced In A Given Dynamicpersongroup Person Directory
        call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongrouppersons
        with:
          dynamicPersonGroupId: rest.dynamicPersonGroupId
          start: rest.start
          top: rest.top
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/persons
      name: persons
      description: REST surface for persons.
      operations:
      - method: GET
        name: microsoftazurepersondirectorygetpersons
        description: Microsoft Azure Retrieve List Of Person Information In Person Directory
        call: face-client-persondirectory.microsoftazurepersondirectorygetpersons
        with:
          start: rest.start
          top: rest.top
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: microsoftazurepersondirectorycreateperson
        description: Microsoft Azure Creates A New Person In Person Directory
        call: face-client-persondirectory.microsoftazurepersondirectorycreateperson
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/persons/{personid}
      name: persons-personid
      description: REST surface for persons-personId.
      operations:
      - method: PATCH
        name: microsoftazurepersondirectoryupdateperson
        description: Microsoft Azure Update Name Or Userdata Of A Person
        call: face-client-persondirectory.microsoftazurepersondirectoryupdateperson
        with:
          personId: rest.personId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: microsoftazurepersondirectorydeleteperson
        description: "Microsoft Azure Delete An Existing Person From Person Directory \r"
        call: face-client-persondirectory.microsoftazurepersondirectorydeleteperson
        with:
          personId: rest.personId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: microsoftazurepersondirectorygetperson
        description: Microsoft Azure Retrieve A Person S Name And Userdata, And The Persisted Faceids Representing The Registered
          Person Face Feature S
        call: face-client-persondirectory.microsoftazurepersondirectorygetperson
        with:
          personId: rest.personId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/persons/{personid}/dynamicpersongroupreferences
      name: persons-personid-dynamicpersongroupreferences
      description: REST surface for persons-personId-dynamicPersonGroupReferences.
      operations:
      - method: GET
        name: microsoftazurepersondirectorylistdynamicpersongrouppersonreferences
        description: Microsoft Azure List The Dynamic Person Groups That A Person Has Been Referenced In
        call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongrouppersonreferences
        with:
          personId: rest.personId
          start: rest.start
          top: rest.top
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces
      name: persons-personid-recognitionmodels-recognitionmodel-persistedfaces
      description: REST surface for persons-personId-recognitionModels-recognitionModel-persistedFaces.
      operations:
      - method: POST
        name: microsoftazurepersondirectoryaddpersonfacefromurl
        description: Microsoft Azure Add A New Face To Person
        call: face-client-persondirectory.microsoftazurepersondirectoryaddpersonfacefromurl
        with:
          personId: rest.personId
          recognitionModel: rest.recognitionModel
          detectionModel: rest.detectionModel
          userData: rest.userData
          targetFace: rest.targetFace
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: microsoftazurepersondirectorygetpersonfaces
        description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
          And Persistedfaceid
        call: face-client-persondirectory.microsoftazurepersondirectorygetpersonfaces
        with:
          personId: rest.personId
          recognitionModel: rest.recognitionModel
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/persons/{personid}/recognitionmodels/{recognitionmodel}/persistedfaces/{persistedfaceid}
      name: persons-personid-recognitionmodels-recognitionmodel-persistedfaces-persistedface
      description: REST surface for persons-personId-recognitionModels-recognitionModel-persistedFaces-persistedFace.
      operations:
      - method: DELETE
        name: microsoftazurepersondirectorydeletepersonface
        description: "Microsoft Azure Delete An Existing Person Face From Person Directory \r"
        call: face-client-persondirectory.microsoftazurepersondirectorydeletepersonface
        with:
          personId: rest.personId
          recognitionModel: rest.recognitionModel
          persistedFaceId: rest.persistedFaceId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: microsoftazurepersondirectorygetpersonface
        description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
          And Persistedfaceid
        call: face-client-persondirectory.microsoftazurepersondirectorygetpersonface
        with:
          personId: rest.personId
          recognitionModel: rest.recognitionModel
          persistedFaceId: rest.persistedFaceId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: microsoftazurepersondirectoryupdatepersonface
        description: Microsoft Azure Update The Data Of A Person Face
        call: face-client-persondirectory.microsoftazurepersondirectoryupdatepersonface
        with:
          personId: rest.personId
          recognitionModel: rest.recognitionModel
          persistedFaceId: rest.persistedFaceId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: face-client-persondirectory-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft Azure Face Client — PersonDirectory. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: microsoft-azure-retrieve-list-dynamic
      description: Microsoft Azure Retrieve List Of Dynamic Person Groups In Person Directory
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongroups
      with:
        start: tools.start
        top: tools.top
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-creates-new-dynamic
      description: "Microsoft Azure Creates A New Dynamic Person Group With Specified Dynamicpersongroupid, Name, And User\
        \ Provided Userdata \r"
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorycreatedynamicpersongroup
      with:
        dynamicPersonGroupId: tools.dynamicPersonGroupId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-updates-existing-dynamic
      description: Microsoft Azure Updates An Existing Dynamic Person Group With Specified Dynamicpersongroupid, Name, And
        User Provided Userdata
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectoryupdatedynamicpersongroup
      with:
        dynamicPersonGroupId: tools.dynamicPersonGroupId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-get-metadata-dynamic
      description: Microsoft Azure Get Metadata On A Dynamic Person Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorygetdynamicpersongroup
      with:
        dynamicPersonGroupId: tools.dynamicPersonGroupId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-delete-existing-dynamic
      description: "Microsoft Azure Delete An Existing Dynamic Person Group \r"
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorydeletedynamicpersongroup
      with:
        dynamicPersonGroupId: tools.dynamicPersonGroupId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-retrieve-list-persons
      description: Microsoft Azure Retrieve List Of Persons Referenced In A Given Dynamicpersongroup Person Directory
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongrouppersons
      with:
        dynamicPersonGroupId: tools.dynamicPersonGroupId
        start: tools.start
        top: tools.top
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-retrieve-list-person
      description: Microsoft Azure Retrieve List Of Person Information In Person Directory
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorygetpersons
      with:
        start: tools.start
        top: tools.top
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-creates-new-person
      description: Microsoft Azure Creates A New Person In Person Directory
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: face-client-persondirectory.microsoftazurepersondirectorycreateperson
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-update-name-userdata
      description: Microsoft Azure Update Name Or Userdata Of A Person
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectoryupdateperson
      with:
        personId: tools.personId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-delete-existing-person
      description: "Microsoft Azure Delete An Existing Person From Person Directory \r"
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorydeleteperson
      with:
        personId: tools.personId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-retrieve-person-s
      description: Microsoft Azure Retrieve A Person S Name And Userdata, And The Persisted Faceids Representing The Registered
        Person Face Feature S
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorygetperson
      with:
        personId: tools.personId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-list-dynamic-person
      description: Microsoft Azure List The Dynamic Person Groups That A Person Has Been Referenced In
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorylistdynamicpersongrouppersonreferences
      with:
        personId: tools.personId
        start: tools.start
        top: tools.top
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-add-new-face
      description: Microsoft Azure Add A New Face To Person
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: face-client-persondirectory.microsoftazurepersondirectoryaddpersonfacefromurl
      with:
        personId: tools.personId
        recognitionModel: tools.recognitionModel
        detectionModel: tools.detectionModel
        userData: tools.userData
        targetFace: tools.targetFace
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-retrieve-person-face
      description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
        And Persistedfaceid
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorygetpersonfaces
      with:
        personId: tools.personId
        recognitionModel: tools.recognitionModel
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-delete-existing-person-2
      description: "Microsoft Azure Delete An Existing Person Face From Person Directory \r"
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorydeletepersonface
      with:
        personId: tools.personId
        recognitionModel: tools.recognitionModel
        persistedFaceId: tools.persistedFaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-retrieve-person-face-2
      description: Microsoft Azure Retrieve Person Face Information The Persisted Person Face Is Specified By Its Personid
        And Persistedfaceid
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectorygetpersonface
      with:
        personId: tools.personId
        recognitionModel: tools.recognitionModel
        persistedFaceId: tools.persistedFaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-azure-update-data-person
      description: Microsoft Azure Update The Data Of A Person Face
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: face-client-persondirectory.microsoftazurepersondirectoryupdatepersonface
      with:
        personId: tools.personId
        recognitionModel: tools.recognitionModel
        persistedFaceId: tools.persistedFaceId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.