matty-v

Google Drive MCP Server

Community matty-v
Updated

Google Drive MCP Server

An MCP (Model Context Protocol) server that enables searching, retrieving, and managing files in Google Drive. Designed to run as a Google Cloud Function.

Features

  • search_files - Search for files using Google Drive query syntax
  • get_file_metadata - Get detailed metadata for a specific file
  • list_folder - List files in a folder
  • move_file - Move a file to a different folder
  • create_folder - Create a new folder

Prerequisites

  1. A Google Cloud project with the Drive API enabled
  2. A service account with access to the files you want to query
  3. Google Cloud CLI (gcloud) installed and configured

Setup

1. Create a Service Account

# Create the service account
gcloud iam service-accounts create drive-mcp \
  --display-name="Google Drive MCP Server"

# Create and download the key
gcloud iam service-accounts keys create service-account-key.json \
  --iam-account=drive-mcp@YOUR_PROJECT_ID.iam.gserviceaccount.com

2. Share Files/Folders

Share your Google Drive files or folders with the service account email:

drive-mcp@YOUR_PROJECT_ID.iam.gserviceaccount.com

Grant "Editor" permission to allow moving files, or "Viewer" for read-only access.

3. Install Dependencies

npm install

4. Build

npm run build

Deploy to Google Cloud Functions

gcloud functions deploy google-drive-mcp \
  --gen2 \
  --runtime=nodejs20 \
  --region=us-central1 \
  --source=. \
  --entry-point=googleDriveMcp \
  --trigger-http \
  --allow-unauthenticated \
  --set-secrets="GOOGLE_SERVICE_ACCOUNT_KEY=drive-mcp-credentials:latest"

MCP Client Configuration

{
  "mcpServers": {
    "google-drive": {
      "url": "https://REGION-PROJECT_ID.cloudfunctions.net/google-drive-mcp"
    }
  }
}

Tool Usage

search_files

Search for files using Google Drive query syntax:

{
  "query": "name contains 'report'",
  "pageSize": 10
}

Common query examples:

  • name contains 'budget' - Files with "budget" in the name
  • mimeType = 'application/pdf' - PDF files only
  • fullText contains 'quarterly' - Files containing "quarterly" in content
  • modifiedTime > '2024-01-01' - Files modified after Jan 1, 2024
  • 'folder_id' in parents - Files in a specific folder

get_file_metadata

Get detailed metadata for a file:

{
  "fileId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
}

list_folder

List files in a folder:

{
  "folderId": "root",
  "pageSize": 20
}

Use "root" for the root folder, or a specific folder ID.

move_file

Move a file to a different folder:

{
  "fileId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms",
  "newParentId": "0B1234567890abcdef"
}

This removes the file from its current parent folder(s) and places it in the specified destination folder.

create_folder

Create a new folder:

{
  "name": "My New Folder",
  "parentId": "0B1234567890abcdef"
}

The parentId is optional. If not specified, the folder is created in the root of the shared drive or the service account's root.

License

MIT

MCP Server ยท Populars

MCP Server ยท New

    YV17labs

    ghostdesk

    Give any AI agent a full desktop โ€” it sees the screen, clicks, types, and runs apps like a human. Automate anything with a UI: browsers, legacy software, internal tools. No API needed. One Docker command.

    Community YV17labs
    remotebrowser

    mcp

    Free your data

    Community remotebrowser
    Decodo

    Decodo MCP Server

    The Decodo MCP server which enables MCP clients to interface with services.

    Community Decodo
    kuberstar

    Qartez MCP

    Semantic code intelligence MCP server for Claude Code - project maps, symbol search, impact analysis, and more

    Community kuberstar
    aovestdipaperino

    tokensave

    Rust port of CodeGraph โ€” a local-first code intelligence system that builds semantic knowledge graphs from codebases. Ported from the original TypeScript implementation by @colbymchenry.

    Community aovestdipaperino