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
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