mcp-server-gdrive

mcp-server-gdrive

0

The Google Drive MCP Server is designed to interface with the Google Drive API, providing a standardized protocol for file and folder management. It offers comprehensive features such as file operations, sharing capabilities, and error handling, supporting both local and Docker-based deployments.

Google Drive MCP Server

A Model Context Protocol (MCP) server for interacting with Google Drive API. This server provides a standardized interface for AI systems to access and manipulate files in Google Drive.

Features

  • File Operations: List, upload, download, and delete files
  • Folder Management: Create folders and organize content
  • File Sharing: Share files with specific users and manage permissions
  • Pagination Support: Handle large file listings efficiently
  • Comprehensive Error Handling: Detailed error reporting for easier debugging

Prerequisites

  • Python 3.8+
  • Google Cloud project with Drive API enabled
  • Service account with appropriate permissions

Setup

1. Google Cloud Setup

  1. Create a project in Google Cloud Console
  2. Enable the Google Drive API
  3. Create a service account with appropriate permissions
  4. Download the service account JSON key file

2. Local Setup

Clone the repository and install dependencies:

# Clone the repository
git clone <repository-url>
cd mcp-server-gdrive

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy example environment file and edit with your settings
cp .env.example .env

Edit the .env file with your configuration:

HOST=0.0.0.0
PORT=8055
GOOGLE_SERVICE_ACCOUNT_FILE=your-service-account-file.json

3. Docker Setup

Alternatively, you can use Docker:

# Build and run with Docker Compose
docker-compose up --build

Running the Server

Local Execution

python main.py --transport sse

Docker Execution

docker-compose up

MCP Tools

This server provides the following MCP tools:

File Operations

  • list_files: List files in Google Drive with pagination support
  • get_file_info: Get detailed information about a specific file
  • upload_file: Upload a file to Google Drive
  • download_file: Download a file from Google Drive

Folder Operations

  • create_folder: Create a new folder in Google Drive

Sharing and Permissions

  • share_file: Share a file or folder with another user

Debugging

  • debug_api_connection: Debug the Google Drive API connection

Client Configuration

To connect to this MCP server from a client:

{
  "gdrive": {
    "transport": "sse",
    "serverUrl": "http://localhost:8055/sse"
  }
}

Note: Make sure to include /sse at the end of the URL for SSE transport.

Security Considerations

  • The service account JSON file contains sensitive credentials. Never commit it to version control.
  • Use environment variables for all sensitive configuration.
  • Consider implementing additional authentication if deploying publicly.

License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.