RT

rishipradeep-think41/google-drive-mcp

Developer tools
5 stars 6 forks Quality 52 Trend 13MIT

Google Drive MCP Server is a stateless server that integrates Google Drive functionalities with the Model Context Protocol (MCP).

Overview

Google Drive MCP Server is a stateless server that integrates Google Drive functionalities with the Model Context Protocol (MCP). It provides a suite of tools and resources to interact with Google Drive, enabling operations like file management, content retrieval, and permission handling through a standardized interface. - List top-level locations like "My Drive" and "Shared with me" using drive_roots. - List contents of any folder with drive_folder_children. - Retrieve detailed metadata for a file using drive_file_metadata. - Retrieve raw file content using drive_file_content (note: no built-in format conversion). - Create or update files with content using drive_upload. - Append plain text to existing text files using drive_append_text. - Move files to trash or delete them permanently with drive_delete and drive_file_empty_trash. - Add, update, remove, or list permissions for files/folders via drive_share, drive_permission_update, drive_permission_delete, etc.

README

Google Drive MCP Server

Google Drive MCP Server is a stateless server that integrates Google Drive functionalities with the Model Context Protocol (MCP). It provides a suite of tools and resources to interact with Google Drive, enabling operations like file management, content retrieval, and permission handling through a standardized interface.

🚀 Features

  • Root Listing: List top-level locations like “My Drive” and “Shared with me” using drive_roots.
  • Folder Browsing: List contents of any folder with drive_folder_children.
  • File Metadata: Retrieve detailed metadata for a file using drive_file_metadata.
  • File Exporting: Retrieve raw file content using drive_file_content (note: no built-in format conversion).
  • File Uploading: Create or update files with content using drive_upload.
  • Text Appending: Append plain text to existing text files using drive_append_text.
  • File Deletion & Trash: Move files to trash or delete them permanently with drive_delete and drive_file_empty_trash.
  • Permission Management: Add, update, remove, or list permissions for files/folders via drive_share, drive_permission_update, drive_permission_delete, etc.
  • Commenting & Replies: Add comments, reply to them, and list/delete comments or replies using tools like drive_comment, drive_file_list_comments, and related tools.
  • Change Tracking: Track changes in a user’s Drive using drive_changes.
  • File Search: Search for files by name or other criteria using drive_search.

🛠️ Installation

  1. Clone the Repository:

    git clone [https://github.com/rishipradeep-think41/google-drive-mcp.git](https://github.com/rishipradeep-think41/google-drive-mcp.git)
    cd google-drive-mcp
    
  2. Install Dependencies:

    npm install
    
  3. Configure Environment Variables: Create a .env file in the root directory and add the following:

    CLIENT_ID=your_google_client_id
    CLIENT_SECRET=your_google_client_secret
    REFRESH_TOKEN=your_google_refresh_token
    PORT=8081
    

    Ensure you have a valid Google OAuth2 client and refresh token with appropriate Drive API scopes.

  4. Start the Server:

    node index.js
    

    The server will start on http://localhost:8081.

📚 API Overview

Resources

  • drive_roots: Lists files in “My Drive” and “Shared with me”.

Tool Categories

Basic Navigation & Information

Tool Name Description
drive_roots List roots (My Drive, Shared with me)
drive_changes List changes in Drive
drive_file_metadata Get metadata of a file
drive_folder_children List contents of a folder
drive_search Search files in Google Drive
drive_storage_quota Get storage quota information for the user
drive_storage_breakdown Get storage usage breakdown by file type

File Content Operations

Tool Name Description
drive_file_content Retrieve content of a Google Drive file
drive_create Create file or folder
drive_upload Upload or update file content
drive_append_text Append plain text to an existing text file in Drive

File Management

Tool Name Description
drive_copy Copy a file or folder to a new location
drive_move Move a file or folder to a different parent folder
drive_rename Rename a file or folder
drive_delete Trash or delete a file
drive_restore Restore a file from the trash
drive_file_empty_trash Permanently delete all trashed files
drive_star Star or unstar a file or folder
drive_file_lock Lock or unlock a file to prevent changes
drive_shortcut_create Create a shortcut to a file or folder

File Version Management

Tool Name Description
drive_versions_list List all versions of a file
drive_versions_delete Delete a specific version of a file

Permissions & Sharing

Tool Name Description
drive_share Manage file permissions
drive_permissions_list List all permissions of a file or folder
drive_permission_update Update a user’s permission on a file or folder
drive_permission_delete Remove a user’s access from a file or folder
drive_permission_add_domain Share file or folder with everyone in a domain
drive_permission_add_anyone Allow anyone with the link to access a file or folder

Comments & Collaboration

Tool Name Description
drive_comment Add a comment to a file
drive_file_list_comments List all comments on a file
drive_file_delete_comment Delete a comment from a file
drive_file_reply_to_comment Reply to a comment on a file
drive_file_list_replies List all replies to a comment
drive_file_delete_reply Delete a reply to a comment

Shared Drives (Team Drives)

Tool Name Description
drive_shared_drives_list List all accessible Shared Drives
drive_shared_drive_get Get metadata for a specific Shared Drive
drive_shared_drive_create Create a new Shared Drive
drive_shared_drive_delete Delete a Shared Drive
drive_shared_drive_update Update a Shared Drive’s metadata
drive_shared_drive_files List files in a Shared Drive

Batch Operations

Tool Name Description
drive_batch_get_metadata Get metadata for multiple files in a single request
drive_batch_update_permissions Update permissions for multiple files at once
drive_batch_delete Delete multiple files or folders at once
drive_batch_copy Copy multiple files to a destination folder
drive_batch_move Move multiple files to a destination folder

🔐 Authentication

The server uses OAuth2 for authentication with Google Drive. Ensure that the CLIENT_ID, CLIENT_SECRET, and REFRESH_TOKEN are correctly set in the .env file. These credentials should have the necessary scopes to access and modify files in Google Drive.

🧪 Testing

You can test the endpoints using tools like MCPInspector. Ensure the server is running at http://localhost:${port}.

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.

📄 License

This project is licensed under the MIT License.

📧 Contact

For any questions or feedback, please open an issue on the GitHub repository.


View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →