Skip to content

Google Drive connector: add update_file, delete_file/trash_file, and move_file operations #497

Description

@WB113324

Problem Statement

The Google Drive connector currently exposes only: create_file, copy_file, download_file_content, get_file_metadata, get_file_permissions, list_recent_files, read_file_content, search_files.

There is no way to update an existing file in place, delete/trash a file, or move a file between folders. Every "update" to an existing file requires a read → rebuild content → create_file (new file, new file ID) workaround, which leaves the original file orphaned in Drive. Since there's no delete/trash tool, the user has to manually go into Drive and trash the orphaned file themselves, every single time, for every iterative edit.

This is a real, recurring workflow cost — not a one-off complaint. I maintain a working document (a session log) that gets updated incrementally throughout a session. Each update means: read current content, merge in new content, create_file a new version, then I manually find and trash the old one in Drive. Multiplied across a project, this produces a steady buildup of orphaned duplicate files that only get cleaned up if I remember to do it.

Related issue

anthropics/claude-code#51040 documents the same underlying gap (no write/modify operations across Drive, Gmail, and Calendar connectors) at a broader scope, but appears to be filed in the wrong repo (flagged with an "invalid - not related to Claude Code" label, likely to be redirected or closed). Filing here specifically for the Drive connector with a concrete use case, since claude-ai-mcp is the right repo for MCP integration issues.

Current workaround

Read existing file → merge new content client-side → create_file with the merged content as a new file → manually flag the old file ID for the user to trash by hand in the Drive UI. Works, but is fragile (relies on the user remembering to clean up) and produces unnecessary file ID churn for documents that are conceptually "the same file" across edits.

Proposed Solution

Add to the Drive connector, at minimum:

update_file — replace/append content of an existing file in place, without changing its file ID
delete_file / trash_file — remove a file (trash preferred over hard delete, consistent with Drive's own UI behavior)
move_file — change a file's parent folder

The underlying Google Drive API already supports all of this (files.update with addParents/removeParents, files.delete, files.trash) — this is a connector tool-surface gap, not a platform limitation.

Alternatives Considered

No response

Area

MCP Connector (adding/managing servers)

Priority

Critical - Blocking my MCP server development

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions