Google Drive MCP Server

by festusev

1 stars
414 downloads
Not rated
GitHub

About

Google Drive MCP Server is a Model Context Protocol (MCP) server built with FastMCP that provides tools for reading, writing, searching, and listing files in Google Drive, with a focus on Google Docs operations. It is designed for developers and AI agents who need to…

Details

Author
festusev
GitHub stars
1
Downloads
414
Categories
Other

- List files with optional folder, MIME type, and pagination.
- Search files using Google Drive query syntax.
- Read Google Docs content with pagination and tab selection.
- Write or replace content in Google Docs with tab and range controls.
- Service account authentication for server‑to‑server access.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Google Drive MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

After installing dependencies with uv sync, enable the Google Drive and Google Docs APIs, create a service account, and save its key file as service-account-key.json in the project root. Share target Drive files/folders with the service account email. Run python -m google_drive_mcp.server – no interactive authentication flow is required.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "google drive mcp server": {
            "google_drive_mcp": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "google_drive_mcp": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

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

```python
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.