Google Drive MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/wagnerlabs/gdrive-mcp.git
cd gdrive-mcp
./scripts/install.sh
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}" -e "GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}" google-drive-d6a2 -- node "<FULL_PATH_TO_GDRIVE_MCP>/dist/index.js"

Replace <FULL_PATH_TO_GDRIVE_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET
README.md

Access Google Drive, Google Docs, and Google Sheets with LLM-powered tools.

Google Drive MCP Server

A Model Context Protocol server that gives LLM-powered tools (Claude Code CLI, Cursor, Claude Desktop, etc.) access to Google Drive, Google Docs, and Google Sheets.

Search, list, and read files, including automatic export of Google Docs as Markdown, Sheets as CSV, and Slides as plain text. Create and edit Google Docs with targeted text insertion, replacement, formatting, headings, lists, alignment, rename, and duplicate operations. Create and edit Google Sheets with value updates, formatting, tab management, and row or column operations. Works with both personal drives and shared drives.

Quick start

1. Guided setup (recommended)

git clone https://github.com/wagnerlabs/gdrive-mcp.git
cd gdrive-mcp
./scripts/install.sh

The setup script installs dependencies, builds the project, and walks you through creating a Google Cloud project, enabling APIs, configuring OAuth, and authenticating. It prints ready-to-copy MCP client config at the end. Run with --dry-run to preview without side effects:

./scripts/install.sh --dry-run

2. Add to your MCP client

Claude Code CLI
claude mcp add --scope user wagnerlabs-gdrive -- node /absolute/path/to/gdrive-mcp/dist/index.js

The --scope user flag installs the server globally, so the MCP server will be available in Claude Code as wagnerlabs-gdrive from any directory you run Claude Code in.

To remove:

claude mcp remove wagnerlabs-gdrive
Cursor

Add to .cursor/mcp.json in any project (or globally):

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["/absolute/path/to/gdrive-mcp/dist/index.js"]
    }
  }
}
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["/absolute/path/to/gdrive-mcp/dist/index.js"]
    }
  }
}

Tools

Read-only tools

Tool Description
gdrive_search Search files using full-text search or Drive query syntax
gdrive_get_file Get detailed metadata for a file by ID
gdrive_read_file Read file content (Docs → Markdown, Sheets → CSV, Slides → plain text)
gdrive_list_files List files in a folder with sorting and pagination
gdrive_get_spreadsheet_info Get spreadsheet metadata including all sheet tabs and named ranges
gdrive_get_document_info Get Google Docs metadata and optional tab-scoped structured content

Write tools

Sheets
Tool Description Destructive Idempotent
gdrive_create_sheet Create a new spreadsheet No No
gdrive_update_sheet Overwrite values in a cell range Yes Yes
gdrive_append_sheet Append rows after existing data No No
gdrive_clear_values Clear values from a cell range (preserves formatting) Yes Yes
gdrive_format_cells Apply formatting to a cell range No Yes
gdrive_add_sheet_tab Add a new sheet tab No No
gdrive_delete_sheet_tab Delete a sheet tab and all its data Yes No
gdrive_rename_sheet_tab Rename an existing sheet tab Yes No
gdrive_insert_rows_columns Insert empty rows or columns No No
gdrive_delete_rows_columns Delete rows or columns and their data Yes No
Docs
Tool Description Destructive Idempotent
gdrive_create_doc Create a blank Google Doc, optionally in a specific folder No No
gdrive_insert_doc_text Insert text at a position, explicit index, or text anchor No No
gdrive_replace_doc_text Replace a targeted text range or anchored text match Yes No
gdrive_replace_all_doc_text Replace every exact text match in a tab or across all tabs Yes Yes
gdrive_delete_doc_text Delete a targeted text range or anchored text match Yes No
gdrive_update_doc_text_style Apply character-level formatting such as bold, colors, fonts, and links No Yes
gdrive_update_doc_paragraph_style Apply headings and alignment to whole paragraphs No Yes
gdrive_update_doc_list Create, change, or remove list formatting on paragraphs Yes Yes
gdrive_rename_doc Rename an existing Google Doc file Yes No
gdrive_duplicate_doc Duplicate a Google Doc, optionally into a specific folder No No

Value input options

When writing cell values (gdrive_update_sheet, gdrive_append_sheet), the value_input_option parameter controls how values are interpreted:

  • USER_ENTERED (default) — Values are parsed as if typed into the Google Sheets UI. Formulas are executed (=SUM(A1:A10)), numbers and dates are formatted automatically.
  • RAW — Values are stored exactly as provided. A string like =SUM(A1:A10) is stored as literal text, not executed as a formul

Tools (5)

gdrive_searchSearch files using full-text search or Drive query syntax
gdrive_read_fileRead file content (Docs to Markdown, Sheets to CSV, Slides to plain text)
gdrive_update_sheetOverwrite values in a cell range
gdrive_insert_doc_textInsert text at a position, explicit index, or text anchor
gdrive_create_docCreate a blank Google Doc, optionally in a specific folder

Environment Variables

GOOGLE_CLIENT_IDrequiredOAuth client ID for Google Cloud project
GOOGLE_CLIENT_SECRETrequiredOAuth client secret for Google Cloud project

Configuration

claude_desktop_config.json
{"mcpServers": {"gdrive": {"command": "node", "args": ["/absolute/path/to/gdrive-mcp/dist/index.js"]}}}

Try it

Search my Google Drive for the latest project proposal document and summarize its key points.
Read the 'Q3 Budget' spreadsheet and calculate the total expenses for the marketing department.
Create a new Google Doc titled 'Meeting Notes' and insert the summary of our recent conversation.
Update the 'Inventory' sheet by appending a new row with the latest stock counts.
Find the 'Client List' document and replace all instances of 'Old Company Name' with 'New Company Name'.

Frequently Asked Questions

What are the key features of Google Drive MCP Server?

Search, list, and read files from personal and shared Google Drives.. Automatic conversion of Google Docs to Markdown, Sheets to CSV, and Slides to plain text.. Full support for creating and editing Google Docs with text insertion, replacement, and formatting.. Comprehensive Google Sheets management including value updates, formatting, and tab operations.. Supports both full-text search and advanced Drive query syntax..

What can I use Google Drive MCP Server for?

Automating the extraction of data from Google Sheets into structured formats for analysis.. Drafting and formatting Google Docs directly from an LLM interface.. Managing project documentation by searching and updating files across shared drives.. Syncing meeting notes or task lists from chat sessions into Google Docs.. Updating spreadsheet trackers with data processed by the LLM..

How do I install Google Drive MCP Server?

Install Google Drive MCP Server by running: git clone https://github.com/wagnerlabs/gdrive-mcp.git && cd gdrive-mcp && ./scripts/install.sh

What MCP clients work with Google Drive MCP Server?

Google Drive MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Google Drive MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare