Google Sheets MCP Server

Read, write, create, and manage Google Sheets through AI assistants with 19 tools for data operations, charts, sharing, and batch updates.

May 4, 2026
GitHub starsPyPI versionPyPI downloads

Overview

The Google Sheets MCP Server enables AI assistants to read, write, create, and manage spreadsheets in Google Sheets. With 19 tools covering data CRUD, batch operations, chart creation, sheet management, formula reading, and sharing, it provides comprehensive access to the Google Sheets API through natural language.

Popular Community Server:

Developed by xing5 with 840+ stars on GitHub. Python-based, installable via uvx. Supports Service Account, OAuth 2.0, and Application Default Credentials.

Key Features

📖

Read & Write Data

Read cell values and formulas, update ranges, and perform batch writes across multiple ranges in one call.

📊

Chart Creation

Create column, bar, line, area, pie, scatter, and combo charts from spreadsheet data with custom labels.

📋

Sheet Management

Create, rename, copy sheets across spreadsheets, add rows and columns at specified positions.

🔗

Share & Collaborate

Share spreadsheets with users by email with reader, commenter, or writer roles. Send notifications.

🔍

Find & Search

Search for values across spreadsheets, list and search spreadsheets by name, and get multi-sheet summaries.

Tool Filtering

Reduce context usage by enabling only the tools you need via command-line args or environment variables.

Available Tools

Quick Reference

ToolPurposeCategory
list_spreadsheetsList spreadsheets in the configured folderDiscovery
create_spreadsheetCreate a new spreadsheetWrite
get_sheet_dataRead data from a rangeRead
get_sheet_formulasRead formulas from a rangeRead
get_multiple_sheet_dataFetch data from multiple rangesRead
get_multiple_spreadsheet_summaryGet summaries of multiple spreadsheetsRead
update_cellsWrite data to a rangeWrite
batch_update_cellsUpdate multiple ranges in one callWrite
add_rowsInsert empty rowsStructure
add_columnsInsert empty columnsStructure
list_sheetsList all sheet namesDiscovery
create_sheetAdd a new sheetStructure
rename_sheetRename a sheetStructure
copy_sheetCopy a sheet to another spreadsheetStructure
find_in_spreadsheetSearch for valuesSearch
search_spreadsheetsSearch spreadsheets by nameSearch
share_spreadsheetShare with usersCollaboration
add_chartCreate a chartVisualization

Detailed Usage

get_sheet_data

Read data from a range in a sheet.

use_mcp_tool({
  server_name: "google-sheets",
  tool_name: "get_sheet_data",
  arguments: {
    spreadsheet_id: "abc123",
    sheet: "Sheet1",
    range: "A1:C10"
  }
});
update_cells

Write data to a specific range, overwriting existing content.

use_mcp_tool({
  server_name: "google-sheets",
  tool_name: "update_cells",
  arguments: {
    spreadsheet_id: "abc123",
    sheet: "Sheet1",
    range: "A1:C3",
    data: [[1, 2, 3], ["a", "b", "c"]]
  }
});
add_chart

Create a chart from spreadsheet data. Supports column, bar, line, area, pie, scatter, combo, and histogram types.

use_mcp_tool({
  server_name: "google-sheets",
  tool_name: "add_chart",
  arguments: {
    spreadsheet_id: "abc123",
    sheet: "Sheet1",
    chart_type: "COLUMN",
    data_range: "A1:C10",
    title: "Monthly Revenue"
  }
});
share_spreadsheet

Share a spreadsheet with recipients, assigning reader, commenter, or writer roles.

use_mcp_tool({
  server_name: "google-sheets",
  tool_name: "share_spreadsheet",
  arguments: {
    spreadsheet_id: "abc123",
    recipients: [
      { email_address: "[email protected]", role: "writer" }
    ],
    send_notification: false
  }
});

Installation

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets@latest"
      ],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/path/to/service-account-key.json",
        "DRIVE_FOLDER_ID": "your_drive_folder_id"
      }
    }
  }
}

Google Cloud Setup Required:

You need a Google Cloud Project with the Sheets API and Drive API enabled. Create a Service Account, share a Drive folder with it, and set SERVICE_ACCOUNT_PATH and DRIVE_FOLDER_ID environment variables.

Authentication

The server supports multiple authentication methods checked in order:

MethodVariableBest For
Service AccountSERVICE_ACCOUNT_PATHServers, automation
OAuth 2.0CREDENTIALS_PATHInteractive / personal use
Credentials ConfigCREDENTIALS_CONFIG (Base64)Docker, CI/CD
Application DefaultGOOGLE_APPLICATION_CREDENTIALSGCP environments

Configuration

Tool Filtering

Reduce context usage by enabling only the tools you need:

{
  "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"
      }
    }
  }
}

Reducing Context:

All 19 tools consume ~13K tokens. Use --include-tools or the ENABLED_TOOLS environment variable to enable only the tools you actually use.

Common Use Cases

  • Data Entry Automation: Populate and update spreadsheet data from AI conversations
  • Report Generation: Create formatted reports with charts, summaries, and structured data
  • Inventory Management: Track and update inventory lists, pricing, and stock levels
  • Collaborative Editing: Read, analyze, and update shared spreadsheets during team workflows
  • Multi-Sheet Analysis: Query multiple spreadsheets and sheets in a single operation

Sources