Google Drive MCP Server
Enables AI models to search, list, and read files from Google Drive with automatic format conversion for Google Workspace documents.
README
Google Drive MCP Server
A powerful Model Context Protocol (MCP) server that provides seamless integration with Google Drive, allowing AI models to search, list, and read files from Google Drive.
🚀 Features
Tools
1. gdrive_search
Search for files in your Google Drive with powerful full-text search capabilities.
- Input:
{ "query": "string (your search query)" } - Output: List of files with:
- File name
- MIME type
- File ID
- Last modified time
- File size
2. gdrive_read_file
Read file contents directly using a Google Drive file ID.
- Input:
{ "file_id": "string (Google Drive file ID)" } - Output: File contents with appropriate format conversion
Automatic File Format Handling
The server intelligently handles different Google Workspace file types:
- 📝 Google Docs → Markdown
- 📊 Google Sheets → CSV
- 📊 Google Presentations → Plain text
- 🎨 Google Drawings → PNG
- 📄 Text/JSON files → UTF-8 text
- 📦 Other files → Base64 encoded
🛠️ Getting Started
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- A Google Cloud Project
- A Google Workspace or personal Google account
Detailed Google Cloud Setup
-
Create a Google Cloud Project
- Visit the Google Cloud Console
- Click "New Project"
- Enter a project name (e.g., "MCP GDrive Server")
- Click "Create"
- Wait for the project to be created and select it
-
Enable the Google Drive API
- Go to the API Library
- Search for "Google Drive API"
- Click on "Google Drive API"
- Click "Enable"
- Wait for the API to be enabled
-
Configure OAuth Consent Screen
- Navigate to OAuth consent screen
- Select User Type:
- "Internal" if you're using Google Workspace
- "External" for personal Google accounts
- Click "Create"
- Fill in the required fields:
- App name: "MCP GDrive Server"
- User support email: your email
- Developer contact email: your email
- Click "Save and Continue"
- On the "Scopes" page:
- Click "Add or Remove Scopes"
- Add
https://www.googleapis.com/auth/drive.readonly - Click "Update"
- Click "Save and Continue"
- Review the summary and click "Back to Dashboard"
-
Create OAuth Client ID
- Go to Credentials
- Click "Create Credentials" at the top
- Select "OAuth client ID"
- Choose Application type: "Desktop app"
- Name: "MCP GDrive Server Desktop Client"
- Click "Create"
- In the popup:
- Click "Download JSON"
- Save the file
- Click "OK"
-
Set Up Credentials in Project
# Create credentials directory mkdir credentials # Move and rename the downloaded JSON file mv path/to/downloaded/client_secret_*.json credentials/gcp-oauth.keys.json
Installation
# Clone the repository
git clone https://github.com/felores/gdrive-mcp-server.git
cd gdrive-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
Authentication
-
Create a credentials directory and place your OAuth keys:
mkdir credentials # Move your downloaded OAuth JSON file to the credentials directory as gcp-oauth.keys.json -
Run the authentication command:
node dist/index.js auth -
Complete the OAuth flow in your browser
-
Credentials will be saved in
credentials/.gdrive-server-credentials.json
🔧 Usage
As a Command Line Tool
# Start the server
node dist/index.js
Integration with Desktop App
Add this configuration to your app's server settings:
{
"mcpServers": {
"gdrive": {
"command": "node",
"args": ["path/to/gdrive-mcp-server/dist/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/gcp-oauth.keys.json",
"MCP_GDRIVE_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/.gdrive-server-credentials.json"
}
}
}
}
Replace path/to/gdrive-mcp-server with the actual path to your installation directory.
Example Usage
-
Search for files:
// Search for documents containing "quarterly report" const result = await gdrive_search({ query: "quarterly report" }); -
Read file contents:
// Read a specific file using its ID const contents = await gdrive_read_file({ file_id: "your-file-id" });
🔒 Security
- All sensitive credentials are stored in the
credentialsdirectory - OAuth credentials and tokens are excluded from version control
- Read-only access to Google Drive
- Secure OAuth 2.0 authentication flow
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📝 License
This MCP server is licensed under the MIT License. See the LICENSE file for details.
🔍 Troubleshooting
If you encounter issues:
- Verify your Google Cloud Project setup
- Ensure all required OAuth scopes are enabled
- Check that credentials are properly placed in the
credentialsdirectory - Verify file permissions and access rights in Google Drive
📚 Additional Resources
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.