
Google Sheets
Provides 25+ specialized tools to automate Google Sheets operations including creating, reading, updating sheets and managing table data through the Google Sheets API.
Integrates with Google Drive and Google Sheets to create, read, update, and manage spreadsheets with support for both OAuth and service account authentication methods.
What it does
- Create and delete Google Sheets
- Read and write cell data with batch processing
- Manage table operations with CRUD functionality
- Sort spreadsheet data and manage column types
- Validate structured data entries
- Manipulate cells and perform sheet management tasks
Best for
About Google Sheets
Google Sheets is a community-built MCP server published by xing5 that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Google Sheets and Google Drive to manage spreadsheets easily using the Google Sheets API and advanced aut It is categorized under productivity, developer tools.
How to install
You can install Google Sheets in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Google Sheets is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
π€ What is this?
mcp-google-sheets is a Python-based MCP server that acts as a bridge between any MCP-compatible client (like Claude Desktop) and the Google Sheets API. It allows you to interact with your Google Spreadsheets using a defined set of tools, enabling powerful automation and data manipulation workflows driven by AI.
π Quick Start (Using uvx)
Essentially the server runs in one line: uvx mcp-google-sheets@latest.
This command will automatically download the latest code and run it. We recommend always using @latest to ensure you have the newest version with the latest features and bug fixes.
Refer to the ID Reference Guide for more information about the IDs used below.
-
βοΈ Prerequisite: Google Cloud Setup
- You must configure Google Cloud Platform credentials and enable the necessary APIs first. We strongly recommend using a Service Account.
- β‘οΈ Jump to the Detailed Google Cloud Platform Setup guide below.
-
π Install
uvuvxis part ofuv, a fast Python package installer and resolver. Install it if you haven't already:
Follow instructions in the installer output to add# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Or using pip: # pip install uvuvto your PATH if needed.
-
π Set Essential Environment Variables (Service Account Recommended)
- You need to tell the server how to authenticate. Set these variables in your terminal:
- (Linux/macOS)
# Replace with YOUR actual path and folder ID from the Google Setup step export SERVICE_ACCOUNT_PATH="/path/to/your/service-account-key.json" export DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID" - (Windows CMD)
set SERVICE_ACCOUNT_PATH="C:\path\to\your\service-account-key.json" set DRIVE_FOLDER_ID="YOUR_DRIVE_FOLDER_ID" - (Windows PowerShell)
$env:SERVICE_ACCOUNT_PATH = "C:\path\to\your\service-account-key.json" $env:DRIVE_FOLDER_ID = "YOUR_DRIVE_FOLDER_ID" - β‘οΈ See Detailed Authentication & Environment Variables for other options (OAuth,
CREDENTIALS_CONFIG).
-
π Run the Server!
uvxwill automatically download and run the latest version ofmcp-google-sheets:uvx mcp-google-sheets@latest- The server will start and print logs indicating it's ready.
-
π‘ Pro Tip: Always use
@latestto ensure you get the newest version with bug fixes and features. Without@latest,uvxmay use a cached older version.
-
π Connect your MCP Client
- Configure your client (e.g., Claude Desktop) to connect to the running server.
- Depending on the client you use, you might not need step 4 because the client can launch the server for you. But it's a good practice to test run step 4 anyway to make sure things are set up properly.
- β‘οΈ See Usage with Claude Desktop for examples.
-
β‘ Optional: Enable Tool Filtering (Reduce Context Usage)
- By default, all 19 tools are enabled (~13K tokens). To reduce context usage, enable only the tools you need.
- β‘οΈ See Tool Filtering for details.
You're ready! Start issuing commands via your MCP client.
β¨ Key Features
- Seamless Integration: Connects directly to Google Drive & Google Sheets APIs.
- Comprehensive Tools: Offers a wide range of operations (CRUD, listing, batching, sharing, formatting, etc.).
- Flexible Authentication: Supports Service Accounts (recommended), OAuth 2.0, and direct credential injection via environment variables.
- Easy Deployment: Run instantly with
uvx(zero-install feel) or clone for development usinguv. - AI-Ready: Designed for use with MCP-compatible clients, enabling natural language spreadsheet interaction.
- Tool Filtering: Reduce context window usage by enabling only the tools you need with
--include-toolsorENABLED_TOOLSenvironment variable.
π― Tool Filtering (Reduce Context Usage)
Problem: By default, this MCP server exposes all 19 tools, consuming ~13,000 tokens before any conversation begins. If you only need a few tools, this wastes valuable context window space.
Solution: Use tool filtering to enable only the tools you actually use.
How to Enable Tool Filtering
You can filter tools using either:
-
Command-line argument
--include-tools:{ "mcpServers": { "google-sheets": { "command": "uvx", "args": [ "mcp-google-sheets@latest", "--include-tools", "get_sheet_data,update_cells,list_spreadsheets,list_sheets" ], "env": { "SERVICE_ACCOUNT_PATH": "/path/to/credentials.json" } } } } -
Environment variable
ENABLED_TOOLS:{ "mcpServers": { "google-sheets": { "command": "uvx", "args": ["mcp-google-sheets@latest"], "env": { "SERVICE_ACCOUNT_PATH": "/path/to/credentials.json", "ENABLED_TOOLS": "get_sheet_data,update_cells,list_spreadsheets,list_sheets" } } } }
Available Tool Names
When filtering, use these exact tool names (comma-separated, no spaces):
Most Common Tools (recommended subset):
get_sheet_data- Read from spreadsheetsupdate_cells- Write to spreadsheetslist_spreadsheets- Find spreadsheetslist_sheets- Navigate tabs
All Available Tools:
add_columnsadd_rowsbatch_updatebatch_update_cellscopy_sheetcreate_sheetcreate_spreadsheetfind_in_spreadsheetget_multiple_sheet_dataget_multiple_spreadsheet_summaryget_sheet_dataget_sheet_formulaslist_folderslist_sheetslist_spreadsheetsrename_sheetsearch_spreadsheetsshare_spreadsheetupdate_cells
Note: If neither --include-tools nor ENABLED_TOOLS is specified, all tools are enabled (default behavior).
π οΈ Available Tools & Resources
This server exposes the following tools for interacting with Google Sheets:
Refer to the ID Reference Guide for more information about the IDs used below.
(Input parameters are typically strings unless otherwise specified)
list_spreadsheets: Lists spreadsheets in the configured Drive folder (Service Account) or accessible by the user (OAuth).folder_id(optional string): Google Drive folder ID to search in. Get from its URL. If omitted, uses the configured default folder or searches 'My Drive'.- Returns: List of objects
[{id: string, title: string}]
create_spreadsheet: Creates a new spreadsheet.title(string): The desired title for the spreadsheet. Example: "Quarterly Report Q4".folder_id(optional string): Google Drive folder ID where the spreadsheet should be created. Get from its URL. If omitted, uses configured default or root.- Returns: Object with spreadsheet info, including
spreadsheetId,title, andfolder.
get_sheet_data: Reads data from a range in a sheet/tab.spreadsheet_id(string): The spreadsheet ID (from its URL).sheet(string): Name of the sheet/tab (e.g., "Sheet1").range(optional string): A1 notation (e.g.,'A1:C10','Sheet1!B2:D'). If omitted, reads the whole sheet/tab specified bysheet.include_grid_data(optional boolean, defaultFalse): IfTrue, returns full grid data including formatting and metadata (much larger). IfFalse, returns values only (more efficient).- Returns: If
include_grid_data=True, full grid data with metadata (getresponse). IfFalse, a values result object from the Values API (values.getresponse).
get_sheet_formulas: Reads formulas from a range in a sheet/tab.spreadsheet_id(string): The spreadsheet ID (from its URL).sheet(string): Name of the sheet/tab (e.g., "Sheet1").range(optional string): A1 notation (e.g.,'A1:C10','Sheet1!B2:D'). If omitted, reads all formulas in the sheet/tab specified bysheet.- Returns: 2D array of cell formulas (array of arrays) (
values.getresponse).
update_cells: Writes data to a specific range. Overwrites existing data.spreadsheet_id(string): The spreadsheet ID (from its URL).sheet(string): Name of the sheet/tab (e.g., "Sheet1").range(string): A1 notation range to write to (e.g.
README truncated. View full README on GitHub.
Alternatives
Related Skills
Browse all skillsAnswer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to "run" any process. Also handles Perplexity-based research and Google Sheets data tracking.
UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.
Manage Google Drive files and folders with full CRUD operations via Ruby scripts. Use for file storage operations, folder organization, sharing permissions, searching across Drive, and uploading/downloading files of any type. Works seamlessly with google-sheets and google-docs skills for complete Google Workspace integration.
Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.