# Google Drive MCP server

Agent View of the PolicyLayer registry record for Google Drive: identity, probed posture, risk grade, and all 131 tools classified. HTML page: https://policylayer.com/tools/ark7-google-drive-mcp

## Facts

- Server id: `@ark7/google-drive-mcp`
- Install: `npx -y @ark7/google-drive-mcp`
- Homepage: https://www.npmjs.com/package/@ark7/google-drive-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 131 (129 with introspected schema)
- Tool categories present: Destructive, Read, Write
- Context-window cost: 31440 tokens per request — https://policylayer.com/token-cost/ark7-google-drive-mcp
- Tags: ark7 google drive mcp, admin
- Record last modified: 2026-10-20T06:08:33.569Z

## Tools (131)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `deleteCalendarEvent` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deletecalendarevent.md |
| `deleteComment` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deletecomment.md |
| `deleteDimensionGroup` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deletedimensiongroup.md |
| `deleteGoogleSlide` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deletegoogleslide.md |
| `deleteItem` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deleteitem.md |
| `deleteRange` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deleterange.md |
| `deleteSheet` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deletesheet.md |
| `deleteSlideElement` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/deleteslideelement.md |
| `removePermission` | Destructive | Critical | https://policylayer.com/tools/ark7-google-drive-mcp/removepermission.md |
| `authGetStatus` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/authgetstatus.md |
| `authListScopes` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/authlistscopes.md |
| `authTestFileAccess` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/authtestfileaccess.md |
| `describeGoogleDocRange` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/describegoogledocrange.md |
| `downloadFile` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/downloadfile.md |
| `exportSlideThumbnail` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/exportslidethumbnail.md |
| `getCalendarEvent` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getcalendarevent.md |
| `getCalendarEvents` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getcalendarevents.md |
| `getComment` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getcomment.md |
| `getDocumentInfo` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getdocumentinfo.md |
| `getGoogleDocContent` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledoccontent.md |
| `getGoogleDocContentPaginated` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledoccontentpaginated.md |
| `getGoogleDocImage` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledocimage.md |
| `getGoogleDocStyleSummary` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledocstylesummary.md |
| `getGoogleSheetCells` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgooglesheetcells.md |
| `getGoogleSheetContent` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgooglesheetcontent.md |
| `getGoogleSlidesContent` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogleslidescontent.md |
| `getGoogleSlidesSpeakerNotes` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getgoogleslidesspeakernotes.md |
| `getRevisions` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getrevisions.md |
| `getSlideElementInfo` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getslideelementinfo.md |
| `getSpreadsheetInfo` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/getspreadsheetinfo.md |
| `listCalendars` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listcalendars.md |
| `listComments` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listcomments.md |
| `listDimensionGroups` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listdimensiongroups.md |
| `listDocumentTabs` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listdocumenttabs.md |
| `listFolder` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listfolder.md |
| `listGoogleDocs` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listgoogledocs.md |
| `listGoogleSheets` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listgooglesheets.md |
| `listPermissions` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listpermissions.md |
| `listSharedDrives` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listshareddrives.md |
| `listSheets` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/listsheets.md |
| `readGoogleDoc` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/readgoogledoc.md |
| `readGoogleDocPaginated` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/readgoogledocpaginated.md |
| `readSmartChips` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/readsmartchips.md |
| `readTextFile` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/readtextfile.md |
| `search` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/search.md |
| `styleDocTable` | Read | Low | https://policylayer.com/tools/ark7-google-drive-mcp/styledoctable.md |
| `addComment` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addcomment.md |
| `addDataValidation` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/adddatavalidation.md |
| `addDimensionGroup` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/adddimensiongroup.md |
| `addDocumentTab` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/adddocumenttab.md |
| `addGoogleSheetConditionalFormat` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addgooglesheetconditionalformat.md |
| `addNamedRange` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addnamedrange.md |
| `addPermission` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addpermission.md |
| `addSheet` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addsheet.md |
| `addSpreadsheetSheet` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/addspreadsheetsheet.md |
| `appendSpreadsheetRows` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/appendspreadsheetrows.md |
| `applyParagraphStyle` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/applyparagraphstyle.md |
| `applyTextStyle` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/applytextstyle.md |
| `autoResizeColumns` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/autoresizecolumns.md |
| `autoResizeRows` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/autoresizerows.md |
| `batchUpdateGoogleSheetValues` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/batchupdategooglesheetvalues.md |
| `bulkConvertFolderPdfs` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/bulkconvertfolderpdfs.md |
| `convertPdfToGoogleDoc` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/convertpdftogoogledoc.md |
| `copyFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/copyfile.md |
| `createCalendarEvent` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createcalendarevent.md |
| `createDocFromHTML` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createdocfromhtml.md |
| `createFolder` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createfolder.md |
| `createFootnote` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createfootnote.md |
| `createGoogleDoc` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/creategoogledoc.md |
| `createGoogleSheet` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/creategooglesheet.md |
| `createGoogleSlides` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/creategoogleslides.md |
| `createGoogleSlidesShape` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/creategoogleslidesshape.md |
| `createGoogleSlidesTextBox` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/creategoogleslidestextbox.md |
| `createParagraphBullets` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createparagraphbullets.md |
| `createShortcut` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createshortcut.md |
| `createTextFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/createtextfile.md |
| `duplicateSlide` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/duplicateslide.md |
| `editTableCell` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/edittablecell.md |
| `findAndReplaceInDoc` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/findandreplaceindoc.md |
| `formatGoogleDocParagraph` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgoogledocparagraph.md |
| `formatGoogleDocText` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgoogledoctext.md |
| `formatGoogleSheetCells` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgooglesheetcells.md |
| `formatGoogleSheetNumbers` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgooglesheetnumbers.md |
| `formatGoogleSheetText` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgooglesheettext.md |
| `formatGoogleSlidesParagraph` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgoogleslidesparagraph.md |
| `formatGoogleSlidesText` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/formatgoogleslidestext.md |
| `hideSheetDimension` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/hidesheetdimension.md |
| `insertImageFromUrl` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertimagefromurl.md |
| `insertLocalImage` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertlocalimage.md |
| `insertSheetDimension` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertsheetdimension.md |
| `insertSlidesImageFromUrl` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertslidesimagefromurl.md |
| `insertSlidesLocalImage` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertslideslocalimage.md |
| `insertSmartChip` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/insertsmartchip.md |
| `insertTable` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/inserttable.md |
| `insertText` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/inserttext.md |
| `lockFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/lockfile.md |
| `manage_accounts` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/manage-accounts.md |
| `mergeGoogleSheetCells` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/mergegooglesheetcells.md |
| `moveItem` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/moveitem.md |
| `moveSlideElement` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/moveslideelement.md |
| `protectRange` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/protectrange.md |
| `renameDocumentTab` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/renamedocumenttab.md |
| `renameItem` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/renameitem.md |
| `renameSheet` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/renamesheet.md |
| `reorderSlides` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/reorderslides.md |
| `replaceAllTextInSlides` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/replacealltextinslides.md |
| `replaceSlideImage` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/replaceslideimage.md |
| `replyToComment` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/replytocomment.md |
| `restoreRevision` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/restorerevision.md |
| `setColumnWidth` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setcolumnwidth.md |
| `setElementText` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setelementtext.md |
| `setElementZOrder` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setelementzorder.md |
| `setGoogleSheetBorders` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setgooglesheetborders.md |
| `setGoogleSlidesBackground` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setgoogleslidesbackground.md |
| `setRowHeight` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setrowheight.md |
| `setSlideVisibility` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/setslidevisibility.md |
| `shareFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/sharefile.md |
| `showSheetDimension` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/showsheetdimension.md |
| `styleGoogleSlidesShape` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/stylegoogleslidesshape.md |
| `unlockFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/unlockfile.md |
| `updateCalendarEvent` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updatecalendarevent.md |
| `updateDimensionGroup` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updatedimensiongroup.md |
| `updateGoogleDoc` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updategoogledoc.md |
| `updateGoogleSheet` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updategooglesheet.md |
| `updateGoogleSheetIfUnchanged` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updategooglesheetifunchanged.md |
| `updateGoogleSlides` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updategoogleslides.md |
| `updateGoogleSlidesSpeakerNotes` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updategoogleslidesspeakernotes.md |
| `updatePermission` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updatepermission.md |
| `updateTextFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/updatetextfile.md |
| `uploadFile` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/uploadfile.md |
| `uploadPdfWithSplit` | Write | Medium | https://policylayer.com/tools/ark7-google-drive-mcp/uploadpdfwithsplit.md |

## Tool descriptions

- `deleteCalendarEvent` — Delete a calendar event
- `deleteComment` — Delete a comment from the document
- `deleteDimensionGroup` — Remove a row or column group from a sheet. The rows/columns themselves are kept; only the grouping is removed. Indices are 0-based and the interval is half-open [startIndex, endIndex). Use listDimensionGroups to read back an existing gro…
- `deleteGoogleSlide` — Delete a slide from a presentation
- `deleteItem` — Move a file or folder to trash (can be restored from Google Drive trash)
- `deleteRange` — Delete content between start and end indices. 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 el…
- `deleteSheet` — Delete a sheet/tab by sheetId
- `deleteSlideElement` — Delete an element (image, text box, shape) from a Google Slides slide
- `removePermission` — Remove a permission from a file (by permissionId or emailAddress)
- `authGetStatus` — Show authentication/token status and scope diagnostics
- `authListScopes` — List configured/requested scopes and currently granted scopes
- `authTestFileAccess` — Run auth diagnostics against Drive API/file access
- `describeGoogleDocRange` — Style probe for one spot: the paragraph styles (named style, alignment, borders, shading, indents, spacing, bullets) and text runs (font, size, bold/italic/underline, colors, links) overlapping a range, with the real document index of ev…
- `downloadFile` — Download a Google Drive file to a local path. For Google Workspace files (Docs, Sheets, Slides, Drawings), exports to the specified format. For regular files, downloads as-is. Streams directly to disk.
- `exportSlideThumbnail` — Export a slide thumbnail URL
- `getCalendarEvent` — Get a single calendar event by ID
- `getCalendarEvents` — Get events from a Google Calendar with optional filtering
- `getComment` — Get a specific comment with its full thread of replies
- `getDocumentInfo` — Gets detailed information about a specific Google Document.
- `getGoogleDocContent` — Get content of a Google Doc with text indices for formatting
- `getGoogleDocContentPaginated` — Get a portion of a Google Doc with text indices for formatting, with pagination support. Use offset and limit to read large documents in chunks.
- `getGoogleDocImage` — Fetch the bytes of an inline image embedded in a Google Doc, keyed by its inline object ID. Returns a native image the model can see (or base64). The doc is re-fetched so the underlying image URL is always fresh — pass the objectId, neve…
- `getGoogleDocStyleSummary` — Compact style inventory of a whole document in a few hundred tokens: fonts with their size ladders, named-style counts, text colors, bordered and shaded paragraph locations, a table inventory with real index ranges, and the heading outli…
- `getGoogleSheetCells` — Read Google Sheets cells as structured data instead of joined text: each cell comes back with its own absolute A1 address, and with the formula the user entered AND the value it evaluates to, in one call. Reads several ranges at once and…
- `getGoogleSheetContent` — Get content of a Google Sheet with cell information. Each row is returned as 'Row N: ' followed by that row's cells separated by tab characters. Returns displayed values by default; set valueRenderOption to 'FORMULA' to read the underlyi…
- `getGoogleSlidesContent` — Get content of Google Slides with element IDs for formatting
- `getGoogleSlidesSpeakerNotes` — Get speaker notes from a specific slide in Google Slides
- `getRevisions` — List revisions for a file
- `getSlideElementInfo` — Get position, size, and transform of all elements on a slide. Returns actual rendered bounds.
- `getSpreadsheetInfo` — Gets detailed information about a Google Spreadsheet including all sheets/tabs
- `listCalendars` — List all accessible Google Calendars for the authenticated user
- `listComments` — List all comments in a Google Document
- `listDimensionGroups` — List the row and column groups of a spreadsheet, with each group's range, nesting depth and collapsed state. Ranges are reported as 0-based half-open intervals, exactly as addDimensionGroup, deleteDimensionGroup and updateDimensionGroup …
- `listDocumentTabs` — List all tabs in a Google Doc with their IDs and hierarchy
- `listFolder` — List contents of a folder (defaults to root)
- `listGoogleDocs` — Lists Google Documents from your Google Drive with optional filtering.
- `listGoogleSheets` — Lists Google Spreadsheets from your Google Drive with optional filtering
- `listPermissions` — List sharing permissions for a file
- `listSharedDrives` — List available Google Shared Drives
- `listSheets` — List tabs/sheets in a Google Spreadsheet
- `readGoogleDoc` — Read content of a Google Doc with format options. Supports multi-tab documents. Text/markdown output leads with the document's revisionId — pass it as ifRevisionId on write tools for an optimistic lock.
- `readGoogleDocPaginated` — Read a portion of a Google Doc with pagination support. Use offset and limit to read large documents in chunks, avoiding output size limits.
- `readSmartChips` — Read smart chip-like elements (person mentions, rich links, date chips) from the default tab of a document
- `readTextFile` — Read content of a text file (any text/* MIME type, e.g. text/plain, text/markdown, text/csv). For Google Docs, use readGoogleDoc.
- `search` — Search for files in Google Drive. Results are sorted most-recently-modified first by default; use orderBy for a different order. Set rawQuery=true to pass a raw Google Drive API query supporting operators like modifiedTime, createdTime, …
- `styleDocTable` — Style a Docs table in one atomic call: cell borders/background/padding/content alignment (whole table via tableStartLocation, or a cell range subset), fixed column widths, and minimum row heights. Get the real tableStartIndex from the ta…
- `addComment` — Add a comment quoting a text range, targeted by startIndex+endIndex or by textToFind. The comment appears in the document's comment panel and records the quoted passage. Google Docs does not support margin-anchored comments through any p…
- `addDataValidation` — Add data validation rules to a sheet range
- `addDimensionGroup` — Group a range of rows or columns in a sheet (creates a collapsible outline group). Indices are 0-based and the interval is half-open [startIndex, endIndex) — to group rows 5 through 12 as shown in the UI, pass startIndex: 4, endIndex: 12…
- `addDocumentTab` — Add a new tab in a Google Doc
- `addGoogleSheetConditionalFormat` — Add conditional formatting to a Google Sheet
- `addNamedRange` — Create a named range
- `addPermission` — Add a sharing permission to a file. If the principal already holds a permission on the file, Drive updates that permission instead of creating a second one, and the requested role is applied even when it is a downgrade (asking for 'reade…
- `addSheet` — Alias for addSpreadsheetSheet (adds a new sheet/tab)
- `addSpreadsheetSheet` — Adds a new sheet/tab to an existing Google Spreadsheet
- `appendSpreadsheetRows` — Appends rows of data to the end of a sheet in a Google Spreadsheet
- `applyParagraphStyle` — Apply paragraph formatting — alignment, indents, spacing, named styles, borders (top/bottom/left/right/between), shading, and pagination controls. Use EITHER startIndex+endIndex OR textToFind OR indexWithinParagraph for targeting. The up…
- `applyTextStyle` — Apply text formatting (bold, italic, color, etc.) to a range or found text. Use EITHER startIndex+endIndex OR textToFind for targeting.
- `autoResizeColumns` — Auto-size one or more columns to fit their content. Indices are 0-based and the interval is half-open [startColumn, endColumn) — to auto-fit a single column at position 5, pass startColumn: 5, endColumn: 6.
- `autoResizeRows` — Auto-size one or more rows to fit their content. Indices are 0-based and the interval is half-open [startRow, endRow) — to auto-fit a single row at position 5, pass startRow: 5, endRow: 6.
- `batchUpdateGoogleSheetValues` — Write many ranges in ONE call via spreadsheets.values.batchUpdate. Ranges may sit on different sheets of the same spreadsheet. Prefer this over repeated updateGoogleSheet calls whenever more than one range changes: N separate writes cost…
- `bulkConvertFolderPdfs` — Convert all PDFs in a folder into Google Docs and return per-file results
- `convertPdfToGoogleDoc` — Convert an existing PDF in Drive into an editable Google Doc
- `copyFile` — Creates a copy of a Google Drive file or document
- `createCalendarEvent` — Create a new calendar event. Supports timed events, all-day events, and Google Meet integration.
- `createDocFromHTML` — Create a Google Doc from HTML content in a single Drive API call. HTML tags are converted to native Google Doc styles: <h1> → Heading 1, <h2> → Heading 2, <p> → Normal Text, <b> → bold, <i> → italic, <ul>/<ol> → lists, <table> → tables. …
- `createFolder` — Create a new folder in Google Drive
- `createFootnote` — Create a footnote in a Google Doc. Footnotes cannot be inserted inside equations, headers, footers, or other footnotes. For multi-tab docs, specify tabId to target a specific tab.
- `createGoogleDoc` — Create a new Google Doc
- `createGoogleSheet` — Create a new Google Sheet. By default uses RAW mode which stores values as-is. Set valueInputOption to 'USER_ENTERED' only when you need formulas to be evaluated.
- `createGoogleSlides` — Create a new Google Slides presentation
- `createGoogleSlidesShape` — Create a shape in Google Slides
- `createGoogleSlidesTextBox` — Create a text box in Google Slides
- `createParagraphBullets` — Add or remove bullet points / numbered lists on paragraphs in a Google Doc. Target paragraphs by startIndex+endIndex or textToFind. Use bulletPreset='NONE' to remove bullets.
- `createShortcut` — Create a shortcut (link) to a file or folder in Google Drive. Useful for referencing the same document from multiple locations without duplicating it.
- `createTextFile` — Create a new text or markdown file
- `duplicateSlide` — Duplicate a slide in a presentation
- `editTableCell` — Edit the content and/or style of a specific table cell. Requires knowing the table start index. For multi-tab docs, specify tabId to target a table in a specific tab.
- `findAndReplaceInDoc` — Find and replace text across a Google Document. Dry-run mode counts matches exactly across body, tables, headers, footers, and footnotes. On zero matches the response explains the likeliest lookalike cause (non-breaking spaces, curly quo…
- `formatGoogleDocParagraph` — Apply paragraph formatting (alignment, indentation, spacing, heading style, borders, shading) in a Google Doc. Alias for applyParagraphStyle.
- `formatGoogleDocText` — Apply text formatting (bold, italic, font, color, links, superscript/subscript) to a range or found text in a Google Doc. Alias for applyTextStyle.
- `formatGoogleSheetCells` — Format cells in a Google Sheet (background, borders, alignment)
- `formatGoogleSheetNumbers` — Apply number formatting to cells in a Google Sheet
- `formatGoogleSheetText` — Apply text formatting to cells in a Google Sheet
- `formatGoogleSlidesParagraph` — Apply paragraph formatting to text in Google Slides
- `formatGoogleSlidesText` — Apply text formatting to elements in Google Slides
- `hideSheetDimension` — Hide a range of columns or rows in a sheet (sets hiddenByUser=true). Indices are 0-based and the interval is half-open [startIndex, endIndex) — to hide a single column/row at position 5, pass startIndex: 5, endIndex: 6.
- `insertImageFromUrl` — Insert an inline image into a Google Document from a publicly accessible URL
- `insertLocalImage` — Upload a local image file to Google Drive and insert it into a Google Document
- `insertSheetDimension` — Insert empty rows or columns at a position in a sheet (one spreadsheets.batchUpdate); what is there now moves down (rows) or right (columns), and formulas referring to it follow. Indices are 0-based and the interval is half-open [startIn…
- `insertSlidesImageFromUrl` — Insert an image into a Google Slides slide from a publicly accessible URL
- `insertSlidesLocalImage` — Upload a local image file to Google Drive and insert it into a Google Slides slide
- `insertSmartChip` — Insert a person smart chip (mention) at a document index. Only person chips are supported by the Docs API; date and file chips are read-only.
- `insertTable` — Insert a new table with the specified dimensions at a given index. For multi-tab docs, specify tabId to target a specific tab.
- `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 p…
- `lockFile` — Lock a file to prevent editing by setting content restrictions. The file remains readable but cannot be modified until unlocked.
- `manage_accounts` — Manage connected Google accounts. action='list' shows all connected accounts (no secrets). action='add' starts an OAuth flow for a new account identified by account_id (alias). action='remove' deletes local tokens for an account. action=…
- `mergeGoogleSheetCells` — Merge cells in a Google Sheet
- `moveItem` — Move a file or folder
- `moveSlideElement` — Move and/or resize an element (image, text box, shape) on a Google Slides slide
- `protectRange` — Protect a range in a spreadsheet
- `renameDocumentTab` — Rename an existing Google Doc tab
- `renameItem` — Rename a file or folder
- `renameSheet` — Rename a sheet/tab by sheetId
- `reorderSlides` — Reorder one or more slides in a presentation
- `replaceAllTextInSlides` — Replace all matching text across a presentation. It reaches slides, speaker notes, layouts and masters, so a match on a layout or master changes every slide that uses it. A match can run across paragraphs inside one text box or table cel…
- `replaceSlideImage` — Replace an existing image in place, preserving its layering (z-order), position, size, and crop. Unlike delete+insert, which lands the new image on top of the stack, this keeps the image under any overlaid text.
- `replyToComment` — Add a reply to an existing comment
- `restoreRevision` — Restore a file to a selected revision (creates a new head revision). Note: workspace files (Docs, Sheets, Slides) are restored via export/import and may lose some formatting.
- `setColumnWidth` — Set the width (in pixels) of one or more columns in a sheet. Indices are 0-based and the interval is half-open [startColumn, endColumn) — to resize a single column at position 5, pass startColumn: 5, endColumn: 6.
- `setElementText` — Replace the entire text of one shape/text box by objectId (element-scoped delete+insert in one atomic call). Unlike replaceAllTextInSlides, this cannot hit other slides, masters, or layouts, and does not depend on matching existing text.…
- `setElementZOrder` — Change the stacking order of page elements (updatePageElementsZOrder). Inserted images land on top of the stack and can cover overlay text — send them backward or to the back. All elements must be on the same page.
- `setGoogleSheetBorders` — Set borders for cells in a Google Sheet
- `setGoogleSlidesBackground` — Set background color for slides
- `setRowHeight` — Set the height (in pixels) of one or more rows in a sheet. Indices are 0-based and the interval is half-open [startRow, endRow) — to resize a single row at position 5, pass startRow: 5, endRow: 6.
- `setSlideVisibility` — Show or hide (skip) slides in one atomic call. Hidden slides are skipped in present mode and PDF export.
- `shareFile` — Convenience wrapper to share a file with a user email. If the user already holds a permission on the file, that permission's role is set to the requested one (even when it is a downgrade) instead of creating a duplicate.
- `showSheetDimension` — Show (unhide) a range of columns or rows in a sheet (sets hiddenByUser=false). Indices are 0-based and the interval is half-open [startIndex, endIndex) — to unhide a single column/row at position 5, pass startIndex: 5, endIndex: 6.
- `styleGoogleSlidesShape` — Style shapes in Google Slides
- `unlockFile` — Unlock a previously locked file by removing content restrictions, restoring full edit access.
- `updateCalendarEvent` — Update an existing calendar event
- `updateDimensionGroup` — Collapse or expand an existing row or column group. Indices are 0-based and the interval is half-open [startIndex, endIndex). Use listDimensionGroups first to find the group's range and depth.
- `updateGoogleDoc` — Update an existing Google Doc (replaces all content). The replacement is one atomic batchUpdate, so a failure leaves the document unchanged rather than wiped. For multi-tab docs, specify tabId to replace a single tab's content; leaves ot…
- `updateGoogleSheet` — Update an existing Google Sheet. By default uses RAW mode which stores values as-is. Set valueInputOption to 'USER_ENTERED' only when you need formulas to be evaluated.
- `updateGoogleSheetIfUnchanged` — Write cell values only if the guarded area has not changed since you read it, and get back what was overwritten so the change can be undone. Call once with dryRun:true to obtain the fingerprint, then again passing it as expectedFingerpri…
- `updateGoogleSlides` — Update an existing Google Slides presentation
- `updateGoogleSlidesSpeakerNotes` — Update speaker notes for a specific slide in Google Slides
- `updatePermission` — Update an existing permission role
- `updateTextFile` — Update an existing text or markdown file
- `uploadFile` — Upload a file (any type: image, audio, video, PDF, etc.) to Google Drive, either from a local path on the server or from base64-encoded content. When fileId is provided, uploads the content as a new version of that existing file (in-plac…
- `uploadPdfWithSplit` — Upload PDF and optionally split into chunked parts (metadata split plan for now)

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Apibase (1384 tools) — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- MCP Framework Personal (912 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Altium-MCP-Suite (817 tools) — https://policylayer.com/tools/altium-mcp-suite.md
- Eda Agent (777 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ark7-google-drive-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/ark7-google-drive-mcp
