Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

gdrive-mcp-server

MCP.Pizza Chef: felores

The gdrive-mcp-server is a robust Model Context Protocol server enabling AI models to interact directly with Google Drive. It supports powerful full-text search across files and allows reading file contents by file ID. The server automatically converts Google Workspace file formatsβ€”Docs to Markdown, Sheets to CSV, Presentations to plain text, Drawings to PNGβ€”ensuring smooth content handling. This integration empowers AI workflows with real-time access to Google Drive data, enhancing context-aware applications and automation.

Use This MCP server To

Search Google Drive files with full-text queries Read contents of Google Drive files by ID Convert Google Docs to Markdown for AI processing Extract CSV data from Google Sheets Retrieve plain text from Google Presentations Access PNG images from Google Drawings Integrate Google Drive data into AI workflows

README

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

  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"
    • Wait for the API to be enabled
  3. 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"
  4. 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"
  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 as gcp-oauth.keys.json
  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

πŸ”§ 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

  1. Search for files:

    // Search for documents containing "quarterly report"
    const result = await gdrive_search({ query: "quarterly report" });
  2. 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:

  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

πŸ“š Additional Resources

gdrive-mcp-server FAQ

How does gdrive-mcp-server handle different Google Workspace file types?
It automatically converts Google Docs to Markdown, Sheets to CSV, Presentations to plain text, and Drawings to PNG for seamless AI consumption.
What input is required to search files using gdrive_search?
You provide a search query string, and the server returns matching files with metadata like name, MIME type, ID, last modified time, and size.
How do I read a file's content with gdrive_read_file?
You supply the Google Drive file ID, and the server returns the file content in an appropriate format.
Is authentication required to use gdrive-mcp-server?
Yes, proper Google Drive API credentials and permissions are needed to access files securely.
Can gdrive-mcp-server be used with multiple LLM providers?
Yes, it is compatible with models from OpenAI, Anthropic Claude, and Google Gemini, among others.
How does gdrive-mcp-server improve AI model context?
By providing real-time access to Google Drive files, it enriches model context with up-to-date, relevant data.
What file metadata does gdrive_search return?
It returns file name, MIME type, file ID, last modified time, and file size.
Does gdrive-mcp-server support non-Google file types?
Yes, it supports text and JSON files stored in Google Drive alongside Google Workspace formats.