Google Drive MCP Server
@asadudin
A Model Context Protocol (MCP) server for interacting with Google Drive API
Overview
What is Google Drive MCP Server?
A Model Context Protocol (MCP) server that provides a standardized interface for AI systems to access and manipulate files in Google Drive via the Google Drive API.
How to use Google Drive MCP Server?
Install Python 3.8+, enable the Google Drive API in a Google Cloud project, create a service account, and download its JSON key. Clone the repository, create a virtual environment, install dependencies, copy .env.example to .env, and configure HOST, PORT, and GOOGLE_SERVICE_ACCOUNT_FILE. Run python main.py --transport sse or use Docker with docker-compose up. Connect an MCP client using transport sse and serverUrl http://localhost:8055/sse.
Key features of Google Drive MCP Server
- List, upload, download, and delete files
- Create folders and organize content
- Share files with specific users and manage permissions
- Handle large file listings with pagination support
- Detailed error reporting for easier debugging
- Debug API connection tool
Use cases of Google Drive MCP Server
- AI assistants managing Google Drive files programmatically
- Automated file upload and sharing workflows
- Retrieving metadata and content of specific files
- Debugging Google Drive API connectivity issues
FAQ from Google Drive MCP Server
What are the prerequisites to use this server?
Python 3.8 or later, a Google Cloud project with the Drive API enabled, and a service account with appropriate permissions. The service account JSON key file must be downloaded.
How do I connect an MCP client to this server?
Configure the client with transport sse and serverUrl http://localhost:8055/sse. Ensure the server is running with the --transport sse flag.
Where does my data reside when using this server?
All file operations target Google Drive directly; the server only mediates requests via the Google Drive API. The service account key file is stored locally as configured.
What security considerations should I be aware of?
The service account JSON file contains sensitive credentials – never commit it to version control. Use environment variables for all sensitive configuration. Consider additional authentication if deploying publicly.
How can I run the server locally versus using Docker?
Locally: python main.py --transport sse. With Docker: docker-compose up. Both require the service account key file to be available at the path specified in .env.