Skip to main content
Glama
Runemal

Google Sheets and Drive MCP

by Runemal

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOOGLE_SHEETS_READ_ONLYNoIf 'true', server runs in read-only mode (default: false).false
GOOGLE_SHEETS_MAX_RETRIESNoMaximum number of retries for temporary errors (default: 2).2
GOOGLE_SHEETS_MAX_READ_CELLSNoMaximum number of cells to read in a single request (default: 100000).100000
GOOGLE_SHEETS_MAX_WRITE_CELLSNoMaximum number of cells to write in a single request (default: 10000).10000
GOOGLE_APPLICATION_CREDENTIALSYesAbsolute path to the Google Cloud service account JSON key file.
GOOGLE_SHEETS_ALLOWED_SPREADSHEET_IDSNoComma-separated list of allowed spreadsheet IDs (empty means no restriction).
GOOGLE_SHEETS_REQUEST_TIMEOUT_SECONDSNoTimeout in seconds for Google Sheets API requests (default: 30).30
GOOGLE_SHEETS_RETRY_BASE_DELAY_SECONDSNoBase delay in seconds for exponential backoff (default: 0.5).0.5

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
healthA

Report server status and whether Google credentials are configured.

get_spreadsheetA

Get spreadsheet metadata and its list of sheets.

create_sheetC

Create one empty sheet with a bounded initial grid size.

rename_sheetA

Rename one sheet without changing its data or position.

copy_sheetC

Duplicate one complete sheet within the same spreadsheet.

read_rangeC

Read an explicitly bounded A1 range from a spreadsheet.

batch_read_rangesC

Read several explicitly bounded A1 ranges in one API request.

read_sheetC

Read a safe page of a whole sheet; use next_start_row to continue.

write_rangeB

Write a rectangular values matrix to an A1 range.

batch_write_rangesB

Write several rectangular ranges in one idempotent API request.

clear_rangeB

Clear values from one bounded, sheet-qualified A1 range.

append_rowsC

Append rows to the table detected in an A1 range.

unpivot_rangeC

Convert a wide range into normalized rows and write the result.

create_pivot_tableC

Create a native Google Sheets pivot table from a bounded source range.

create_chartC

Create a native chart using the first source column as its domain.

set_basic_filterC

Set a native sheet filter on one named column; replaces the existing basic filter.

clear_basic_filterC

Remove the native basic filter from a sheet.

sort_rangeC

Sort a bounded range by named columns while preserving header rows.

add_conditional_formatC

Add a native conditional-formatting rule using #RRGGBB colors.

freeze_panesA

Freeze top rows and left columns; use zero counts to unfreeze.

write_formulasC

Write a rectangular matrix of formulas beginning with '='.

insert_imageC

Insert an in-cell image from an HTTP(S) URL using IMAGE().

copy_rangeC

Copy values, formulas, formatting, or rules within one spreadsheet.

grant_read_accessC

Grant a user reader access to the entire spreadsheet through Google Drive.

set_sheet_visibilityC

Hide or show a sheet; hiding is not an access-control boundary.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Runemal/google_sheets_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server