google-drive-rag-mcp
Allows searching and reading files within a designated Google Drive folder. Supports text content extraction from Google Docs, Google Sheets (exported as CSV), PDF, and plain text files.
google-drive-rag-mcp
A local MCP server that lets LLMs (Claude, etc.) securely search and read files within a single, designated Google Drive folder.
Overview
Scoped to specified folders — never accesses files outside
TARGET_FOLDER_IDSAuthenticated via Google Service Account (no personal OAuth required)
Read-only access (
drive.readonly,documents.readonly)Built with FastMCP on Python 3.11+
Related MCP server: Google Drive MCP Server
Use Cases
Research: Ask Claude to find and summarize documents stored in a shared Google Drive folder
Team knowledge base: Search internal documents, reports, or meeting notes by keyword
Study notes: Retrieve lecture notes or course materials from a Drive folder and ask questions about them
Document Q&A: "What does the report from last month say about X?" — Claude reads and answers
MCP Tools
Tool | Description |
| List files in the target folder, optionally filtered by name |
| Read text content of a supported file |
| Search inside file contents; returns matching files with context snippets |
Supported File Formats
Format | MIME Type | How it's read |
Google Docs |
| Exported as plain text |
Google Sheets |
| Exported as CSV |
| Text extracted via PyMuPDF | |
Plain text |
| Read directly |
MCP Setup
Step 1 — Create a GCP Project and Enable APIs
Open Google Cloud Console
Create a new project (or select an existing one)
Navigate to APIs & Services > Library
Search for and enable the following APIs:
Google Drive API
Google Docs API
Step 2 — Create a Service Account and Download the JSON Key
Navigate to APIs & Services > Credentials
Click Create Credentials > Service Account
Enter a name (e.g.,
drive-rag-reader) and click DoneClick the created service account, go to the Keys tab
Click Add Key > Create new key, select JSON, and download the file
Save the file to a secure location (e.g.,
~/.config/gcp/drive-rag-key.json)
Note: Never commit this file to Git. It is excluded by
.gitignore.
Step 3 — Share the Target Google Drive Folder
Open Google Drive
Right-click the target folder and select Share
Enter the service account email address (e.g.,
drive-rag-reader@your-project.iam.gserviceaccount.com)Found in GCP Console > IAM & Admin > Service Accounts
Set the role to Viewer and click Send
The folder ID is the last part of the folder URL:
https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID
Tip — Multiple folders: You can share a parent folder with the service account and set individual subfolders in
TARGET_FOLDER_IDS. Access to subfolders is inherited from the parent.Parent Folder ← Share with the service account (Viewer) ├── Project A ← Add this folder ID to TARGET_FOLDER_IDS └── Project B ← Add this folder ID to TARGET_FOLDER_IDS
.envexample:TARGET_FOLDER_IDS=project_a_folder_id,project_b_folder_id
Step 4 — Local Setup and Launch
# 1. Clone the repository
git clone https://github.com/your-username/google-drive-rag-mcp.git
cd google-drive-rag-mcp
# 2. Install dependencies
uv sync
# 3. Configure environment variables
cp .env.example .envEdit .env:
GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account-key.json
TARGET_FOLDER_IDS=folder_id_1,folder_id_2Step 5 — Connect to Claude
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"google-drive-rag": {
"command": "uv",
"args": ["run", "python", "main.py"],
"cwd": "/path/to/google-drive-rag-mcp",
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"TARGET_FOLDER_IDS": "folder_id_1,folder_id_2"
}
}
}
}Restart Claude Desktop to apply the changes.
Claude Code
claude mcp add google-drive-rag \
-e GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account-key.json \
-e TARGET_FOLDER_IDS=folder_id_1,folder_id_2 \
-- uv run python /path/to/google-drive-rag-mcp/main.pyTo make it available across all projects, add --scope user:
claude mcp add --scope user google-drive-rag \
-e GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account-key.json \
-e TARGET_FOLDER_IDS=folder_id_1,folder_id_2 \
-- uv run python /path/to/google-drive-rag-mcp/main.pyVerify the registration:
claude mcp listThis command only needs to be run once. The configuration is saved and loaded automatically on every Claude Code startup.
Re-run it only if you:
Change environment variables (folder IDs or credentials path)
Move
main.pyto a different pathNeed to reset the registration (
claude mcp remove google-drive-rag)
Development
Run the server
uv run python main.pyStart the MCP server
uv run python main.pyLicense
Support
If you find this helpful, consider supporting the work:
Author
This server cannot be installed
Maintenance
Latest Blog Posts
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/asamiile/google-drive-rag-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server