google-drive-mcp
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-drive-mcpList all files in the folder named 'Projects'"
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 Drive MCP Server
A Model Context Protocol (MCP) server for Google Drive API v3, enabling AI agents like Claude to manage Google Drive files, folders, and sharing.
Provides 26 tools across 9 categories for comprehensive Google Drive management.
Features
Category | Tools | Description |
Files | 10 | List, search, full-text search, read, upload, update, append, export files |
Trash | 3 | Trash, restore, list trash |
Folders | 1 | Create folders |
Organization | 2 | Move, copy files |
Sharing | 5 | Share files, manage permissions, create share links |
Metadata | 2 | Get/update file info |
Revisions | 2 | List revision history, download specific versions |
Shared Drives | 2 | List shared drives, get shared drive info |
Utilities | 1 | Recently accessed files |
Related MCP server: MCP Google Workspace Server
Requirements
Python >= 3.10
uv (recommended) or pip
Google Cloud project with Drive API enabled
OAuth 2.0 credentials (from Google Cloud Console)
Setup
1. Google Cloud Project
Go to Google Cloud Console and create a new project
Enable Google Drive API at APIs & Services > Library
Create credentials at APIs & Services > Credentials:
OAuth 2.0 Client ID (Desktop app)
Download the credentials JSON file
2. Installation
git clone https://github.com/software-engineer-mj/google-drive-mcp.git
cd google-drive-mcp
uv sync3. Configuration
cp .env.example .envVariable | Required | Description |
| Yes | Path to OAuth 2.0 credentials JSON |
| No | OAuth token storage path (default: |
| No | Maximum download size in MB (default: 10) |
Authentication
On first run, a browser will open for Google account authorization. After approval, token.json is created and refreshed automatically.
Note: Never commit
credentials.jsonortoken.jsonto version control. They are already in.gitignore.
Usage
stdio (default)
uv run python -m google_drive_mcpDocker
docker build -t google-drive-mcp .
docker run -v /path/to/credentials.json:/app/credentials.json \
-e GOOGLE_DRIVE_CREDENTIALS_PATH=/app/credentials.json \
google-drive-mcpMCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"google-drive": {
"command": "uv",
"args": ["run", "--directory", "/path/to/google-drive-mcp", "python", "-m", "google_drive_mcp"],
"env": {
"GOOGLE_DRIVE_CREDENTIALS_PATH": "/path/to/credentials.json",
"GOOGLE_DRIVE_TOKEN_PATH": "/path/to/token.json"
}
}
}
}Claude Code
Add to .mcp.json:
{
"mcpServers": {
"google-drive": {
"command": "uv",
"args": ["run", "--directory", "/path/to/google-drive-mcp", "python", "-m", "google_drive_mcp"],
"env": {
"GOOGLE_DRIVE_CREDENTIALS_PATH": "/path/to/credentials.json",
"GOOGLE_DRIVE_TOKEN_PATH": "/path/to/token.json"
}
}
}
}Development
# Install with dev dependencies
uv sync --dev
# Run tests
uv run pytest tests/ -v
# Lint
uv run ruff check src/ tests/
# Format
uv run ruff format src/ tests/Tool Reference
Files (10)
Tool | Description |
| List files in Drive, optionally within a folder |
| Search files using Drive query syntax |
| Search files by their text content (full-text search) |
| Read file content (Google Docs/Sheets/Slides auto-exported to text/CSV) |
| Upload a text file |
| Upload a binary file (base64-encoded) |
| Update existing file content |
| Append text to the end of an existing text file |
| Export Google Workspace file to PDF, DOCX, XLSX, etc. |
| Create a new Google Docs, Sheets, or Slides |
Trash (3)
Tool | Description |
| Move file to trash (recoverable) |
| Restore file from trash |
| List files in trash |
Folders (1)
Tool | Description |
| Create a new folder |
Organization (2)
Tool | Description |
| Move file to a different folder |
| Copy a file |
Sharing (5)
Tool | Description |
| Share file by email (reader/writer/commenter/owner) |
| List file permissions |
| Remove a permission |
| Create "anyone with link" share link |
| Update existing permission role |
Metadata (2)
Tool | Description |
| Get detailed file metadata |
| Update file name/description |
Revisions (2)
Tool | Description |
| List file revision history |
| Download specific revision content |
Shared Drives (2)
Tool | Description |
| List all shared drives the user has access to |
| Get metadata for a specific shared drive |
Utilities (1)
Tool | Description |
| List recently accessed files |
Google Docs Auto-Conversion
read_file automatically converts Google Workspace files:
Source Format | Export Format |
Google Docs | Plain Text |
Google Sheets | CSV |
Google Slides | Plain Text |
export_file supports additional formats:
Source Format | Supported Formats |
Google Docs | pdf, docx, odt, txt, html |
Google Sheets | pdf, xlsx, ods, csv, tsv |
Google Slides | pdf, pptx, txt |
Google Drawings | pdf, png, svg |
Project Structure
src/google_drive_mcp/
├── __init__.py # FastMCP server instance
├── __main__.py # Entry point with auto-discovery
├── auth.py # OAuth 2.0 authentication
├── client.py # Google Drive API wrapper
├── exceptions.py # Custom exception hierarchy
├── lifespan.py # Server lifecycle management
├── utils.py # MIME type mapping, helpers
├── validators.py # Input validation utilities
└── tools/
├── __init__.py
├── drives.py # Shared drives management
├── files.py # File CRUD operations
├── folders.py # Folder management
├── metadata.py # File metadata
├── organization.py # Move, copy
├── revisions.py # Revision history
├── sharing.py # Sharing and permissions
├── trash.py # Trash operations
└── utilities.py # Recently accessed files
tests/
├── conftest.py
├── test_auth.py
├── test_client.py
├── test_server.py
├── test_utils.py
└── tools/
├── conftest.py
└── test_<domain>.py # Tests matching each tool moduleLicense
MIT - see LICENSE for details.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA server that provides a Machine Control Protocol (MCP) interface to search, access, and interact with Google Drive files and folders, enabling AI assistants to work with Google Drive content.8MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI agents to interact with Google Workspace services including Drive, Docs, and Sheets through natural language commands.8MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Proton Drive files, supporting operations like listing, reading, creating, and deleting files and folders.737516MIT
- FlicenseBqualityDmaintenanceAn MCP server that enables integration with Google Drive through a service account to list files and retrieve detailed file metadata. It allows users to browse and inspect Drive contents using natural language via the Model Context Protocol.2
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/software-engineer-mj/google-drive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server