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