Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

Microsoft Excel

Arcade toolkit · docs.arcade.dev

Arcade's Microsoft Excel toolkit connects LLMs to Excel workbooks stored in OneDrive for Business, enabling agents to read, write, analyze, and manage spreadsheets through the Microsoft Graph API.

Capabilities

  • Workbook discovery & metadata: Search OneDrive for .xlsx files by keyword or folder, and inspect workbook structure (worksheets, named ranges, tables, charts, used ranges, protection state) before operating on data.
  • Reading & querying: Read worksheet ranges with pagination, column projection, row filtering, and optional annotations (formulas, types, number formats, styles); aggregate rows into group-level totals, averages, counts, or min/max without paginating raw data.
  • Writing & formatting: Create or edit workbooks with a rich operation set — write/clear cells, apply fonts/fills/borders/alignment, autofit or explicitly size columns and rows, sort data, build and style native Excel tables, add and configure charts, manage worksheets and named ranges, protect sheets, and recalculate.
  • Upload & download: Upload a complete .xlsx file byte-for-byte (including formatting, formulas, and charts) into OneDrive via resumable sessions; retrieve current user/environment context.
  • Data quality & comments: Scan worksheets or entire workbooks for formula errors, type outliers, inconsistent columns, accidental duplicates, and blank cells — with severity-ordered results; read comment threads and post replies.

Tools10

  • MicrosoftExcel_AggregateWorksheet

    Summarize a worksheet by grouping rows and computing per-group aggregates in one call. Use this instead of reading and paginating raw rows when you need totals, averages, counts, or min/max broken down by one or more columns (e.g. revenue by region). Columns can be referenced by letter (group_by) or by header name (group_by_headers) — use whichever is more convenient. Groups are returned in first-seen order and capped by limit. Always check each aggregate's numeric_count field: non-numeric and formula-error cells are silently skipped for sum/average/min/max, so a clean-looking total may exclude rows — the warnings list will name every column and group where this occurred.

  • MicrosoftExcel_CreateOrEditWorkbook

    Create a new .xlsx workbook or edit an existing one in OneDrive for Business. Omit item_id to create (an empty workbook is created from filename, then the operations are applied); provide item_id to edit. To create a populated workbook, pass filename plus set_values operations; name the target tab via worksheet (or reference one consistent sheet name in the operations) and the new workbook's initial sheet is renamed to match. By default, when creating a workbook for a person to read, build a clean, professional-looking table rather than a bare value dump: preserve typed numbers and dates, apply appropriate number formats, turn tabular data into a native Excel table (add_table), and ALWAYS resize columns (format_columns with autofit=true over every used column — agents usually omit this and labels get truncated). If autofit still clips a long label, set an explicit column_width. Keep sheet names and headers plain text (no emojis). Only skip the polish when the user asks for raw data or a specific style. Each entry in operations selects a behavior via its type: write/clear cells, format cells (font, fill, borders, alignment, wrap, row height), size rows and columns, sort, add/restyle tables (style, totals, banding, filter), add/move/restyle charts (anchor cell, size, title, legend, axis titles), manage worksheets and named ranges, protect a sheet, and recalculate. See the operations parameter for per-type fields and examples. For a workbook you already have as a complete .xlsx file, upload its bytes rather than rebuilding it cell-by-cell.

  • MicrosoftExcel_GetWorkbookMetadata

    Get a workbook's structure: worksheets, named ranges, and optionally extents and objects. Call this first when exploring an unfamiliar workbook: it surfaces hidden worksheets and workbook-scoped named ranges. Use include_used_ranges to also learn where data lives (used ranges, protection state, and worksheet-local named ranges) before reading, and include_objects to enumerate tables and charts. Both add a per-worksheet fan-out, so leave them off for a quick worksheet listing.

  • MicrosoftExcel_ListWorkbookComments

    List a workbook's comments, or the replies on a specific comment thread. Provide a comment ID to retrieve that thread's replies instead of the top-level comments.

  • MicrosoftExcel_ReadWorksheet

    Read a worksheet range with the detail you choose, with guardrails for large sheets. Request annotations for formulas, cell types, number formats, or the range's fill/font/borders; filter_column + filter_contains to keep matching rows; columns to project a subset; export for csv/tsv. Reads are bounded to the used range and capped by a row limit and cell budget, paginating via next_range rather than returning a whole large sheet at once. Set row_format="records" (with has_header=true) to get a record dict on each data row, keying cell values by the header row (the top row of the worksheet's used range) — useful when agents need to map values to named columns without tracking positional indices. The header is carried across pages, so paginated reads via next_range stay correctly keyed. Each row still includes values. To verify formulas, types, or number patterns in the returned cells, pass annotations (e.g. ["formulas", "types"]); annotation values land under annotations keyed by A1 address alongside the displayed values.

  • MicrosoftExcel_ReplyToWorkbookComment

    Post a plain-text reply to an existing comment thread on a workbook. The reply is appended to the end of the thread.

  • MicrosoftExcel_ScanForDataIssues

    Scan a worksheet (or the whole workbook) for data-quality problems as a structured list. Each issue carries a severity field ("high", "medium", or "low") and the list is ordered high → low before any truncation cap is applied, so critical findings are never dropped in favour of lower-priority ones. By default the scan is sheet-scoped (the named worksheet, or the first sheet when worksheet is omitted). Pass worksheet='' for a workbook-wide audit: every sheet is scanned in one call and each issue carries its own worksheet field. Detects formula-error cells (severity="high"), type outliers within a column — a column mostly one type with a few cells of another — (severity="medium"), inconsistent_column for a column that mixes cell types without a strong majority (severity="medium"), accidental duplicate values in mostly-unique columns (severity="medium"), and blank cells inside an otherwise-populated region (severity="low"). Categorical columns (where repetition is expected) are not flagged as duplicates, and the header row is excluded from type-outlier and duplicate checks. A clean sheet returns an empty issues list. Detection is deterministic. Results are capped; when the cap is reached truncated is True and a warning is added. Merged cells are a known limitation: Microsoft Graph reports only the merge anchor as populated and every covered cell as empty, so cells hidden under a merge may be flagged as blanks. A worksheet cannot be scanned when its used range exceeds an internal cell limit (this tool takes no range argument): a single-sheet scan raises an error asking you to reduce the data, while a whole-workbook scan skips the oversized sheet and names it in a warning so the rest of the workbook is still scanned.

  • MicrosoftExcel_SearchWorkbooks

    Find Excel workbooks in OneDrive by keyword or folder, returning their item_ids. Provide query to search the whole drive by name/content, or leave it empty and pass parent_folder_id to list one folder; only .xlsx files are returned. Use a returned item_id to read, edit, scan, or comment on a workbook you did not create this session.

  • MicrosoftExcel_UploadWorkbook

    Upload a complete .xlsx file into OneDrive for Business, preserving it byte-for-byte. Use this to store a workbook you already have as a complete file — one the user provided, or one produced elsewhere with formatting, formulas, and charts intact. To build and format a workbook from data, apply formatting operations when creating it rather than uploading bytes. Large files are uploaded via a resumable upload session automatically.

  • MicrosoftExcel_WhoAmI

    Get information about the current user and their Microsoft Excel environment.