Skip to content

Feature Request: Add AutoFillRequest support for Google Sheets (fill handle equivalent) #497

@edlearth

Description

@edlearth

Summary

Google Sheets has a core UX feature: the fill handle (the small blue square at the bottom-right of a selection). Dragging it copies formulas, formatting, and auto-increments sequences (dates, numbers) into adjacent cells. There is currently no MCP equivalent of this operation.

The Google Sheets API exposes this as AutoFillRequest in spreadsheets.batchUpdate, but it is not available through the MCP.

Use Case

When appending a new row to a structured spreadsheet (e.g., a daily tracker), the typical workflow is:

  1. Select the last populated row
  2. Drag the fill handle down to create a new row with all formulas adjusted to the new row
  3. Edit only the manual input cells

This is the most natural way to extend a spreadsheet that mixes manual inputs and formulas. Without AutoFillRequest, users must either:

  • Manually perform step 1-2 in the Google Sheets UI before using the MCP for step 3
  • Reverse-engineer every formula from computed values (the MCP can only read values, not formulas) and rewrite them — error-prone and fragile

Proposed Solution

Expose AutoFillRequest through the existing spreadsheets.batchUpdate endpoint (or as a dedicated autofill_sheet_range tool). The API call is straightforward:

{
  "requests": [
    {
      "autoFill": {
        "useAlternateSeries": false,
        "range": {
          "sheetId": 0,
          "startRowIndex": 28,
          "endRowIndex": 30,
          "startColumnIndex": 0,
          "endColumnIndex": 41
        },
        "sourceAndDestination": {
          "source": {
            "sheetId": 0,
            "startRowIndex": 28,
            "endRowIndex": 29,
            "startColumnIndex": 0,
            "endColumnIndex": 41
          },
          "dimension": "ROWS",
          "fillLength": 1
        }
      }
    }
  ]
}

Reference

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions