google-mcp
Read Google Docs as plain text and edit them by inserting, deleting, replacing, or appending text.
Search for files by name or content in Google Drive.
Read, write, and manipulate Google Sheets data (cells, rows, columns), formatting (colors, fonts, merges, conditional formatting, freeze), and structure (create, insert, delete, rename, duplicate, copy sheets, update properties).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-mcpadd a row to the budget spreadsheet"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-mcp
MCP server for Google Drive, Docs, and Sheets — built for Claude Code.
Gives Claude Code direct read/write access to Google Sheets (cell-level edits, formatting, structure), Google Docs (insert, replace, append), and Drive (search).
Setup
Prerequisites
Node.js 18+ (
brew install nodeon macOS)A Google Cloud project with the Drive, Docs, and Sheets APIs enabled
An OAuth 2.0 Client ID (Desktop app type) — download as
credentials.json
Install
git clone git@github.com:ztgluis/google-mcp.git ~/dev/google-mcp
cd ~/dev/google-mcp
npm installAuthenticate
Place your credentials.json in the project root, then:
npm run authThis opens your browser for Google sign-in and saves token.json locally (never committed).
Register with Claude Code
From your Claude Code project directory:
claude mcp add google -s project -- node "$HOME/dev/google-mcp/index.js"Restart Claude Code to load the server.
Tools (29)
Drive
search_drive— search files by name or content
Docs
read_doc— read a Google Doc as plain textedit_doc— insert, delete, replace, or append text in a Google Doc
Sheets — Data
read_sheet— read a rangebatch_read_sheet— read multiple ranges in one callappend_sheet_row— append a row after the last data row (supportsdataRangefor complex layouts)update_sheet_cell— update a single cell or rangebatch_update_sheet— write to multiple ranges in one callclear_sheet— clear values in a rangeinsert_rows— insert rows at a position, optionally with datadelete_rows— delete rowsdelete_columns— delete columnsfind_replace— find and replace textsort_range— sort a range by one or more columnsexport_sheet— export to CSV, TSV, XLSX, PDF, or HTML
Sheets — Formatting
format_cells— colors, fonts, alignment, number formats, wrap strategymerge_cells— merge a rangeunmerge_cells— unmerge a rangeadd_conditional_formatting— boolean or gradient rulesfreeze— freeze rows/columns (with merged-cell conflict detection)auto_resize— auto-fit columns or rows to content
Sheets — Structure
get_sheet_metadata— title, URL, sheet names, IDs, dimensions, frozen rows/colscreate_spreadsheet— create a new spreadsheetinsert_sheet— add a tabdelete_sheet— remove a tabrename_sheet— rename a tabduplicate_sheet— duplicate a tab within the same spreadsheetcopy_sheet_to— copy a tab to a different spreadsheetupdate_sheet_properties— change tab title, color, grid size, frozen rows/cols
Security
credentials.json and token.json are gitignored and must never be committed. Each machine generates its own token.json via npm run auth.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ztgluis/google-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server