MCP ExplorerExplorer

Google Drive Mcp

@festusevon 20 days ago
1 MIT
FreeCommunity
AI Systems
An MCP Server for Google Drive

Overview

What is Google Drive Mcp

google_drive_mcp is an MCP Server designed for integrating with Google Drive, enabling operations such as reading, writing, searching, and listing Google Drive files, particularly focusing on Google Docs.

Use cases

Use cases for google_drive_mcp include automating document generation, building applications that require file management in Google Drive, creating collaborative tools for teams, and developing educational applications that utilize Google Docs.

How to use

To use google_drive_mcp, install the necessary dependencies, set up Google API credentials, and run the server for the first time to authenticate. After authentication, you can utilize various tools to manage Google Drive files.

Key features

Key features of google_drive_mcp include file operations (listing and searching), document reading and writing with pagination, OAuth2 authentication for secure access, and efficient handling of large documents and file lists.

Where to use

google_drive_mcp can be used in various fields such as software development, document management systems, educational platforms, and any application requiring integration with Google Drive and Google Docs.

Content

Google Drive MCP Server

A Model Context Protocol (MCP) server for Google Drive integration, built with FastMCP. Provides tools for reading, writing, searching, and listing Google Drive files with a focus on Google Docs operations.

Features

  • File Operations: List and search files in Google Drive with pagination
  • Document Reading: Read Google Docs content with pagination and tab selection
  • Document Writing: Write to Google Docs with tab selection and range operations
  • Authentication: Service account authentication for Google Drive API access
  • Pagination: Handle large documents and file lists efficiently

Setup

1. Install Dependencies

uv sync

2. Google API Setup

  1. Go to the Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable the Google Drive API and Google Docs API
  4. Create a service account and generate a key
  5. Download the service account key file and save it as service-account-key.json in the project root
  6. Share any Google Drive files/folders you want to access with the service account email

3. Running the Server

python -m google_drive_mcp.server

No authentication flow is required - the service account will authenticate automatically using the key file.

Available Tools

list_files

List files in Google Drive with optional filtering and pagination.

Parameters:

  • folder_id (optional): Folder ID to list files from (default: root)
  • page_size (optional): Number of files per page (default: 50, max: 100)
  • page_token (optional): Token for pagination
  • mime_type (optional): Filter by MIME type (e.g., ‘application/vnd.google-apps.document’)

search_files

Search for files in Google Drive using query syntax.

Parameters:

  • query: Search query (e.g., ‘name contains “report”’)
  • page_size (optional): Number of files per page (default: 50, max: 100)
  • page_token (optional): Token for pagination

read_document

Read content from a Google Docs document with pagination.

Parameters:

  • document_id: Google Docs document ID
  • tab_id (optional): Specific tab ID to read from
  • start_index (optional): Starting character index (default: 0)
  • length (optional): Number of characters to read (default: 5000, max: 10000)

write_document

Write content to a Google Docs document.

Parameters:

  • document_id: Google Docs document ID
  • content: Content to write
  • tab_id (optional): Specific tab ID to write to
  • insert_index (optional): Index where to insert content (default: end)
  • replace_start (optional): Start index for content replacement
  • replace_end (optional): End index for content replacement

Usage Examples

Search for Google Docs

# Search for documents containing "report"
search_files(query='name contains "report" and mimeType="application/vnd.google-apps.document"')

Read a Document with Pagination

# Read first 5000 characters
read_document(document_id="your_doc_id")

# Read next 5000 characters
read_document(document_id="your_doc_id", start_index=5000)

Write to a Specific Tab

# Write to a specific tab in a document
write_document(
    document_id="your_doc_id",
    content="Hello, World!",
    tab_id="your_tab_id"
)

Development

Project Structure

google_drive_mcp/
├── __init__.py
├── auth.py          # Google Drive authentication
└── server.py        # FastMCP server implementation

Running in Development

# Install in development mode
uv pip install -e .

# Run the server
python -m google_drive_mcp.server

License

This project is licensed under the MIT License.

Tools

No tools

Comments