google-drive
A Model Context Protocol (MCP) server that provides secure integration with Google Drive, Docs, Sheets, Slides and Calendar. It allows Claude Desktop and other MCP clients to manage files in Google Drive through a standardized interface.
claude mcp add --transport stdio piotr-agier-google-drive-mcp npx -y @piotr-agier/google-drive-mcp \ --env GOOGLE_DRIVE_MCP_SCOPES="Comma-separated scopes for Drive/Docs/Sheets/Slides/Calendar (optional; defaults apply if omitted)" \ --env GOOGLE_DRIVE_OAUTH_CREDENTIALS="Path to your gcp-oauth.keys.json file"
How to use
This MCP server exposes Google Drive, Docs, Sheets, Slides, Calendar, and related resources through the MCP interface so Claude Desktop and other MCP clients can manage files, documents, calendars, and more in Google Drive. The server supports creating and organizing documents, searching across Drive, editing Google Docs content, working with Sheets and Slides, and managing calendar events. You can run the server directly with npx or install locally and run from your environment. Typical workflows include creating documents, organizing files into folders, updating spreadsheet data, and generating summaries of folder contents via natural language prompts.
To use it, start the server using the recommended npx approach, authenticate on first run, and then interact with it through your MCP client. If you’re using Docker, you can containerize the server and mount your credentials and token cache into the container for secure access. The server exposes a standard MCP interface over stdio, so no HTTP port is opened, making it suitable for local tooling and Claude Desktop integrations.
How to install
Prerequisites:
- Node.js version 18 or higher (LTS recommended)
- npm (comes with Node.js) or your preferred Node package manager
- Google Cloud project with Drive, Docs, Sheets, Slides, and Calendar APIs enabled
- OAuth 2.0 Desktop app credentials downloaded as gcp-oauth.keys.json (renamed if needed)
Option 1: Use with npx (Recommended)
- Run the server directly without installation:
npx @piotr-agier/google-drive-mcp
Optional authentication help (if needed):
npx @piotr-agier/google-drive-mcp auth
Option 2: Local Installation
- Clone and install:
git clone https://github.com/piotr-agier/google-drive-mcp.git
cd google-drive-mcp
npm install
- Set up credentials:
# Copy the example file
cp gcp-oauth.keys.example.json gcp-oauth.keys.json
# Edit gcp-oauth.keys.json with your OAuth client ID
- Authenticate (optional):
npm run auth
Note: Authentication occurs automatically on first run if you skip this step.
Additional notes
- The server uses OAuth 2.0 with automatic token refresh for seamless access to Google Drive, Docs, Sheets, Slides, and Calendar.
- If running via Docker, ensure credentials and token storage paths are mounted into the container as described in the Docker usage notes.
- You can override OAuth scopes by setting the GOOGLE_DRIVE_MCP_SCOPES environment variable with a comma-separated list of scope names (e.g., drive.readonly,documents,calendar).
- For CLI or editor integrations, remember that the MCP interface communicates over stdio; there is no HTTP port to expose when using the standard MCP flow.
- When using Docker, you may want to mount tokens.json as read/write to allow automatic refresh across container restarts.
Related MCP Servers
context7
Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
obsidian -tools
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
MiniMax -JS
Official MiniMax Model Context Protocol (MCP) JavaScript implementation that provides seamless integration with MiniMax's powerful AI capabilities including image generation, video generation, text-to-speech, and voice cloning APIs.
mcp-bundler
Is the MCP configuration too complicated? You can easily share your own simplified setup!
akyn-sdk
Turn any data source into an MCP server in 5 minutes. Build AI-agents-ready knowledge bases.
promptboard
The Shared Whiteboard for Your AI Agents via MCP. Paste screenshots, mark them up, and share with AI.