Skip to main content
Glama
google-drive-mcp-server

google-drive-mcp-server

Google Drive MCP Server

A Model Context Protocol (MCP) server for Google Drive integration. This server allows AI assistants to interact directly with your Google Drive, providing tools to read, search, list folders, and upload files.

Built with TypeScript and utilizing the official Google APIs Node.js Client.


Available Modules & Tools

Files & Folders

Manage and search your Google Drive contents.

  • list_recent_files: Lists recent files from Google Drive, ordered by recency, modification date, or name.

  • search_files: Searches for files and folders in Google Drive by name or content. Accepts plain text or Drive query syntax.

  • list_folder: Lists the contents (files and subfolders) of a specific Google Drive folder by its ID. Works with both My Drive and Shared Drives.

  • read_file_content: Reads the text content of a Google Drive file (Docs, Sheets, PDFs, plain text).

  • get_file_metadata: Returns metadata of a Drive file: name, MIME type, size, owners, modification date, parent folders, and view link.

  • upload_file: Uploads a file to Google Drive. Pass text content directly or base64-encoded content for binary files.

  • upload_file_from_path: Uploads a file from a local path on the server to Google Drive. Useful for processing generated files.


Related MCP server: MCP Google Drive Server

Setup & Installation

  1. Clone the repository:

    git clone https://github.com/Themetralla3000/google-drive-mcp-server.git
    cd google-drive-mcp-server
  2. Install dependencies:

    npm install
  3. Copy the environment template and configure your credentials:

    cp .env.example .env
  4. Build the project:

    npm run build

Configuration

You must provide Google Drive API credentials via the .env file. These can be obtained from the Google Cloud Console by creating an OAuth 2.0 Client ID.

GOOGLE_DRIVE_CLIENT_ID=your-client-id
GOOGLE_DRIVE_CLIENT_SECRET=your-client-secret
GOOGLE_DRIVE_REFRESH_TOKEN=your-refresh-token

Usage with Claude Desktop / Cursor

To use this MCP with Claude Desktop or Cursor, add the following configuration to your MCP config file (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "google-drive": {
      "command": "node",
      "args": ["/absolute/path/to/google-drive-mcp-server/build/src/index.js"],
      "env": {
        "GOOGLE_DRIVE_CLIENT_ID": "your-client-id",
        "GOOGLE_DRIVE_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_DRIVE_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

License

MIT License

Available Tools

7 tools
get_file_metadataA

Returns metadata of a Drive file: name, MIME type, size, owners, modification date, parent folders and view link.

Inputs: file_id (required).

list_folderA

Lists the contents (files and subfolders) of a specific Google Drive folder by its ID. Works with both My Drive and Shared Drive folders. Use get_file_metadata or search_files to find folder IDs first.

Inputs: folder_id (required), page_size.

list_recent_filesC

Lists recent files from Google Drive, ordered by recency, modification date or name.

Inputs: page_size, order_by.

read_file_contentA

Reads the text content of a Google Drive file (Docs, Sheets, PDFs, plain text). Returns up to 20,000 characters.

Inputs: file_id (required).

search_filesA

Searches for files and folders in Google Drive by name or content. Accepts plain text or Drive query syntax (e.g. "mimeType='application/vnd.google-apps.folder'").

Inputs: query (required), page_size.

upload_fileA

Uploads a file to Google Drive. Pass text content directly or base64-encoded content for binary files (e.g. PPTX, PDF). Use folder_id to place the file in a specific folder — obtain it with search_files first.

Inputs: name (required), content (required), mime_type, folder_id, +1 more.

upload_file_from_pathA

Uploads a file from a local path on the server to Google Drive. Use this after generating a file with another tool (e.g. PPTX at /shared/out/). The MIME type is auto-detected from the extension.

Inputs: path (required), name, mime_type, folder_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools have distinct purposes, but the two upload tools ('upload_file' and 'upload_file_from_path') could cause confusion since they differ only in how content is provided.

    Naming Consistency5/5

    All tools use consistent verb_noun snake_case naming, with no deviations from the pattern.

    Tool Count5/5

    Seven tools is well-scoped for a Drive server, covering essential operations without being excessive.

    Completeness3/5

    Common operations like creating folders, deleting files, and updating metadata are missing, leaving notable gaps for typical Drive workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers