Advanced Excel · Capability

Microsoft Graph Excel API

The Microsoft Graph Excel API provides REST access to Excel workbooks stored in OneDrive, SharePoint, or Teams. Supports reading and writing cell values, executing formulas, managing worksheets, creating charts and tables, and running workbook sessions for transactional batch operations on Excel files.

Run with Naftiko AdvancedExcelAPI

What You Can Do

GET
Listworksheets — Microsoft Excel List Worksheets
/me/drive/items/{driveItemId}/workbook/worksheets
POST
Addworksheet — Microsoft Excel Add Worksheet
/me/drive/items/{driveItemId}/workbook/worksheets
GET
Getrange — Microsoft Excel Get Cell Range Values
/me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/range(address='{address}')
PATCH
Updaterange — Microsoft Excel Update Cell Range Values
/me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/range(address='{address}')
GET
Listtables — Microsoft Excel List Worksheet Tables
/me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/tables
GET
Listcharts — Microsoft Excel List Worksheet Charts
/me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/charts
POST
Addchart — Microsoft Excel Add Chart to Worksheet
/me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/charts
POST
Createworkbooksession — Microsoft Excel Create Workbook Session
/me/drive/items/{driveItemId}/workbook/createSession

MCP Tools

listworksheets

Microsoft Excel List Worksheets

read-only idempotent
addworksheet

Microsoft Excel Add Worksheet

getrange

Microsoft Excel Get Cell Range Values

read-only idempotent
updaterange

Microsoft Excel Update Cell Range Values

listtables

Microsoft Excel List Worksheet Tables

read-only idempotent
listcharts

Microsoft Excel List Worksheet Charts

read-only idempotent
addchart

Microsoft Excel Add Chart to Worksheet

createworkbooksession

Microsoft Excel Create Workbook Session

Capability Spec

advanced-excel-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Graph Excel API
  description: The Microsoft Graph Excel API provides REST access to Excel workbooks stored in OneDrive, SharePoint, or Teams.
    Supports reading and writing cell values, executing formulas, managing worksheets, creating charts and tables, and running
    workbook sessions for transactional batch operations on Excel files.
  tags:
  - Advanced
  - Excel
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: advanced-excel
    baseUri: https://graph.microsoft.com/v1.0
    description: Microsoft Graph Excel API HTTP API.
    authentication:
      type: bearer
      token: '{{ADVANCED_EXCEL_TOKEN}}'
    resources:
    - name: me-drive-items-driveitemid-workbook-worksheets
      path: /me/drive/items/{driveItemId}/workbook/worksheets
      operations:
      - name: listworksheets
        method: GET
        description: Microsoft Excel List Worksheets
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addworksheet
        method: POST
        description: Microsoft Excel Add Worksheet
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-drive-items-driveitemid-workbook-worksheets-w
      path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/range(address='{address}')
      operations:
      - name: getrange
        method: GET
        description: Microsoft Excel Get Cell Range Values
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        - name: worksheetId
          in: path
          type: string
          required: true
          description: Worksheet ID or name.
        - name: address
          in: path
          type: string
          required: true
          description: Cell range address (e.g., A1:D10).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updaterange
        method: PATCH
        description: Microsoft Excel Update Cell Range Values
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        - name: worksheetId
          in: path
          type: string
          required: true
          description: Worksheet ID or name.
        - name: address
          in: path
          type: string
          required: true
          description: Cell range address (e.g., A1:D10).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-drive-items-driveitemid-workbook-worksheets-w
      path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/tables
      operations:
      - name: listtables
        method: GET
        description: Microsoft Excel List Worksheet Tables
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        - name: worksheetId
          in: path
          type: string
          required: true
          description: Worksheet ID or name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-drive-items-driveitemid-workbook-worksheets-w
      path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/charts
      operations:
      - name: listcharts
        method: GET
        description: Microsoft Excel List Worksheet Charts
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        - name: worksheetId
          in: path
          type: string
          required: true
          description: Worksheet ID or name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addchart
        method: POST
        description: Microsoft Excel Add Chart to Worksheet
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        - name: worksheetId
          in: path
          type: string
          required: true
          description: Worksheet ID or name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-drive-items-driveitemid-workbook-createsessio
      path: /me/drive/items/{driveItemId}/workbook/createSession
      operations:
      - name: createworkbooksession
        method: POST
        description: Microsoft Excel Create Workbook Session
        inputParameters:
        - name: driveItemId
          in: path
          type: string
          required: true
          description: OneDrive item ID of the Excel workbook.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: advanced-excel-rest
    description: REST adapter for Microsoft Graph Excel API.
    resources:
    - path: /me/drive/items/{driveItemId}/workbook/worksheets
      name: listworksheets
      operations:
      - method: GET
        name: listworksheets
        description: Microsoft Excel List Worksheets
        call: advanced-excel.listworksheets
        with:
          driveItemId: rest.driveItemId
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets
      name: addworksheet
      operations:
      - method: POST
        name: addworksheet
        description: Microsoft Excel Add Worksheet
        call: advanced-excel.addworksheet
        with:
          driveItemId: rest.driveItemId
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/range(address='{address}')
      name: getrange
      operations:
      - method: GET
        name: getrange
        description: Microsoft Excel Get Cell Range Values
        call: advanced-excel.getrange
        with:
          driveItemId: rest.driveItemId
          worksheetId: rest.worksheetId
          address: rest.address
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/range(address='{address}')
      name: updaterange
      operations:
      - method: PATCH
        name: updaterange
        description: Microsoft Excel Update Cell Range Values
        call: advanced-excel.updaterange
        with:
          driveItemId: rest.driveItemId
          worksheetId: rest.worksheetId
          address: rest.address
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/tables
      name: listtables
      operations:
      - method: GET
        name: listtables
        description: Microsoft Excel List Worksheet Tables
        call: advanced-excel.listtables
        with:
          driveItemId: rest.driveItemId
          worksheetId: rest.worksheetId
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/charts
      name: listcharts
      operations:
      - method: GET
        name: listcharts
        description: Microsoft Excel List Worksheet Charts
        call: advanced-excel.listcharts
        with:
          driveItemId: rest.driveItemId
          worksheetId: rest.worksheetId
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/worksheets/{worksheetId}/charts
      name: addchart
      operations:
      - method: POST
        name: addchart
        description: Microsoft Excel Add Chart to Worksheet
        call: advanced-excel.addchart
        with:
          driveItemId: rest.driveItemId
          worksheetId: rest.worksheetId
        outputParameters:
        - type: object
          mapping: $.
    - path: /me/drive/items/{driveItemId}/workbook/createSession
      name: createworkbooksession
      operations:
      - method: POST
        name: createworkbooksession
        description: Microsoft Excel Create Workbook Session
        call: advanced-excel.createworkbooksession
        with:
          driveItemId: rest.driveItemId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: advanced-excel-mcp
    transport: http
    description: MCP adapter for Microsoft Graph Excel API for AI agent use.
    tools:
    - name: listworksheets
      description: Microsoft Excel List Worksheets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: advanced-excel.listworksheets
      with:
        driveItemId: tools.driveItemId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: addworksheet
      description: Microsoft Excel Add Worksheet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: advanced-excel.addworksheet
      with:
        driveItemId: tools.driveItemId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getrange
      description: Microsoft Excel Get Cell Range Values
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: advanced-excel.getrange
      with:
        driveItemId: tools.driveItemId
        worksheetId: tools.worksheetId
        address: tools.address
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      - name: worksheetId
        type: string
        description: Worksheet ID or name.
        required: true
      - name: address
        type: string
        description: Cell range address (e.g., A1:D10).
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updaterange
      description: Microsoft Excel Update Cell Range Values
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: advanced-excel.updaterange
      with:
        driveItemId: tools.driveItemId
        worksheetId: tools.worksheetId
        address: tools.address
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      - name: worksheetId
        type: string
        description: Worksheet ID or name.
        required: true
      - name: address
        type: string
        description: Cell range address (e.g., A1:D10).
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listtables
      description: Microsoft Excel List Worksheet Tables
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: advanced-excel.listtables
      with:
        driveItemId: tools.driveItemId
        worksheetId: tools.worksheetId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      - name: worksheetId
        type: string
        description: Worksheet ID or name.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listcharts
      description: Microsoft Excel List Worksheet Charts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: advanced-excel.listcharts
      with:
        driveItemId: tools.driveItemId
        worksheetId: tools.worksheetId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      - name: worksheetId
        type: string
        description: Worksheet ID or name.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: addchart
      description: Microsoft Excel Add Chart to Worksheet
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: advanced-excel.addchart
      with:
        driveItemId: tools.driveItemId
        worksheetId: tools.worksheetId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      - name: worksheetId
        type: string
        description: Worksheet ID or name.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createworkbooksession
      description: Microsoft Excel Create Workbook Session
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: advanced-excel.createworkbooksession
      with:
        driveItemId: tools.driveItemId
      inputParameters:
      - name: driveItemId
        type: string
        description: OneDrive item ID of the Excel workbook.
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    ADVANCED_EXCEL_TOKEN: ADVANCED_EXCEL_TOKEN