Connect Your AI Agent with Google Sheets for Slack

Integrate Google Sheets MCP server into your Slack workspace for instant access to your AI agent.

Back to MCP Servers
Google Sheets
Google Sheets
Use Google Sheets to create and edit online spreadsheets. Get insights together with secure sharing in real-time and from any device.

Categories

Productivity

Available Tools

Tools that your AI agent can use through this MCP server to interact with Google Sheets

Update Row

Overwrite cells in an existing row of a Google Sheet. Provide row (the 1-based row number — use Find Rows or Read Rows to get it from a row's _rowNumber) and myColumnData, a positional array of values starting at column A (e.g. ["Alice","alice@ingen.test","Engineering"]). Values are written left-to-right from column A, so include the current value of every column up to the one you're changing (read them first via Get Spreadsheet Info / Read Rows); columns after your last value are left unchanged, not cleared. To add a new row instead of overwriting one, use Add Single Row. See the documentation

Update Multiple Rows

Overwrite a contiguous block of cells in a Google Sheet, defined by an A1 range. Provide range WITHOUT the worksheet name — just the cells, e.g. A2:C3 (the tool prepends the worksheet automatically; passing Sheet1!A2:C3 will fail). Provide rows as a JSON array of arrays matching the range, each inner array a row in column order (e.g. range A2:C3 with [["Alice","alice@ingen.test","Active"],["Bob","bob@ingen.test","Active"]]). Use Read Rows to see current values and Get Spreadsheet Info for the column order. This overwrites the range in place; to insert rows and shift others down, use Add Single Row. See the documentation

Read Rows

Read rows from a Google Sheets worksheet. Returns data as objects (keys = column headers from row 1) by default, or as raw arrays. Use Get Spreadsheet Info first to discover worksheet names. Optionally specify a range in A1 notation (e.g., A2:D10) to read a subset. For searching rows by value, use Find Rows instead.

New Spreadsheet

Create a new Google Spreadsheet with an optional worksheet name and column headers. Returns the spreadsheet ID and URL. Use the spreadsheet ID with other tools to read/write data.

List Spreadsheets

List Google Spreadsheets accessible to the authenticated user. Optionally search by name with query. Returns an array of { spreadsheetId, name, url } whose IDs can be used with all other tools. Returns up to limit results (default 20); when more may exist the summary says so — raise limit to fetch them. See the documentation

Get Spreadsheet Info

Get the structure of a Google Spreadsheet — worksheet names, column headers (first row of each sheet), and row counts. Call this first before reading or writing data, so you know the worksheet names and column headers. The column headers are used as keys when writing data with Add Rows or Update Rows. The spreadsheet ID is the long string in the Google Sheets URL: https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit.

Find Rows

Search for rows matching a value in a specific column. Use Get Spreadsheet Info to discover column header names. Returns matching rows as objects with row numbers (useful for subsequent Update Rows calls). For simple reads without filtering, use Read Rows instead.

Add Worksheet

Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers. Use Get Spreadsheet Info to see existing worksheets before creating.

Add Single Row

Add a single row to a Google Sheet. By default the row is appended to the end. To INSERT the row at a specific position instead — pushing the rows at and below that position DOWN without overwriting them — set Row Index (e.g. Row Index 2 inserts directly below a header row). Use this tool (not Update Row or Update Multiple Rows) whenever the goal is to insert a row between existing rows or add a row while keeping every current row: the Update tools overwrite cells in place and do NOT shift rows down. See the documentation

Add Rows

Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array. Preferred format: array of objects with column header keys (e.g., [{"Name": "Alice", "Email": "alice@example.com"}]). Use Get Spreadsheet Info first to discover the exact column header names — keys must match headers exactly (case-sensitive). Alternatively, pass rows as arrays of positional values matching column order. New rows are appended after the last row with data.

Add Multiple Rows

Append multiple rows to a Google Sheet in one call. Provide rows as a JSON array of arrays — each inner array is one row, with cell values in column order (e.g. [["Alice","alice@ingen.test","Engineering"],["Bob","bob@ingen.test","Paleontology"]]). Use Get Spreadsheet Info first to see the column order. Rows are appended after the last row with data. To add a single row, or to insert at a specific position, use Add Single Row instead. See the documentation

Upsert Row

Upsert a row of data in a Google Sheet. See the documentation

Update Formatting

Update the formatting of a cell in a spreadsheet. See the documentation

Update Conditional Format Rule

Modify existing conditional formatting rule. See the documentation

Update Cell

Update a cell in a spreadsheet. See the documentation

Set Data Validation

Add data validation rules to cells (dropdowns, checkboxes, date/number validation). See the documentation

Move Dimension

Move a dimension in a spreadsheet. See the documentation

Merge Cells

Merge a range of cells into a single cell. See the documentation

List Worksheets

Get a list of all worksheets in a spreadsheet. See the documentation

Insert Dimension

Insert a dimension into a spreadsheet. See the documentation

Insert Comment

Insert a comment into a spreadsheet. See the documentation

Insert an Anchored Note

Insert a note on a spreadsheet cell. See the documentation

Get Values in Range

Get all values or values from a range of cells using A1 notation. See the documentation

Get Spreadsheet by ID

Returns the spreadsheet at the given ID. See the documentation for more information

Get Current User

Retrieve Google Sheets account metadata for the authenticated user by calling Drive's about.get, returning the user profile (display name, email, permission ID) and storage quota information. Helpful when you need to verify which Google account is active, tailor sheet operations to available storage, or give an LLM clear context about the user identity before composing read/write actions. See the Drive API documentation.

Get Cell

Fetch the contents of a specific cell in a spreadsheet. See the documentation

Find Row

Find one or more rows by a column and value. See the documentation

Delete Worksheet

Delete a specific worksheet. See the documentation

Delete Rows

Deletes the specified rows from a spreadsheet. See the documentation

Delete Conditional Format Rule

Remove conditional formatting rule by index. See the documentation

Create Worksheet

Create a blank worksheet with a title. See the documentation

Create Spreadsheet

Create a blank spreadsheet or duplicate an existing spreadsheet. See the documentation

Copy Worksheet

Copy an existing worksheet to another Google Sheets file. See the documentation

Clear Rows

Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows. See the documentation

Clear Cell

Delete the content of a specific cell in a spreadsheet. See the documentation

Add Protected Range

Add edit protection to cell range with permissions. See the documentation

Add Conditional Format Rule

Create conditional formatting with color scales or custom formulas. See the documentation

Create Column

Create a new column in a spreadsheet. See the documentation