Skip to main content
Glama
README.mdโ€ข8.47 kB
[![smithery badge](https://smithery.ai/badge/@rishipradeep-think41/google-drive-mcp)](https://smithery.ai/server/@rishipradeep-think41/google-drive-mcp) # 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:** ```bash 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:** ```bash npm install ``` 3. **Configure Environment Variables:** Create a `.env` file in the root directory and add the following: ```env 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:** ```bash 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](LICENSE). ๐Ÿ“ง **Contact** For any questions or feedback, please open an issue on the [GitHub repository](https://github.com/rishipradeep-think41/google-drive-mcp). ---

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rishipradeep-think41/google-drive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server