Google Sheets MCP Server

Manage Google Spreadsheets and Drive: it supports authentication via OAuth or service accounts, reading and updating cells, batch updates, adding rows/columns, listing/renaming/copying sheets, creating spreadsheets and new sheets, retrieving spreadsheet info, and listing spreadsheets in a specified Drive folder.

Spreadsheet Management SpreadsheetDataGoogle

Configuration

MCP Settings Configuration

{
  "google-sheets": {
    "stdio": {
      "command": "python3",
      "args": [
        "-m", "mcpuniverse.mcp.servers.google_sheets"
      ]
    },
    "env": {
      "SERVICE_ACCOUNT_PATH": "{{GOOGLE_SERVICE_ACCOUNT_PATH}}",
      "DRIVE_FOLDER_ID": "{{GOOGLE_DRIVE_FOLDER_ID}}"
    }
  }
}

Available Tools & Methods

get_sheet_data(spreadsheet_id, sheet, range)
Get data from a specific sheet in a Google Spreadsheet
Parameters: spreadsheet_id (string), sheet (string), range (string, optional)
update_cells(spreadsheet_id, sheet, range, data)
Update cells in a Google Spreadsheet
Parameters: spreadsheet_id (string), sheet (string), range (string), data (array)
batch_update_cells(spreadsheet_id, sheet, ranges)
Batch update multiple ranges in a Google Spreadsheet
Parameters: spreadsheet_id (string), sheet (string), ranges (object)
add_rows(spreadsheet_id, sheet, count, start_row)
Add rows to a sheet in a Google Spreadsheet
Parameters: spreadsheet_id (string), sheet (string), count (number), start_row (number, optional)
add_columns(spreadsheet_id, sheet, count, start_column)
Add columns to a sheet in a Google Spreadsheet
Parameters: spreadsheet_id (string), sheet (string), count (number), start_column (number, optional)
list_sheets(spreadsheet_id)
List all sheets in a Google Spreadsheet
Parameters: spreadsheet_id (string)
copy_sheet(src_spreadsheet, src_sheet, dst_spreadsheet, dst_sheet)
Copy a sheet from one spreadsheet to another
Parameters: src_spreadsheet (string), src_sheet (string), dst_spreadsheet (string), dst_sheet (string)
rename_sheet(spreadsheet, sheet, new_name)
Rename a sheet in a Google Spreadsheet
Parameters: spreadsheet (string), sheet (string), new_name (string)
create_sheet(spreadsheet_id, title)
Create a new sheet tab in an existing Google Spreadsheet
Parameters: spreadsheet_id (string), title (string)
get_spreadsheet_info(spreadsheet_id)
Get basic information about a Google Spreadsheet
Parameters: spreadsheet_id (string)
create_spreadsheet(title)
Create a new Google Spreadsheet
Parameters: title (string)
list_spreadsheets()
List all spreadsheets in the configured Google Drive folder
Parameters: None

Installation Guide

# Installation ## Install Dependencies ```bash pip install google-auth google-auth-oauthlib google-api-python-client mcpuniverse ``` ## Authentication Setup ### Option 1: Service Account (Recommended) 1. Create a Google Cloud project with Google Sheets API and Google Drive API enabled 2. Create a service account and download the JSON key file 3. Set environment variables: ```bash export SERVICE_ACCOUNT_PATH="/path/to/service-account.json" export DRIVE_FOLDER_ID="your_folder_id" # Optional: specific folder to work with ``` ### Option 2: OAuth Flow 1. Create OAuth 2.0 credentials in Google Cloud Console 2. Download the credentials.json file 3. Set environment variables: ```bash export CREDENTIALS_PATH="/path/to/credentials.json" export TOKEN_PATH="/path/to/token.json" # Will be created automatically ``` ## Run the Server ```bash python server.py --transport stdio ``` For SSE transport: ```bash python server.py --transport sse --port 8000 ``` ## Configure Claude Desktop ### Service Account Configuration ```json { "mcpServers": { "google_sheets": { "command": "python", "args": ["/path/to/server.py"], "env": { "SERVICE_ACCOUNT_PATH": "/path/to/service-account.json", "DRIVE_FOLDER_ID": "your_folder_id" } } } } ``` ### OAuth Configuration ```json { "mcpServers": { "google_sheets": { "command": "python", "args": ["/path/to/server.py"], "env": { "CREDENTIALS_PATH": "/path/to/credentials.json", "TOKEN_PATH": "/path/to/token.json" } } } } ``` Replace the paths with your actual system paths.