upload_file
Uploads content to Drive and returns the file's metadata. Without file_id it CREATES a new file (name required; parent_id places it); with file_id it REPLACES that file's content in place (same id, new bytes) — name/parent_id are ignored then. The bytes come from exactly one of content (inline UT...
This record as markdown: /tools/a1-x-tech-mcp-google-drive/upload-file.md
What upload_file does on Mcp Google Drive
AI agents use upload_file to create or update resources in Mcp Google Drive, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp Google Drive environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | — | File name in Drive — required when creating (no file_id). |
content | string | — | Inline UTF-8 text content — for small text files. Exactly one of content/local_path. |
file_id | string | — | Existing file whose CONTENT to replace (omit to create a new file). |
mime_type | string | — | mimeType of the uploaded bytes (default: text/plain for content, extension-based for local_path). |
parent_id | string | — | Folder for the new file (create only; omitted = My Drive root). |
convert_to | string | — | Import into a Google-native editable file: document (Doc), spreadsheet (Sheet), presentation (Slides). |
local_path | string | — | Absolute local path to read the bytes from. Exactly one of content/local_path. |
Parameters from the server's own tool schema.
Why upload_file is rated Medium
An AI agent can call upload_file faster than any human can review: one bad instruction and it creates or modifies resources in Mcp Google Drive by the hundred, each call as confident as the last.
Risk signalsAccepts raw HTML/template content (content)
Attacks that exploit this kind of access
The rule that runs upload_file safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Mcp Google Drive, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For upload_file, this is the rule to start with:
upload_file stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Mcp Google Drive, apply this rule, and every upload_file call is checked against it from then on.
Questions about upload_file
Uploads content to Drive and returns the file's metadata. Without file_id it CREATES a new file (name required; parent_id places it); with file_id it REPLACES that file's content in place (same id, new bytes) — name/parent_id are ignored then. The bytes come from exactly one of content (inline UTF-8 text) or local_path (absolute path to a local file). mime_type describes the uploaded bytes (default: text/plain for content, guessed from the extension for local_path). convert_to=document|spreadsheet|presentation imports the bytes into an editable Google Doc/Sheet/Slides (e.g. a .docx or .csv becomes native; export back with export_file). Cap: 5 MB per upload (multipart) — larger files need a resumable session via raw_request. A retry after an ambiguous failure without file_id would create a duplicate — search_files first. It is categorised as a Write tool in the Mcp Google Drive MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
upload_file accepts 7 parameters: name, content, file_id, mime_type, parent_id, convert_to, local_path. The full parameter table on this page comes from the server's own tool schema.
Register the Mcp Google Drive MCP server in PolicyLayer and add a rule for upload_file: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp Google Drive. Nothing to install.
upload_file is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the upload_file rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for upload_file. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
upload_file is provided by the Mcp Google Drive MCP server (@a1-x-tech/mcp-google-drive). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Mcp Google Drive, and thousands of servers like it.
This server
Across the catalogue