Fire in da houseTop Tip:Most people pay up to $340 per month for Perplexity, MidJourney, Runway, ChatGPT, and more - but you can get them all your AI tools for $15 with Galaxy. It's free to test!Fire in da houseCheck it out

mcp-gdrive

MCP.Pizza Chef: isaacphi

The mcp-gdrive server is a Model Context Protocol (MCP) server that integrates with Google Drive to provide structured access to files and Google Sheets. It supports listing, searching, and reading files stored in Google Drive, as well as reading and writing data to Google Sheets. This server enables real-time interaction with Google Drive content, making it ideal for workflows that require dynamic data retrieval and updates within documents and spreadsheets. Originally developed with contributions from Anthropic, PBC, it is licensed under MIT and designed to work securely and efficiently within the MCP ecosystem.

Use This MCP server To

Search for files in Google Drive by keyword Read contents of Google Drive files dynamically List Google Drive files with metadata Read data from Google Sheets for analysis Write and update Google Sheets data programmatically Integrate Google Drive content into AI workflows Automate document retrieval and spreadsheet updates

README

Google Drive server

This MCP server integrates with Google Drive to allow listing, reading, and searching files, as well as the ability to read and write to Google Sheets.

This project includes code originally developed by Anthropic, PBC, licensed under the MIT License from this repo.

Components

Tools

  • gdrive_search

    • Description: Search for files in Google Drive.
    • Input:
      • query (string): Search query.
      • pageToken (string, optional): Token for the next page of results.
      • pageSize (number, optional): Number of results per page (max 100).
    • Output: Returns file names and MIME types of matching files.
  • gdrive_read_file

    • Description: Read contents of a file from Google Drive.
    • Input:
      • fileId (string): ID of the file to read.
    • Output: Returns the contents of the specified file.
  • gsheets_read

    • Description: Read data from a Google Spreadsheet with flexible options for ranges and formatting.
    • Input:
      • spreadsheetId (string): The ID of the spreadsheet to read.
      • ranges (array of strings, optional): Optional array of A1 notation ranges (e.g., ['Sheet1!A1:B10']). If not provided, reads the entire sheet.
      • sheetId (number, optional): Specific sheet ID to read. If not provided with ranges, reads the first sheet.
    • Output: Returns the specified data from the spreadsheet.
  • gsheets_update_cell

    • Description: Update a cell value in a Google Spreadsheet.
    • Input:
      • fileId (string): ID of the spreadsheet.
      • range (string): Cell range in A1 notation (e.g., 'Sheet1!A1').
      • value (string): New cell value.
    • Output: Confirms the updated value in the specified cell.

Resources

The server provides access to Google Drive files:

  • Files (gdrive:///<file_id>)
    • Supports all file types
    • Google Workspace files are automatically exported:
      • Docs → Markdown
      • Sheets → CSV
      • Presentations → Plain text
      • Drawings → PNG
    • Other files are provided in their native format

Getting started

  1. Create a new Google Cloud project
  2. Enable the Google Drive API
  3. Configure an OAuth consent screen ("internal" is fine for testing)
  4. Add OAuth scopes https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/spreadsheets
  5. In order to allow interaction with sheets and docs you will also need to enable the Google Sheets API and Google Docs API in your workspaces Enabled API and Services section.
  6. Create an OAuth Client ID for application type "Desktop App"
  7. Download the JSON file of your client's OAuth keys
  8. Rename the key file to gcp-oauth.keys.json and place into the path you specify with GDRIVE_CREDS_DIR (i.e. /Users/username/.config/mcp-gdrive)
  9. Note your OAuth Client ID and Client Secret. They must be provided as environment variables along with your configuration directory.
  10. You will also need to setup a .env file within the project with the following fields. You can find the Client ID and Client Secret in the Credentials section of the Google Cloud Console.
GDRIVE_CREDS_DIR=/path/to/config/directory
CLIENT_ID=<CLIENT_ID>
CLIENT_SECRET=<CLIENT_SECRET>

Make sure to build the server with either npm run build or npm run watch.

Authentication

Next you will need to run node ./dist/index.js to trigger the authentication step

You will be prompted to authenticate with your browser. You must authenticate with an account in the same organization as your Google Cloud project.

Your OAuth token is saved in the directory specified by the GDRIVE_CREDS_DIR environment variable.

Authentication Prompt

Usage with Desktop App

To integrate this server with the desktop app, add the following to your app's server configuration:

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["-y", "@isaacphi/mcp-gdrive"],
      "env": {
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "GDRIVE_CREDS_DIR": "/path/to/config/directory"
      }
    }
  }
}

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

mcp-gdrive FAQ

How do I authenticate the mcp-gdrive server with Google Drive?
You need to provide OAuth 2.0 credentials or a service account with appropriate permissions to allow the server to access your Google Drive and Sheets securely.
Can mcp-gdrive handle large Google Sheets with multiple tabs?
Yes, the server supports reading and writing data across multiple sheets and tabs, handling large datasets efficiently.
Is it possible to paginate search results when querying Google Drive files?
Yes, the gdrive_search tool supports pagination via the pageToken and pageSize parameters to manage large result sets.
What file types can mcp-gdrive read from Google Drive?
It can read most common file types stored in Google Drive, including text files, PDFs, and Google Docs, depending on API support.
How does mcp-gdrive ensure data security and privacy?
The server uses secure OAuth authentication and scopes permissions to limit access, ensuring data privacy and compliance with Google API policies.
Can I use mcp-gdrive with multiple Google accounts?
Yes, by configuring separate authentication credentials, you can connect the server to multiple Google Drive accounts.
Does mcp-gdrive support real-time updates to Google Sheets?
Yes, it supports reading and writing operations that can be used to update sheets in real time within your AI workflows.
What programming languages or environments is mcp-gdrive compatible with?
As an MCP server, it is language-agnostic and can be integrated with any environment that supports MCP clients, including Python, JavaScript, and others.