Google Drive MCP Server

Google Drive MCP Server

Enables interaction with Google Drive files and Google Sheets through search, read, and write operations. Supports automatic conversion of Google Workspace files to readable formats and direct spreadsheet cell updates.

Category
Visit Server

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.

VS Code setup

  1. Install dependencies with npm install (the project runs the TypeScript build automatically).
  2. Populate .env with your CLIENT_ID, CLIENT_SECRET, and GDRIVE_CREDS_DIR values.
  3. In VS Code, open the Run and Debug view and select Launch MCP GDrive. The launch configuration builds the TypeScript sources, loads environment variables from .env, and starts the server in an integrated terminal with Node source maps enabled.
  4. Optional: start the npm: watch task from the Terminal → Run Task… menu to keep the TypeScript compiler running in watch mode while developing.
  5. To integrate with VS Code's MCP client without hard-coding secrets, point your user mcp.json entry at the provided script scripts/launch-mcp-gdrive.ps1; the script loads .env, ensures the project is built, and launches the server over stdio.

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured