mcp-server-gdrive
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
- Create a project in Google Cloud Console
- Enable the Google Drive API
- Create a service account with appropriate permissions
- 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 supportget_file_info
: Get detailed information about a specific fileupload_file
: Upload a file to Google Drivedownload_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.