Google Drive MCP server

Integrates with Google Drive API to enable file listing, searching, and reading for document retrieval and content analysis tasks.
Back to servers
Setup instructions
Provider
felores
Release date
Jan 11, 2025
Language
TypeScript
Stats
42 stars

The Google Drive MCP Server provides seamless integration with Google Drive, allowing AI models to search, list, and read files directly from Google Drive. This server implements the Model Context Protocol (MCP) to offer Google Drive access capabilities.

Features

Available Tools

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 name, MIME type, file ID, last modified time, and 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

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

Prerequisites

Before installation, ensure you have:

  • Node.js (v16 or higher)
  • npm or yarn
  • A Google Cloud Project
  • A Google Workspace or personal Google account

Google Cloud Setup

  1. 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
  2. Enable the Google Drive API

    • Go to the API Library
    • Search for "Google Drive API"
    • Click on "Google Drive API"
    • Click "Enable"
  3. Configure OAuth Consent Screen

    • Navigate to OAuth consent screen
    • Select User Type ("Internal" for Google Workspace, "External" for personal accounts)
    • Fill in the required fields (App name, support email, developer email)
    • Add the scope: https://www.googleapis.com/auth/drive.readonly
  4. Create OAuth Client ID

    • Go to Credentials
    • Click "Create Credentials" and select "OAuth client ID"
    • Choose Application type: "Desktop app"
    • Name it "MCP GDrive Server Desktop Client"
    • Download the JSON file
  5. 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

  1. Create a credentials directory and place your OAuth keys:

    mkdir credentials
    # Move your downloaded OAuth JSON file to the credentials directory
    
  2. Run the authentication command:

    node dist/index.js auth
    
  3. Complete the OAuth flow in your browser

  4. Credentials will be saved in credentials/.gdrive-server-credentials.json

Running the Server

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

  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

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "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"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "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"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "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"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later