gdrive mcp server
Enables integration with Google Drive for listing, reading, and searching over files, supporting various file types with automatic export for Google Workspace files.
Enables integration with Google Drive for listing, reading, and searching over files, supporting various file types with automatic export for Google Workspace files.
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.
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
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
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
Wait for the project to be created and select it
Enable the Google Drive API
Wait for the API to be enabled
Configure OAuth Consent Screen
https://www.googleapis.com/auth/drive.readonly
Review the summary and click "Back to Dashboard"
Create OAuth Client ID
In the popup:
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
# 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
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/.gdrive-server-credentials.json
# Start the server
node dist/index.js
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.
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" });
credentials
directoryContributions are welcome! Please feel free to submit a Pull Request.
This MCP server is licensed under the MIT License. See the LICENSE file for details.
If you encounter issues:
1. Verify your Google Cloud Project setup
2. Ensure all required OAuth scopes are enabled
3. Check that credentials are properly placed in the credentials
directory
4. Verify file permissions and access rights in Google Drive