
Google Drive MCP Server
β 71from felores
Integrates with Google Drive, allowing AI models to search, list, and read files.
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
π 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.
π Additional Resources
# 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 buildBefore it works, you'll need: GOOGLE_APPLICATION_CREDENTIALSMCP_GDRIVE_CREDENTIALS
π οΈ 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" });
π 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