otheroauth2

Google Sheets

Google Sheets is a cloud-based spreadsheet tool enabling real-time collaboration, data analysis, and integration with other Google Workspace apps

Verdict

This MCP exposes 36 Google Sheets operations — reading cells, writing rows, clearing ranges, adding tabs, aggregating columns, and more. @mention it to pull data from a spreadsheet into a conversation, append form responses or meeting notes to a shared tracker, or run calculations across columns without opening the Sheet. Teams using Sheets as a lightweight database or shared log get the most value. Setup requires OAuth and read/write scope grants; the MCP cannot create new spreadsheets from scratch, only modify existing ones you share with it.

Common use cases

  • Append meeting notes to a shared tracker
  • Pull latest sales numbers into standup chat
  • Clear outdated rows from a project roadmap
  • Aggregate survey responses by column value
  • Add a new tab for quarterly planning

Integration

Vendor
Google Sheets
Category
other
Auth
OAUTH2
Tools
36
Composio slug
googlesheets

Tools

  • Add Sheet to Spreadsheet

    Adds a new sheet (worksheet) to a spreadsheet. use this tool to create a new tab within an existing google sheet, optionally specifying its title, index, size, and other properties.

  • Aggregate Column Data

    Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.

  • Append Dimension

    Tool to append new rows or columns to a sheet, increasing its size. use when you need to add empty rows or columns to an existing sheet.

  • Append Values to Spreadsheet

    Tool to append values to a spreadsheet. use when you need to add new data to the end of an existing table in a google sheet.

  • Batch Clear Spreadsheet Values

    Tool to clear one or more ranges of values from a spreadsheet. use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.

  • Batch Clear Values By Data Filter

    Clears one or more ranges of values from a spreadsheet using data filters. the caller must specify the spreadsheet id and one or more datafilters. ranges matching any of the specified data filters will be cleared. only values are cleared --

  • Batch get spreadsheet

    Retrieves data from specified cell ranges in a google spreadsheet; ensure the spreadsheet has at least one worksheet and any explicitly referenced sheet names in ranges exist.

  • Batch Get Spreadsheet Values by Data Filter

    Tool to return one or more ranges of values from a spreadsheet that match the specified data filters. use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges.

  • Batch update spreadsheet

    Updates a specified range in a google sheet with given values, or appends them as new rows if `first cell location` is omitted; ensure the target sheet exists and the spreadsheet contains at least one worksheet.

  • Batch Update Values by Data Filter

    Tool to update values in ranges matching data filters. use when you need to update specific data in a google sheet based on criteria rather than fixed cell ranges.

  • Clear Basic Filter

    Tool to clear the basic filter from a sheet. use when you need to remove an existing basic filter from a specific sheet within a google spreadsheet.

  • Clear spreadsheet values

    Clears cell content (preserving formatting and notes) from a specified a1 notation range in a google spreadsheet; the range must correspond to an existing sheet and cells.

  • Copy Sheet to Another Spreadsheet

    Tool to copy a single sheet from a spreadsheet to another spreadsheet. use when you need to duplicate a sheet into a different spreadsheet.

  • Create a Google Sheet

    Creates a new google spreadsheet in google drive using the provided title.

  • Create Chart in Google Sheets

    Create a chart in a google sheets spreadsheet using the specified data range and chart type.

  • Create sheet from JSON

    Creates a new google spreadsheet and populates its first worksheet from `sheet json`, which must be non-empty as its first item's keys establish the headers.

  • Create spreadsheet column

    Creates a new column in a google spreadsheet, requiring a valid `spreadsheet id` and an existing `sheet id`; an out-of-bounds `insert index` may append/prepend the column.

  • Create spreadsheet row

    Inserts a new, empty row into a specified sheet of a google spreadsheet at a given index, optionally inheriting formatting from the row above.

  • Delete Dimension (Rows/Columns)
    destructive

    Tool to delete specified rows or columns from a sheet in a google spreadsheet. use when you need to remove a range of rows or columns.

  • Delete Sheet
    destructive

    Tool to delete a sheet (worksheet) from a spreadsheet. use when you need to remove a specific sheet from a google sheet document.

  • Execute SQL on Spreadsheet

    Execute sql queries against google sheets tables. supports select, insert, update, and delete operations with familiar sql syntax. tables are automatically detected and mapped from the spreadsheet structure.

  • Find worksheet by title

    Finds a worksheet by its exact, case-sensitive title within a google spreadsheet; returns a boolean indicating if found and the complete metadata of the entire spreadsheet, regardless of whether the target worksheet is found.

  • Format cell

    Applies text and background cell formatting to a specified range in a google sheets worksheet.

  • Get sheet names

    Lists all worksheet names from a specified google spreadsheet (which must exist), useful for discovering sheets before further operations.

  • Get Spreadsheet by Data Filter

    Returns the spreadsheet at the given id, filtered by the specified data filters. use this tool when you need to retrieve specific subsets of data from a google sheet based on criteria like a1 notation, developer metadata, or grid ranges.

  • Get spreadsheet info

    Retrieves comprehensive metadata for a google spreadsheet using its id, excluding cell data.

  • Get Table Schema

    This action is used to get the schema of a table in a google spreadsheet, call this action to get the schema of a table in a spreadsheet before you query the table. analyze table structure and infer column names, types, and constraints. use

  • Insert Dimension in Google Sheet

    Tool to insert new rows or columns into a sheet at a specified location. use when you need to add empty rows or columns within an existing google sheet.

  • List Tables in Spreadsheet

    This action is used to list all tables in a google spreadsheet, call this action to get the list of tables in a spreadsheet. discover all tables in a google spreadsheet by analyzing sheet structure and detecting data patterns. uses heuristi

  • Look up spreadsheet row

    Finds the first row in a google spreadsheet where a cell's entire content exactly matches the query string, searching within a specified a1 notation range or the first sheet by default.

  • Query Spreadsheet Table

    This action is used to query a table in a google spreadsheet, call this action to query a table in a spreadsheet. execute sql-like select queries against spreadsheet tables. supports where conditions, order by, limit clauses. call this acti

  • Search Developer Metadata

    Tool to search for developer metadata in a spreadsheet. use when you need to find specific metadata entries based on filters.

  • Search Spreadsheets

    Search for google spreadsheets using various filters including name, content, date ranges, and more.

  • Set Basic Filter

    Tool to set a basic filter on a sheet in a google spreadsheet. use when you need to filter or sort data within a specific range on a sheet.

  • Update Sheet Properties

    Tool to update properties of a sheet (worksheet) within a google spreadsheet, such as its title, index, visibility, tab color, or grid properties. use this when you need to modify the metadata or appearance of a specific sheet.

  • Update Spreadsheet Properties

    Tool to update properties of a spreadsheet, such as its title, locale, or auto-recalculation settings. use when you need to modify the overall configuration of a google sheet.

Setup

Setup guide

  1. 1In Switchy, open your workspace settings and navigate to the Integrations tab. Click 'Add MCP' and select Google Sheets from the catalog. You'll be redirected to Google's OAuth consent screen — sign in with the account that owns or has edit access to the Sheets you want to work with. Grant the requested scopes: 'See, edit, create, and delete all your Google Sheets spreadsheets' (this is Google's standard Sheets API scope). After authorizing, Switchy will confirm the connection succeeded. To test, open any Space and type '@Google Sheets batch get spreadsheet' followed by a spreadsheet ID and range (e.g. 'Sheet1!A1:C10'). If the MCP returns cell values, the connection is live. You can now invoke any of the 36 tools by @mentioning Google Sheets and describing the task in natural language.

What teammates see: by default, memories from Google Sheets are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Append Row to Tracker

@Google Sheets append the following row to spreadsheet ID 1a2b3c4d5e in the 'Tasks' tab: [Today's date, 'Draft Q2 roadmap', 'Alice', 'In Progress'].
Open in a Space →

Fetch Range Summary

@Google Sheets batch get the range 'Revenue!B2:D15' from spreadsheet ID 9x8y7z6w5v and summarize the totals by month.
Open in a Space →

Clear Stale Data

@Google Sheets batch clear the range 'Archive!A2:Z100' in spreadsheet ID 3f4g5h6j7k to prepare it for new data.
Open in a Space →

Aggregate Column Totals

@Google Sheets aggregate column data in spreadsheet ID 2c3d4e5f6g: sum column D where column B equals 'Completed'.
Open in a Space →

Create New Tab

@Google Sheets add a new sheet titled 'Q2 Goals' to spreadsheet ID 7h8j9k0l1m, positioned at index 2.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Google Sheets pull the last 50 rows from the 'Q1 Sales' sheet in our pipeline tracker and show me which deals are still in negotiation

Output

Retrieved 50 rows from 'Q1 Sales' sheet (spreadsheet ID: 1a2b3c...). Found 12 deals currently marked 'Negotiation' in column E. Here's a summary: 7 enterprise deals (avg value $45K), 5 mid-market ($18K avg). Oldest negotiation started Jan 12; newest from yesterday. Three deals have been in this stage >30 days. The sheet contains columns for Company, Contact, Stage, Value, and Last Updated.

Notes

This example uses batch retrieval to fetch tabular data, then applies AI reasoning to filter and summarize. Requires read access to the specific spreadsheet. Google Sheets has rate limits (100 requests/100 seconds per user by default); large-scale polling can hit quotas quickly.

Prompt

@Google Sheets append a new row to the 'Weekly Standup Notes' sheet: date today, team 'Engineering', status 'Deployed v2.1.0, investigating cache issue'

Output

Appended 1 row to 'Weekly Standup Notes' (row 47). Wrote: [2025-01-15 | Engineering | Deployed v2.1.0, investigating cache issue]. The sheet now has 47 rows of standup history. No formulas or formatting were altered in existing rows. Append operation completed in ~800ms.

Notes

This demonstrates a write action — adding structured data to an existing log. The MCP appends to the end of the table, so your sheet must already have headers in row 1. Side-effect: this is a live write; there's no undo via the MCP (you'd revert in Sheets directly).

Prompt

@Google Sheets create a new sheet called 'Feb Budget' in our finance workbook, then calculate the sum of column C in the 'Jan Actuals' sheet and write it to cell B2 of the new sheet

Output

Created sheet 'Feb Budget' (sheetId: 987654321) in spreadsheet 1x2y3z... Used Aggregate Column Data to sum column C from 'Jan Actuals': total is $127,450. Wrote this value to 'Feb Budget'!B2. The new sheet has default dimensions (1000 rows × 26 columns). You can now add formulas or additional data to build out the February budget template.

Notes

This chains two capabilities: creating a new worksheet tab, then performing a cross-sheet calculation. Showcases how the MCP can orchestrate multi-step workflows. Requires edit permissions on the spreadsheet. Be aware that creating sheets and writing values are separate API calls — complex workflows consume quota faster.

Use-case deep-dives

Weekly sales pipeline review

When Sheets MCP beats a CRM export for small sales teams

A 5-person sales team runs their pipeline in a shared Google Sheet—one tab per rep, a rollup tab for the weekly call. The Sheets MCP lets an agent pull last week's closed deals (Batch Get by filter), append this week's new leads (Append Values), and calculate conversion rates (Aggregate Column Data) without anyone touching a CSV. This works until you hit 30+ reps or need audit trails on who changed what. OAuth2 means each agent call runs as the user who connected it, so permissions stay clean. If your pipeline lives in Sheets and your team is under 15 people, this MCP turns the weekly review from a 20-minute copy-paste ritual into a 2-minute agent summary. Beyond that scale, you want a real CRM integration.

Customer support ticket tagging

Sheets MCP for lightweight support ops tracking

A 3-person support team logs tickets in a Google Sheet: one row per ticket, columns for status, priority, and tags. The Sheets MCP can read incoming tickets (Batch Get), update status when an agent closes one (Update Values), and clear resolved rows at month-end (Batch Clear). This setup works when ticket volume is under 200/month and the team doesn't need SLA tracking or escalation workflows. The 36 tools cover most table operations—add tabs for different product lines, aggregate response times by tag, append new tickets from a form. If you're already in Sheets and don't want to pay for Zendesk, this MCP keeps the workflow in one place. Once you need automation triggers or reporting dashboards, migrate to a proper ticketing system.

Event budget reconciliation

Using Sheets MCP for quarterly budget closeout

A 4-person events team tracks spend in a Google Sheet: one tab per event, columns for vendor, invoice, paid/unpaid. At quarter-end, an agent uses the Sheets MCP to pull all unpaid invoices (Batch Get by Data Filter), sum totals by vendor (Aggregate Column Data), and append a reconciliation row to each event tab (Append Values). This beats manual pivoting when you have 8-12 events per quarter and 30-50 line items each. OAuth2 means the finance lead's permissions control what the agent can see. The MCP's 36 tools handle most spreadsheet operations, but it won't parse PDFs or match invoices to bank statements—you still need human review for discrepancies. If your budget lives in Sheets and closeout takes more than an hour, this MCP cuts it to 10 minutes.

Frequently asked

What can the Google Sheets MCP do in Switchy?

It lets AI agents read, write, and manipulate Google Sheets data directly — appending rows, clearing ranges, aggregating columns, adding new tabs, and batch-fetching values. Think of it as giving your AI the same spreadsheet access a human teammate would have, without needing to export CSVs or write custom scripts.

Which OAuth scopes does the Google Sheets MCP request?

It requests full read-write access to your Google Sheets (the spreadsheets scope). You'll authenticate via Google's OAuth flow, and Switchy stores the refresh token. The MCP can't access other Google Workspace apps — just Sheets. You don't need Google Workspace admin rights, but you do need edit access to the specific sheets you want the AI to touch.

Can it create new spreadsheets from scratch?

No. The 36 tools operate on existing spreadsheets — adding sheets (tabs), appending rows, clearing ranges, aggregating data. If you need to create a brand-new spreadsheet file, do that manually in Google Drive first, then point the MCP at its ID. It's designed for manipulating data inside sheets, not provisioning new files.

Why use this instead of the Google Sheets API directly?

The MCP abstracts away pagination, auth token refresh, and error handling. Your AI agent calls tools like Append Values or Aggregate Column Data in plain English; Switchy translates that into the correct API sequence. You skip writing boilerplate and get a conversational interface. Trade-off: less granular control than raw API calls, but faster for 90% of spreadsheet tasks.

Who on the team should connect the Google Sheets account?

Whoever owns the sheets you want the AI to access. If your team shares a Google Workspace, connect the account that has edit permissions on the relevant spreadsheets. The MCP inherits that user's access level — it can't escalate privileges. One connection covers all sheets that account can edit.

Data last verified 607 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.