Microsoft OneDrive · Capability

Microsoft OneDrive API (Microsoft Graph) — DriveItems

Microsoft OneDrive API (Microsoft Graph) — DriveItems. 10 operations. Lead operation: Get driveItem by id. Self-contained Naftiko capability covering one Microsoft Onedrive business surface.

Run with Naftiko Microsoft OnedriveDriveItems

What You Can Do

GET
Getdriveitem — Get driveItem by id
/v1/drives/{driveid}/items/{itemid}
PATCH
Updatedriveitem — Update driveItem
/v1/drives/{driveid}/items/{itemid}
DELETE
Deletedriveitem — Delete driveItem
/v1/drives/{driveid}/items/{itemid}
GET
Listdriveitemchildren — List children of driveItem
/v1/drives/{driveid}/items/{itemid}/children
POST
Createfolder — Create folder in driveItem
/v1/drives/{driveid}/items/{itemid}/children
GET
Downloaddriveitemcontent — Download file content
/v1/drives/{driveid}/items/{itemid}/content
PUT
Uploaddriveitemcontent — Upload file content (small file replace)
/v1/drives/{driveid}/items/{itemid}/content
POST
Copydriveitem — Copy driveItem
/v1/drives/{driveid}/items/{itemid}/copy
GET
Getdriveroot — Get root driveItem of a drive
/v1/drives/{driveid}/root
GET
Listdriverootchildren — List children of root
/v1/drives/{driveid}/root/children

MCP Tools

get-driveitem-id

Get driveItem by id

read-only idempotent
update-driveitem

Update driveItem

idempotent
delete-driveitem

Delete driveItem

idempotent
list-children-driveitem

List children of driveItem

read-only idempotent
create-folder-driveitem

Create folder in driveItem

download-file-content

Download file content

read-only idempotent
upload-file-content-small-file

Upload file content (small file replace)

idempotent
copy-driveitem

Copy driveItem

get-root-driveitem-drive

Get root driveItem of a drive

read-only idempotent
list-children-root

List children of root

read-only idempotent

Capability Spec

microsoft-onedrive-driveitems.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft OneDrive API (Microsoft Graph) — DriveItems
  description: 'Microsoft OneDrive API (Microsoft Graph) — DriveItems. 10 operations. Lead operation: Get driveItem by id.
    Self-contained Naftiko capability covering one Microsoft Onedrive business surface.'
  tags:
  - Microsoft Onedrive
  - DriveItems
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MICROSOFT_ONEDRIVE_API_KEY: MICROSOFT_ONEDRIVE_API_KEY
capability:
  consumes:
  - type: http
    namespace: microsoft-onedrive-driveitems
    baseUri: https://graph.microsoft.com/v1.0
    description: Microsoft OneDrive API (Microsoft Graph) — DriveItems business capability. Self-contained, no shared references.
    resources:
    - name: drives-driveId-items-itemId
      path: /drives/{driveId}/items/{itemId}
      operations:
      - name: getdriveitem
        method: GET
        description: Get driveItem by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatedriveitem
        method: PATCH
        description: Update driveItem
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletedriveitem
        method: DELETE
        description: Delete driveItem
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: drives-driveId-items-itemId-children
      path: /drives/{driveId}/items/{itemId}/children
      operations:
      - name: listdriveitemchildren
        method: GET
        description: List children of driveItem
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createfolder
        method: POST
        description: Create folder in driveItem
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: drives-driveId-items-itemId-content
      path: /drives/{driveId}/items/{itemId}/content
      operations:
      - name: downloaddriveitemcontent
        method: GET
        description: Download file content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: uploaddriveitemcontent
        method: PUT
        description: Upload file content (small file replace)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: drives-driveId-items-itemId-copy
      path: /drives/{driveId}/items/{itemId}/copy
      operations:
      - name: copydriveitem
        method: POST
        description: Copy driveItem
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: drives-driveId-root
      path: /drives/{driveId}/root
      operations:
      - name: getdriveroot
        method: GET
        description: Get root driveItem of a drive
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: drives-driveId-root-children
      path: /drives/{driveId}/root/children
      operations:
      - name: listdriverootchildren
        method: GET
        description: List children of root
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.MICROSOFT_ONEDRIVE_API_KEY}}'
  exposes:
  - type: rest
    namespace: microsoft-onedrive-driveitems-rest
    port: 8080
    description: REST adapter for Microsoft OneDrive API (Microsoft Graph) — DriveItems. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/drives/{driveid}/items/{itemid}
      name: drives-driveid-items-itemid
      description: REST surface for drives-driveId-items-itemId.
      operations:
      - method: GET
        name: getdriveitem
        description: Get driveItem by id
        call: microsoft-onedrive-driveitems.getdriveitem
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatedriveitem
        description: Update driveItem
        call: microsoft-onedrive-driveitems.updatedriveitem
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedriveitem
        description: Delete driveItem
        call: microsoft-onedrive-driveitems.deletedriveitem
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drives/{driveid}/items/{itemid}/children
      name: drives-driveid-items-itemid-children
      description: REST surface for drives-driveId-items-itemId-children.
      operations:
      - method: GET
        name: listdriveitemchildren
        description: List children of driveItem
        call: microsoft-onedrive-driveitems.listdriveitemchildren
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createfolder
        description: Create folder in driveItem
        call: microsoft-onedrive-driveitems.createfolder
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drives/{driveid}/items/{itemid}/content
      name: drives-driveid-items-itemid-content
      description: REST surface for drives-driveId-items-itemId-content.
      operations:
      - method: GET
        name: downloaddriveitemcontent
        description: Download file content
        call: microsoft-onedrive-driveitems.downloaddriveitemcontent
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: uploaddriveitemcontent
        description: Upload file content (small file replace)
        call: microsoft-onedrive-driveitems.uploaddriveitemcontent
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drives/{driveid}/items/{itemid}/copy
      name: drives-driveid-items-itemid-copy
      description: REST surface for drives-driveId-items-itemId-copy.
      operations:
      - method: POST
        name: copydriveitem
        description: Copy driveItem
        call: microsoft-onedrive-driveitems.copydriveitem
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drives/{driveid}/root
      name: drives-driveid-root
      description: REST surface for drives-driveId-root.
      operations:
      - method: GET
        name: getdriveroot
        description: Get root driveItem of a drive
        call: microsoft-onedrive-driveitems.getdriveroot
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drives/{driveid}/root/children
      name: drives-driveid-root-children
      description: REST surface for drives-driveId-root-children.
      operations:
      - method: GET
        name: listdriverootchildren
        description: List children of root
        call: microsoft-onedrive-driveitems.listdriverootchildren
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: microsoft-onedrive-driveitems-mcp
    port: 9090
    transport: http
    description: MCP adapter for Microsoft OneDrive API (Microsoft Graph) — DriveItems. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: get-driveitem-id
      description: Get driveItem by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.getdriveitem
      outputParameters:
      - type: object
        mapping: $.
    - name: update-driveitem
      description: Update driveItem
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.updatedriveitem
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-driveitem
      description: Delete driveItem
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microsoft-onedrive-driveitems.deletedriveitem
      outputParameters:
      - type: object
        mapping: $.
    - name: list-children-driveitem
      description: List children of driveItem
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.listdriveitemchildren
      outputParameters:
      - type: object
        mapping: $.
    - name: create-folder-driveitem
      description: Create folder in driveItem
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-onedrive-driveitems.createfolder
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: download-file-content
      description: Download file content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.downloaddriveitemcontent
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-file-content-small-file
      description: Upload file content (small file replace)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.uploaddriveitemcontent
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: copy-driveitem
      description: Copy driveItem
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-onedrive-driveitems.copydriveitem
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-root-driveitem-drive
      description: Get root driveItem of a drive
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.getdriveroot
      outputParameters:
      - type: object
        mapping: $.
    - name: list-children-root
      description: List children of root
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-onedrive-driveitems.listdriverootchildren
      outputParameters:
      - type: object
        mapping: $.