@piotr-agier/google-drive-mcp

MCPattested
v2.12.0io.github.piotr-agierMITUpdated 17d agonpmGitHub

Secure access to Google Drive, Docs, Sheets, Slides, and Calendar through MCP.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
9kDownloads/wk
214GitHub stars
110Forks
17d agoLast update
Needs 1 credential before it runs
  • GOOGLE_DRIVE_OAUTH_CREDENTIALSOAuth apprequired

    Path to a Google OAuth 2.0 Desktop app credentials JSON file.

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
Authorio.github.piotr-agier
LicenseMIT
Version2.12.0
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 7804ada
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · none privileged
Security scan✓ Cleanv2.12.0 · todayHow well does this scan work?
EvalsNone
IndexedAug 26, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · none privileged
Statically extracted from the published packagev2.12.0 · 6h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

searchSearch 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, mimeType, name contains, etc.

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, mimeType, name contains, etc.

No input schema was published for this tool.

createTextFileCreate a new text or markdown file

Create a new text or markdown file

No input schema was published for this tool.

updateTextFileUpdate an existing text or markdown file

Update an existing text or markdown file

No input schema was published for this tool.

readTextFileRead content of a text file (any text/* MIME type, e.g. text/plain, text/markdown, text/csv). For Google Docs, use readGoogleDoc.

Read content of a text file (any text/* MIME type, e.g. text/plain, text/markdown, text/csv). For Google Docs, use readGoogleDoc.

No input schema was published for this tool.

createFolderCreate a new folder in Google Drive

Create a new folder in Google Drive

No input schema was published for this tool.

listFolderList contents of a folder (defaults to root)

List contents of a folder (defaults to root)

No input schema was published for this tool.

listSharedDrivesList available Google Shared Drives

List available Google Shared Drives

No input schema was published for this tool.

deleteItemMove a file or folder to trash (can be restored from Google Drive trash)

Move a file or folder to trash (can be restored from Google Drive trash)

No input schema was published for this tool.

renameItemRename a file or folder

Rename a file or folder

No input schema was published for this tool.

moveItemMove a file or folder

Move a file or folder

No input schema was published for this tool.

copyFileCreates a copy of a Google Drive file or document

Creates a copy of a Google Drive file or document

No input schema was published for this tool.

uploadFileUpload 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-place update) instead of creating a new file.

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-place update) instead of creating a new file.

No input schema was published for this tool.

downloadFileDownload 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.

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.

No input schema was published for this tool.

listPermissionsList sharing permissions for a file

List sharing permissions for a file

No input schema was published for this tool.

addPermissionAdd 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 'reader' for an existing 'writer' leaves them as 'reader'). Provide…

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 'reader' for an existing 'writer' leaves them as 'reader'). Provide…

No input schema was published for this tool.

updatePermissionUpdate an existing permission role

Update an existing permission role

No input schema was published for this tool.

removePermissionRemove a permission from a file (by permissionId or emailAddress)

Remove a permission from a file (by permissionId or emailAddress)

No input schema was published for this tool.

shareFileConvenience 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.

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.

No input schema was published for this tool.

convertPdfToGoogleDocConvert an existing PDF in Drive into an editable Google Doc

Convert an existing PDF in Drive into an editable Google Doc

No input schema was published for this tool.

bulkConvertFolderPdfsConvert all PDFs in a folder into Google Docs and return per-file results

Convert all PDFs in a folder into Google Docs and return per-file results

No input schema was published for this tool.

uploadPdfWithSplitUpload PDF and optionally split into chunked parts (metadata split plan for now)

Upload PDF and optionally split into chunked parts (metadata split plan for now)

No input schema was published for this tool.

getRevisionsList revisions for a file

List revisions for a file

No input schema was published for this tool.

restoreRevisionRestore 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.

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.

No input schema was published for this tool.

manage_accountsManage 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='set_default' picks which account is used when tool calls omit…

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='set_default' picks which account is used when tool calls omit…

No input schema was published for this tool.

authGetStatusShow authentication/token status and scope diagnostics

Show authentication/token status and scope diagnostics

No input schema was published for this tool.

authListScopesList configured/requested scopes and currently granted scopes

List configured/requested scopes and currently granted scopes

No input schema was published for this tool.

authTestFileAccessRun auth diagnostics against Drive API/file access

Run auth diagnostics against Drive API/file access

No input schema was published for this tool.

createShortcutCreate a shortcut (link) to a file or folder in Google Drive. Useful for referencing the same document from multiple locations without duplicating it.

Create a shortcut (link) to a file or folder in Google Drive. Useful for referencing the same document from multiple locations without duplicating it.

No input schema was published for this tool.

lockFileLock a file to prevent editing by setting content restrictions. The file remains readable but cannot be modified until unlocked.

Lock a file to prevent editing by setting content restrictions. The file remains readable but cannot be modified until unlocked.

No input schema was published for this tool.

unlockFileUnlock a previously locked file by removing content restrictions, restoring full edit access.

Unlock a previously locked file by removing content restrictions, restoring full edit access.

No input schema was published for this tool.

createGoogleDocCreate a new Google Doc

Create a new Google Doc

No input schema was published for this tool.

createDocFromHTMLCreate 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. Useful when you want native heading/list/table styling applied…

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. Useful when you want native heading/list/table styling applied…

No input schema was published for this tool.

updateGoogleDocUpdate 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 other tabs untouched.

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 other tabs untouched.

No input schema was published for this tool.

insertTextInsert 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-bas…

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-bas…

No input schema was published for this tool.

deleteRangeDelete 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 elements); text files use 0-based Unicode code point (character)…

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 elements); text files use 0-based Unicode code point (character)…

No input schema was published for this tool.

readGoogleDocRead 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.

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.

No input schema was published for this tool.

readGoogleDocPaginatedRead a portion of a Google Doc with pagination support. Use offset and limit to read large documents in chunks, avoiding output size limits.

Read a portion of a Google Doc with pagination support. Use offset and limit to read large documents in chunks, avoiding output size limits.

No input schema was published for this tool.

listDocumentTabsList all tabs in a Google Doc with their IDs and hierarchy

List all tabs in a Google Doc with their IDs and hierarchy

No input schema was published for this tool.

applyTextStyleApply text formatting (bold, italic, color, etc.) to a range or found text. Use EITHER startIndex+endIndex OR textToFind for targeting.

Apply text formatting (bold, italic, color, etc.) to a range or found text. Use EITHER startIndex+endIndex OR textToFind for targeting.

No input schema was published for this tool.

applyParagraphStyleApply 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 update styles EVERY paragraph overlapping the range, so one call…

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 update styles EVERY paragraph overlapping the range, so one call…

No input schema was published for this tool.

40 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Secure access to Google Drive, Docs, Sheets, Slides, and Calendar through MCP.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-12 — observed resolution, not a publisher declaration.

60 packages resolved · 11 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

107 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+95 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.