Microsoft Exchange · Capability

Microsoft Exchange Microsoft Graph Contacts API — Contacts

Microsoft Exchange Microsoft Graph Contacts API — Contacts. 8 operations. Lead operation: Microsoft Exchange List contacts in folder. Self-contained Naftiko capability covering one Microsoft Exchange business surface.

Run with Naftiko Microsoft ExchangeContacts

What You Can Do

GET
Listcontactsinfolder — Microsoft Exchange List contacts in folder
/v1/me/contactfolders/{contactfolder-id}/contacts
POST
Createcontactinfolder — Microsoft Exchange Create contact in folder
/v1/me/contactfolders/{contactfolder-id}/contacts
GET
Listcontacts — Microsoft Exchange List contacts
/v1/me/contacts
POST
Createcontact — Microsoft Exchange Create contact
/v1/me/contacts
GET
Getcontactdelta — Microsoft Exchange Get contact delta
/v1/me/contacts/delta
GET
Getcontact — Microsoft Exchange Get contact
/v1/me/contacts/{contact-id}
PATCH
Updatecontact — Microsoft Exchange Update contact
/v1/me/contacts/{contact-id}
DELETE
Deletecontact — Microsoft Exchange Delete contact
/v1/me/contacts/{contact-id}

MCP Tools

microsoft-exchange-list-contacts-folder

Microsoft Exchange List contacts in folder

read-only idempotent
microsoft-exchange-create-contact-folder

Microsoft Exchange Create contact in folder

microsoft-exchange-list-contacts

Microsoft Exchange List contacts

read-only idempotent
microsoft-exchange-create-contact

Microsoft Exchange Create contact

microsoft-exchange-get-contact-delta

Microsoft Exchange Get contact delta

read-only idempotent
microsoft-exchange-get-contact

Microsoft Exchange Get contact

read-only idempotent
microsoft-exchange-update-contact

Microsoft Exchange Update contact

idempotent
microsoft-exchange-delete-contact

Microsoft Exchange Delete contact

idempotent

Capability Spec

graph-contacts-contacts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Exchange Microsoft Graph Contacts API — Contacts
  description: 'Microsoft Exchange Microsoft Graph Contacts API — Contacts. 8 operations. Lead operation: Microsoft Exchange
    List contacts in folder. Self-contained Naftiko capability covering one Microsoft Exchange business surface.'
  tags:
  - Microsoft Exchange
  - Contacts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MICROSOFT_EXCHANGE_API_KEY: MICROSOFT_EXCHANGE_API_KEY
capability:
  consumes:
  - type: http
    namespace: graph-contacts-contacts
    baseUri: https://graph.microsoft.com/v1.0
    description: Microsoft Exchange Microsoft Graph Contacts API — Contacts business capability. Self-contained, no shared
      references.
    resources:
    - name: me-contactFolders-contactFolder-id-contacts
      path: /me/contactFolders/{contactFolder-id}/contacts
      operations:
      - name: listcontactsinfolder
        method: GET
        description: Microsoft Exchange List contacts in folder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontactinfolder
        method: POST
        description: Microsoft Exchange Create contact in folder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: me-contacts
      path: /me/contacts
      operations:
      - name: listcontacts
        method: GET
        description: Microsoft Exchange List contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontact
        method: POST
        description: Microsoft Exchange Create contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: me-contacts-delta
      path: /me/contacts/delta
      operations:
      - name: getcontactdelta
        method: GET
        description: Microsoft Exchange Get contact delta
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: $deltatoken
          in: query
          type: string
          description: The delta token returned from a previous delta call
        - name: $skiptoken
          in: query
          type: string
          description: The skip token for paging through results
    - name: me-contacts-contact-id
      path: /me/contacts/{contact-id}
      operations:
      - name: getcontact
        method: GET
        description: Microsoft Exchange Get contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecontact
        method: PATCH
        description: Microsoft Exchange Update contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletecontact
        method: DELETE
        description: Microsoft Exchange Delete contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.MICROSOFT_EXCHANGE_API_KEY}}'
  exposes:
  - type: rest
    namespace: graph-contacts-contacts-rest
    port: 8080
    description: REST adapter for Microsoft Exchange Microsoft Graph Contacts API — Contacts. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/me/contactfolders/{contactfolder-id}/contacts
      name: me-contactfolders-contactfolder-id-contacts
      description: REST surface for me-contactFolders-contactFolder-id-contacts.
      operations:
      - method: GET
        name: listcontactsinfolder
        description: Microsoft Exchange List contacts in folder
        call: graph-contacts-contacts.listcontactsinfolder
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcontactinfolder
        description: Microsoft Exchange Create contact in folder
        call: graph-contacts-contacts.createcontactinfolder
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/me/contacts
      name: me-contacts
      description: REST surface for me-contacts.
      operations:
      - method: GET
        name: listcontacts
        description: Microsoft Exchange List contacts
        call: graph-contacts-contacts.listcontacts
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcontact
        description: Microsoft Exchange Create contact
        call: graph-contacts-contacts.createcontact
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/me/contacts/delta
      name: me-contacts-delta
      description: REST surface for me-contacts-delta.
      operations:
      - method: GET
        name: getcontactdelta
        description: Microsoft Exchange Get contact delta
        call: graph-contacts-contacts.getcontactdelta
        with:
          $deltatoken: rest.$deltatoken
          $skiptoken: rest.$skiptoken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/me/contacts/{contact-id}
      name: me-contacts-contact-id
      description: REST surface for me-contacts-contact-id.
      operations:
      - method: GET
        name: getcontact
        description: Microsoft Exchange Get contact
        call: graph-contacts-contacts.getcontact
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatecontact
        description: Microsoft Exchange Update contact
        call: graph-contacts-contacts.updatecontact
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecontact
        description: Microsoft Exchange Delete contact
        call: graph-contacts-contacts.deletecontact
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: graph-contacts-contacts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft Exchange Microsoft Graph Contacts API — Contacts. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: microsoft-exchange-list-contacts-folder
      description: Microsoft Exchange List contacts in folder
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: graph-contacts-contacts.listcontactsinfolder
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-create-contact-folder
      description: Microsoft Exchange Create contact in folder
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: graph-contacts-contacts.createcontactinfolder
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-list-contacts
      description: Microsoft Exchange List contacts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: graph-contacts-contacts.listcontacts
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-create-contact
      description: Microsoft Exchange Create contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: graph-contacts-contacts.createcontact
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-get-contact-delta
      description: Microsoft Exchange Get contact delta
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: graph-contacts-contacts.getcontactdelta
      with:
        $deltatoken: tools.$deltatoken
        $skiptoken: tools.$skiptoken
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-get-contact
      description: Microsoft Exchange Get contact
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: graph-contacts-contacts.getcontact
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-update-contact
      description: Microsoft Exchange Update contact
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: graph-contacts-contacts.updatecontact
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: microsoft-exchange-delete-contact
      description: Microsoft Exchange Delete contact
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: graph-contacts-contacts.deletecontact
      outputParameters:
      - type: object
        mapping: $.