Skip to main content

Google Drive MCP Server for managing files and folders via the Model Context Protocol

Project description

Google Drive MCP Server

An MCP server for managing files and folders in Google Drive, integrating seamlessly with AI assistants using the Model Context Protocol.

Features

  • List Files/Folders: Search and list files with advanced query support.
  • Get Metadata: Retrieve detailed information about specific files or folders.
  • Manage Folders: Create new folders and organize content.
  • Organize Content: Move, copy, and delete (or trash) files.
  • Trash Management: List trashed items and restore by file ID or name.
  • Export: Export Google Docs, Sheets, and Slides to formats like PDF or DOCX.

Installation

Prerequisites

  • Python 3.9 or higher.
  • A Google Cloud Project with the Drive API enabled.
  • OAuth2 credentials (Client ID and Client Secret).
  • OAuth scope: ["https://www.googleapis.com/auth/drive"].

Local Setup

  1. Install dependencies:

    pip install -e .
    
  2. Run the server:

    python main.py --access-token <TOKEN> --refresh-token <REFRESH_TOKEN> --client-id <CLIENT_ID> --client-secret <CLIENT_SECRET>
    

Configuration

Add the following to your MCP host configuration (e.g., mcp-config.json):

{
  "mcpServers": {
    "barie-google-drive-mcp": {
      "command": "uvx",
      "args": [
        "barie-google-drive-mcp",
        "--access-token",
        "YOUR_ACCESS_TOKEN",
        "--refresh-token",
        "YOUR_REFRESH_TOKEN",
        "--client-id",
        "YOUR_CLIENT_ID",
        "--client-secret",
        "YOUR_CLIENT_SECRET"
      ]
    }
  }
}

Tools

  • list_files: Search and list files.
  • get_file_metadata: Get file details.
  • create_folder: Create a new folder.
  • delete_file: Delete or trash a file.
  • move_file: Move a file to a new folder.
  • copy_file: Copy a file.
  • export_file: Export Google Workspace files and return base64 content with metadata.
  • list_trashed_files: List files/folders currently in trash.
  • restore_file: Restore trashed files/folders by fileId or name.

Restore Tool Behavior

restore_file supports two modes:

  1. Restore by ID:
{ "fileId": "FILE_ID" }
  1. Restore by name:
{
  "name": "report",
  "exactMatch": false,
  "restoreAllMatches": false
}

Notes:

  • Provide either fileId or name.
  • When restoring by name and multiple files match, only the first is restored unless restoreAllMatches is true.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

barie_google_drive_mcp-0.1.4.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

barie_google_drive_mcp-0.1.4-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file barie_google_drive_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: barie_google_drive_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for barie_google_drive_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6ec26703f231f22ce48d47de59838dcb5b72f1f8e4ab8542ecf14aa72ed118b5
MD5 1347585b8d7abf2dc55d068970aa3c80
BLAKE2b-256 8b4ca4d4519a26780cdcdb8e8703da32155372a305817e0c9adc4ea821239a37

See more details on using hashes here.

File details

Details for the file barie_google_drive_mcp-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for barie_google_drive_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6ab902ca76d92b789e54844028ac368095de26dfb8a606d83a694163d05834ea
MD5 35543d97ed67644cc84ed3e3c7a0ec33
BLAKE2b-256 9db2e51ecca0e601cee20aa99ae9c341252686fec3004559000874ba16a087ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page