Google Sheets and Drive MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_SHEETS_READ_ONLY | No | If 'true', server runs in read-only mode (default: false). | false |
| GOOGLE_SHEETS_MAX_RETRIES | No | Maximum number of retries for temporary errors (default: 2). | 2 |
| GOOGLE_SHEETS_MAX_READ_CELLS | No | Maximum number of cells to read in a single request (default: 100000). | 100000 |
| GOOGLE_SHEETS_MAX_WRITE_CELLS | No | Maximum number of cells to write in a single request (default: 10000). | 10000 |
| GOOGLE_APPLICATION_CREDENTIALS | Yes | Absolute path to the Google Cloud service account JSON key file. | |
| GOOGLE_SHEETS_ALLOWED_SPREADSHEET_IDS | No | Comma-separated list of allowed spreadsheet IDs (empty means no restriction). | |
| GOOGLE_SHEETS_REQUEST_TIMEOUT_SECONDS | No | Timeout in seconds for Google Sheets API requests (default: 30). | 30 |
| GOOGLE_SHEETS_RETRY_BASE_DELAY_SECONDS | No | Base delay in seconds for exponential backoff (default: 0.5). | 0.5 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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