README.md•3.75 kB
# 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)