drive-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gdrive_list_folderA | List files in a Google Drive folder by name or folder_id. Args: folder_name: Name of the folder to list (e.g., "Stock Investor Accelerator") folder_id: Optional stable folder ID from gdrive_search (preferred when known) Discovery: use gdrive_search first when the exact folder_name/folder_id is unknown. Sibling tools: use gdrive_list_folder_recursive to include subfolders and gdrive_read_file to read a discovered file. |
| gdrive_list_folder_recursiveA | Recursively list all files in a Google Drive folder and its subfolders. Args: folder_name: Name of the folder to list (e.g., "Stock Investor Accelerator") folder_id: Optional stable folder ID from gdrive_search (preferred when known) Discovery: use gdrive_search first when the exact folder_name/folder_id is unknown. Sibling tools: use gdrive_list_folder for a shallow listing and gdrive_read_file to read a discovered file. |
| gdrive_searchB | Search for files in Google Drive by name (includes Shared Drives). Args: query: Search term to find in file names max_results: Maximum number of results to return (default: 20) |
| gdrive_list_shared_drivesB | List Shared Drives visible to the authenticated Google account. Sibling tools: use gdrive_search / gdrive_list_folder with folder_id values discovered inside a Shared Drive. |
| gdrive_read_fileA | Read the contents of a file from Google Drive. Supports:
Args: file_name: Name of the file to read (e.g., "My Document" or "report.pdf") max_chars: Maximum characters to return (default: 100000) file_id: Optional stable file ID from gdrive_search (preferred when known) Discovery: use gdrive_search, gdrive_list_folder, or gdrive_list_folder_recursive first to find the exact file_name or file_id. |
| gdrive_download_fileA | Download a Google Drive file to a local filesystem path. Google Docs/Sheets/Slides are exported to Office formats (.docx/.xlsx/.pptx). Other files are downloaded in their native binary form. Discovery: use gdrive_search or gdrive_list_folder first to obtain
Use this for: saving a Drive file locally for offline/binary use.
Not for: reading text content in-chat — see Args: local_path: Destination file path, or directory to download into file_name: Name of the file to download file_id: Optional stable file ID (preferred when known) dry_run: Preview the download without writing bytes |
| gdrive_renameA | Rename a file in Google Drive. Discovery: run Use this for: renaming files in place.
Not for: moving a file to a different folder — see Use dry_run=True to preview the change without committing. Args: file_name: Current name of the file to rename new_name: New name for the file dry_run: Preview the rename without committing it file_id: Optional stable file ID (preferred when known) |
| gdrive_moveA | Move a file to a different folder in Google Drive. Discovery: run Use this for: moving files between folders.
Not for: renaming a file in place — see Use dry_run=True to preview the change without committing. Args: file_name: Name of the file to move destination_folder: Name of the destination folder dry_run: Preview the move without committing it file_id: Optional stable file ID (preferred when known) destination_folder_id: Optional stable destination folder ID |
| gdrive_create_folderA | Create a folder in Google Drive. Discovery: run Use this for: creating a new folder (optionally under a parent).
Not for: creating a Google Doc — see Use dry_run=True to preview the change without committing. Use exist_ok=True to return an existing same-named child folder instead of erroring. Args: folder_name: Name of the folder to create parent_folder: Optional parent folder name (defaults to My Drive root) parent_folder_id: Optional stable parent folder ID exist_ok: If a matching folder already exists under the parent, return it dry_run: Preview the create without committing it |
| gdrive_write_fileA | Create or overwrite a text/binary-capable file in Google Drive. Discovery: run Use this for: writing markdown/text/json/csv files into Drive.
Not for: creating a Google Doc — see Use dry_run=True to preview the change without committing. Overwrites only when file_id is provided or overwrite=True finds a same-named file under the parent. Undo trashes newly created files; content overwrites are not undoable via restore_token. Args: file_name: Destination file name (e.g., "notes.md") content: File contents to write parent_folder: Optional parent folder name (defaults to My Drive root) parent_folder_id: Optional stable parent folder ID mime_type: Optional MIME type (guessed from file_name when omitted) file_id: Optional existing file ID to overwrite overwrite: If True, overwrite an existing same-named file under the parent dry_run: Preview the write without committing it |
| gdrive_create_docA | Create a Google Doc in Drive, optionally seeded with plain-text content. Discovery: run Use this for: creating a Google Doc artifact.
Not for: creating a folder — see Use dry_run=True to preview the change without committing. Args: title: Title of the Google Doc content: Optional plain-text content to seed into the Doc parent_folder: Optional parent folder name (defaults to My Drive root) parent_folder_id: Optional stable parent folder ID dry_run: Preview the create without committing it |
| gdrive_copyA | Copy a Google Drive file, optionally renaming and/or placing under a new folder. Discovery: run Use this for: duplicating a file/template.
Not for: moving the original file — see Use dry_run=True to preview the change without committing. Args: file_name: Name of the file to copy new_name: Optional name for the copy destination_folder: Optional destination folder name destination_folder_id: Optional stable destination folder ID file_id: Optional stable file ID (preferred when known) dry_run: Preview the copy without committing it |
| gdrive_trashA | Move a Google Drive file or folder to trash. Discovery: run Use this for: soft-deleting a file/folder (recoverable from trash). Not for: permanently deleting — not supported by this server. Use dry_run=True to preview the change without committing. Args: file_name: Name of the file/folder to trash file_id: Optional stable file ID (preferred when known) dry_run: Preview the trash without committing it |
| gdrive_shareA | Share a Google Drive file/folder with a user email. Discovery: run Use this for: granting reader/commenter/writer access to a collaborator. Not for: transferring ownership. Valid roles: reader, commenter, writer. Use dry_run=True to preview the change without committing. Args: email: Collaborator email address role: Access role — one of reader, commenter, writer file_name: Name of the file/folder to share file_id: Optional stable file ID (preferred when known) send_notification: Whether Google should email the collaborator dry_run: Preview the share without committing it |
| gdrive_undoA | Undo a prior Drive mutation using its restore_token. Supports: gdrive_rename, gdrive_move, gdrive_create_folder, gdrive_write_file (create only), gdrive_create_doc, gdrive_copy, gdrive_trash, gdrive_share. Args: restore_token: Token returned by a mutating gdrive_* tool after commit |
| onedrive_list_rootA | List items in the OneDrive root folder. Sibling tools: use onedrive_list_folder for nested folders and onedrive_read_file to read a discovered file. |
| onedrive_list_folderA | List items in a OneDrive folder by path. Args: folder_path: Path to the folder (e.g., "Documents/Projects" or "Stock Investor Accelerator") Discovery: use onedrive_list_root or onedrive_search first when the exact folder_path is unknown. Sibling tools: use onedrive_list_root for the top-level folder and onedrive_read_file to read a discovered file. |
| onedrive_searchB | Search for files in OneDrive by name. Args: query: Search term to find in file names max_results: Maximum number of results to return (default: 20) |
| onedrive_read_fileA | Read the contents of a file from OneDrive. Supports:
Args: file_path: Path to the file (e.g., "Documents/report.pdf" or "Stock Investor Accelerator/notes.txt") max_chars: Maximum characters to return (default: 100000) Discovery: use onedrive_search, onedrive_list_root, or onedrive_list_folder first to find the exact file_path. |
| onedrive_start_reauthA | Start OneDrive re-authentication. Returns URL and code for user. |
| onedrive_complete_reauthB | Check if OneDrive re-authentication completed. Call after user visits URL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools have clearly distinct actions, and the gdrive_/onedrive_ prefixes separate the two providers cleanly. A few near-overlaps exist (gdrive_list_folder vs gdrive_list_folder_recursive, and gdrive_write_file vs gdrive_create_doc), but the descriptions explicitly disambiguate them.
The provider_verb[_noun] pattern is consistent and readable, e.g., gdrive_create_folder, gdrive_read_file, onedrive_list_folder. Minor deviations exist like verb-only names (gdrive_copy, gdrive_trash, gdrive_undo, gdrive_search), but they do not undermine predictability.
21 tools falls in the heavy range for a single MCP server, though the dual-provider scope explains the size. Each tool has a plausible purpose, but the surface feels larger than a typical well-scoped single-domain server.
The Google Drive side is fairly complete: create, read, search, list, rename, move, copy, trash, share, download, and undo are all covered. The OneDrive side is notably incomplete, offering only list/search/read/reauth with no create, write, rename, move, trash, or share operations.