LeashIndex Get the report

Index / storage

Google Drive MCP

io-github-piotr-agier-google-drive-mcp declares 130 capabilities across 130 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

100/100 exposureHigh exposure

Manifest recorded 2026-11-03 from tools/list answered by the npm package @piotr-agier/google-drive-mcp@2.12.0 (published to npm as @piotr-agier/google-drive-mcp, listed in the official MCP registry as io.github.piotr-agier/google-drive-mcp 2.12.0), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 130 tools

130 of 130 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 10 of 130 tools

10 tools are classified as irreversible and declare no limit.

high · no-expiry · All 130 tools

130 of 130 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 130 tools

130 of 130 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 83 of 130 tools

83 tools can modify data and declare no limit.

low · uncapped-read · 37 of 130 tools

37 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
searchread declared
createTextFilewrite inferred
updateTextFilewrite inferred
readTextFileread declared
createFolderwrite inferred
listFolderread declared
listSharedDrivesread declared
deleteItemdelete inferred
renameItemwrite inferred
moveItemwrite inferred
copyFilewrite inferred
uploadFilewrite inferred
downloadFilewrite assumed
listPermissionsread declared
addPermissionwrite inferred
updatePermissionwrite inferred
removePermissiondelete inferred
shareFilesend inferred
convertPdfToGoogleDocwrite assumed
bulkConvertFolderPdfswrite assumed
uploadPdfWithSplitwrite inferred
getRevisionsread declared
restoreRevisionwrite inferred
manage_accountswrite assumed
authGetStatusread declared
authListScopesread declared
authTestFileAccessread declared
createShortcutwrite inferred
lockFilewrite inferred
unlockFilewrite assumed
createGoogleDocwrite inferred
createDocFromHTMLwrite inferred
updateGoogleDocwrite inferred
insertTextwrite inferred
deleteRangedelete inferred
readGoogleDocread declared
readGoogleDocPaginatedread declared
listDocumentTabsread declared
applyTextStylewrite assumed
applyParagraphStylewrite assumed
formatGoogleDocTextwrite assumed
formatGoogleDocParagraphwrite assumed
createParagraphBulletswrite inferred
findAndReplaceInDocread inferred
listCommentsread declared
getCommentread declared
addCommentwrite inferred
replyToCommentwrite inferred
deleteCommentdelete inferred
getGoogleDocContentread declared
getGoogleDocContentPaginatedread declared
getGoogleDocImageread declared
insertTablewrite inferred
editTableCellwrite inferred
styleDocTablewrite assumed
insertImageFromUrlwrite inferred
insertLocalImagewrite inferred
listGoogleDocsread declared
getDocumentInforead declared
getGoogleDocStyleSummaryread declared
describeGoogleDocRangeread declared
addDocumentTabwrite inferred
renameDocumentTabwrite inferred
insertSmartChipwrite inferred
readSmartChipsread declared
createFootnotewrite inferred
createGoogleSheetwrite inferred
updateGoogleSheetwrite inferred
batchUpdateGoogleSheetValueswrite inferred
updateGoogleSheetIfUnchangedwrite inferred
getGoogleSheetContentread declared
getGoogleSheetCellsread declared
formatGoogleSheetCellswrite assumed
formatGoogleSheetTextwrite assumed
formatGoogleSheetNumberswrite assumed
setGoogleSheetBorderswrite inferred
mergeGoogleSheetCellswrite inferred
addGoogleSheetConditionalFormatwrite inferred
getSpreadsheetInforead declared
appendSpreadsheetRowswrite assumed
addSpreadsheetSheetwrite inferred
addSheetwrite inferred
listSheetsread declared
renameSheetwrite inferred
deleteSheetdelete inferred
addDataValidationwrite inferred
protectRangewrite assumed
addNamedRangewrite inferred
addDimensionGroupwrite inferred
deleteDimensionGroupdelete inferred
updateDimensionGroupwrite inferred
listDimensionGroupsread declared
listGoogleSheetsread declared
setColumnWidthwrite inferred
setRowHeightwrite inferred
autoResizeColumnswrite assumed
autoResizeRowswrite assumed
hideSheetDimensionwrite inferred
showSheetDimensionread inferred
createGoogleSlideswrite inferred
updateGoogleSlideswrite inferred
getGoogleSlidesContentread declared
formatGoogleSlidesTextwrite assumed
formatGoogleSlidesParagraphwrite assumed
styleGoogleSlidesShapewrite assumed
setGoogleSlidesBackgroundwrite inferred
createGoogleSlidesTextBoxwrite inferred
createGoogleSlidesShapewrite inferred
getGoogleSlidesSpeakerNotesread declared
updateGoogleSlidesSpeakerNoteswrite inferred
deleteGoogleSlidedelete inferred
duplicateSlidewrite assumed
reorderSlideswrite assumed
replaceAllTextInSlideswrite assumed
exportSlideThumbnailread declared
insertSlidesImageFromUrlwrite inferred
getSlideElementInforead declared
moveSlideElementwrite inferred
deleteSlideElementdelete inferred
insertSlidesLocalImagewrite inferred
setSlideVisibilitywrite inferred
replaceSlideImagewrite assumed
setElementZOrderwrite inferred
setElementTextwrite inferred
listCalendarsread declared
getCalendarEventsread declared
getCalendarEventread declared
createCalendarEventwrite inferred
updateCalendarEventwrite inferred
deleteCalendarEventdelete inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.