Google Drive MCP Server
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: Copy{ "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:Copy{ "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 ProjectCopy# 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
Authentication
- Create a credentials directory and place your OAuth keys:Copymkdir credentials # Move your downloaded OAuth JSON file to the credentials directory as gcp-oauth.keys.json
- Run the authentication command:Copynode 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
Integration with Desktop App
Add this configuration to your app's server settings:
Replace path/to/gdrive-mcp-server
with the actual path to your installation directory.
Example Usage
- Search for files:Copy// Search for documents containing "quarterly report" const result = await gdrive_search({ query: "quarterly report" });
- Read file contents:Copy// 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
credentials
directory - 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
credentials
directory - Verify file permissions and access rights in Google Drive
📚 Additional Resources
Enables integration with Google Drive for listing, reading, and searching over files, supporting various file types with automatic export for Google Workspace files.