insertText
Insert text at a specific index (surgical edit, doesn't replace whole file). Works on Google Docs and text/* files (e.g. text/plain, text/markdown). Index semantics differ by file type: Google Docs use the Docs API's 1-based structural position (includes structural elements); text files use a 0-b...
This record as markdown: /tools/ark7-google-drive-mcp/inserttext.md
What insertText does on Google Drive
AI agents use insertText to create or update resources in Google Drive, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Google Drive environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to insert |
index | number | — | Position to insert at. Google Docs: 1-based Docs API structural index. Text files: 0-based Unicode code point (character) offset. Provide exactly one of index o |
tabId | string | — | Optional. Google Docs only — Tab ID to insert into (from listDocumentTabs). If omitted, inserts into the first/default tab. Not supported on text files. |
account | string | — | Alias of the Google account to target. Optional — defaults to the session/global default account, or the sole authenticated account. Run manage_accounts list to |
position | string | — | Insert before or after the matched text (default: after). Only used with textToFind. |
documentId | string | Yes | The Google Doc or text file ID |
textToFind | string | — | Google Docs only: locate the insertion point by text instead of index (exact, case-sensitive match). Combine with position (before/after) and matchInstance. If |
ifRevisionId | string | — | Optional optimistic lock: a revisionId from readGoogleDoc, getGoogleDocContent, getGoogleDocContentPaginated, or getDocumentInfo. The write fails cleanly if the |
matchInstance | number | — | Which instance of textToFind (default: 1) |
Parameters from the server's own tool schema.
Why insertText is rated Medium
An AI agent can call insertText faster than any human can review: one bad instruction and it creates or modifies resources in Google Drive by the hundred, each call as confident as the last.
Attacks that exploit this kind of access
The rule that runs insertText safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Google Drive, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For insertText, this is the rule to start with:
insertText 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 Google Drive, apply this rule, and every insertText call is checked against it from then on.
Questions about insertText
Insert text at a specific index (surgical edit, doesn't replace whole file). Works on Google Docs and text/* files (e.g. text/plain, text/markdown). Index semantics differ by file type: Google Docs use the Docs API's 1-based structural position (includes structural elements); text files use a 0-based Unicode code point (character) offset into the file content. For multi-tab Google Docs, specify tabId to target a specific tab — tabId is not supported on text files. It is categorised as a Write tool in the Google Drive MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
insertText accepts 9 parameters: text, index, tabId, account, position, documentId, textToFind, ifRevisionId, matchInstance. Required: text, documentId. The full parameter table on this page comes from the server's own tool schema.
Register the Google Drive MCP server in PolicyLayer and add a rule for insertText: 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 Google Drive. Nothing to install.
insertText 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 insertText 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 insertText. 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.
insertText is provided by the Google Drive MCP server (@ark7/google-drive-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Google Drive, and thousands of servers like it.
This server
Across the catalogue