Skip to main content
Glama
danbugs

Google Drive MCP Server

by danbugs
README.md
# Google Drive MCP Server

Give Claude the ability to manage your Google Drive files through the Model Context Protocol (MCP).

## Available Tools

Once configured, Claude can:

- **create_drive_folder** - Create new folders in your Drive
- **move_drive_file** - Move files/folders between locations  
- **rename_drive_file** - Rename any file or folder
- **get_drive_file_info** - Get metadata about files
- **list_drive_folder_contents** - See what's inside folders

## Example Usage

> "Create a folder structure for organizing my Drive: Personal, Work, and Projects"
> 
> "Move all the documents with 'meeting notes' in the name to the Work folder"
> 
> "Show me what's in my root Drive folder"

## Setup

### Prerequisites

- Python 3.10+
- Google account
- Claude Desktop app

### 1. Google Cloud Setup

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select existing one
3. Enable the **Google Drive API**
4. Create **OAuth 2.0 credentials**:
   - Go to "APIs & Services" → "Credentials"
   - Click "Create Credentials" → "OAuth client ID"
   - Choose "Desktop app"
   - Download the JSON file

> Might need to add yourself as a test user under "OAuth consent screen" tab.

### 2. Install Dependencies

```bash
# Clone this repository
git clone https://github.com/danbugs/google-drive-mcp.git
cd google-drive-mcp

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt
```

### 3. Setup Credentials

```bash
# Create credentials directory
mkdir ~/.google-drive-mcp  # or %USERPROFILE%\.google-drive-mcp on Windows

# Move your downloaded credentials file
# Rename it to credentials.json and place in ~/.google-drive-mcp/
```

### 4. Test Authentication

Run the test script to complete OAuth setup:

```bash
python test_auth.py
```

This will open a browser window for Google authentication and create the required `token.json` file.

### 5. Configure Claude Desktop

Edit your Claude Desktop config file:

**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`  
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`  
**Linux:** `~/.config/Claude/claude_desktop_config.json`

Add the MCP server configuration:

```json
{
  "mcpServers": {
    "google-drive": {
      "command": "/path/to/your/venv/bin/python",
      "args": ["/path/to/your/google_drive_mcp_server.py"]
    }
  }
}
```

Replace `/path/to/your/` with your actual paths. On Windows, use `venv\Scripts\python.exe` instead.

### 6. Restart Claude Desktop

Quit and restart Claude Desktop, then test with:

> "Can you list the contents of my Google Drive root folder?"

## Security

- OAuth credentials stored locally in `~/.google-drive-mcp/`
- Only accessible through Claude Desktop via MCP
- Standard Google OAuth security model
- Revoke access anytime from Google Account settings

## Troubleshooting

**"Credentials file not found"**
- Ensure `credentials.json` is in `~/.google-drive-mcp/`
- Check file permissions

**"Module not found" errors**  
- Activate the virtual environment
- Re-run `pip install -r requirements.txt`

**Claude doesn't see the tools**
- Verify `claude_desktop_config.json` syntax is valid JSON
- Use absolute paths, not relative ones
- Restart Claude Desktop completely
- Check Claude Desktop logs: Help → "Show Logs"

**Authentication issues**
- Delete `~/.google-drive-mcp/token.json` and re-run `test_auth.py`
- Ensure Google Drive API is enabled in Cloud Console

## Resources

- [Google Drive API Documentation](https://developers.google.com/drive)
- [MCP Documentation](https://modelcontextprotocol.io)