@lengelhard/google-drive-mcp
v1.0.0
Published
MCP server for Google Drive, Docs, Sheets, and Slides
Maintainers
Readme
@lengelhard/google-drive-mcp
MCP server for Google Drive, Docs, Sheets, and Slides. Private fork of piotr-agier/google-drive-mcp (v1.7.4), cleaned and rebranded. Calendar tools disabled (covered by claude.ai's built-in Google Calendar connector).
Setup
Prerequisites
- Node.js 18+
- Google Cloud Project with Drive, Docs, Sheets, and Slides APIs enabled
- OAuth 2.0 Desktop credentials (
gcp-oauth.keys.json)
Install & Build
git clone https://github.com/lengelhard/google-drive-mcp.git
cd google-drive-mcp
npm install
npm run buildAuthenticate
node dist/index.js authTokens are saved to ~/.config/google-drive-mcp/tokens.json (0600 permissions).
Claude Desktop Config
{
"mcpServers": {
"google-drive": {
"command": "node",
"args": ["/Users/loicengelhard/google-drive-mcp/dist/index.js"],
"env": {
"GOOGLE_DRIVE_OAUTH_CREDENTIALS": "/Users/loicengelhard/.config/google-drive-mcp/gcp-oauth.keys.json"
}
}
}
}Scope Configuration
Default scopes: drive, drive.file, drive.readonly, documents, spreadsheets, presentations.
To narrow scopes:
export GOOGLE_DRIVE_MCP_SCOPES="drive.file,documents,spreadsheets,presentations"Changing scopes requires re-authentication.
Available Tools
Drive
search, listFolder, listSharedDrives, createTextFile, updateTextFile, deleteItem (trash only), renameItem, moveItem, copyFile, createFolder, uploadFile, downloadFile
Permissions
listPermissions, addPermission, updatePermission, removePermission, shareFile
Revisions & Auth Diagnostics
getRevisions, restoreRevision (requires confirm: true), authGetStatus, authListScopes, authTestFileAccess
convertPdfToGoogleDoc, bulkConvertFolderPdfs, uploadPdfWithSplit
Google Docs
createGoogleDoc, updateGoogleDoc, readGoogleDoc, getGoogleDocContent, listDocumentTabs, addDocumentTab, renameDocumentTab, insertSmartChip, readSmartChips, listGoogleDocs, getDocumentInfo, insertText, deleteRange, applyTextStyle, applyParagraphStyle, formatGoogleDocText, formatGoogleDocParagraph, createParagraphBullets, findAndReplaceInDoc, insertTable, editTableCell, insertImageFromUrl, insertLocalImage, listComments, getComment, addComment, replyToComment, deleteComment
Google Sheets
createGoogleSheet, updateGoogleSheet, getGoogleSheetContent, getSpreadsheetInfo, appendSpreadsheetRows, addSpreadsheetSheet / addSheet, listSheets, renameSheet, deleteSheet, addDataValidation, protectRange, addNamedRange, listGoogleSheets, formatGoogleSheetCells, formatGoogleSheetText, formatGoogleSheetNumbers, setGoogleSheetBorders, mergeGoogleSheetCells, addGoogleSheetConditionalFormat
Google Slides
createGoogleSlides, updateGoogleSlides, getGoogleSlidesContent, formatGoogleSlidesText, formatGoogleSlidesParagraph, styleGoogleSlidesShape, setGoogleSlidesBackground, createGoogleSlidesTextBox, createGoogleSlidesShape, getGoogleSlidesSpeakerNotes, updateGoogleSlidesSpeakerNotes, deleteGoogleSlide, duplicateSlide, reorderSlides, replaceAllTextInSlides, exportSlideThumbnail
Environment Variables
| Variable | Description | Default |
|---|---|---|
| GOOGLE_DRIVE_OAUTH_CREDENTIALS | Path to OAuth credentials JSON | ~/.config/google-drive-mcp/gcp-oauth.keys.json |
| GOOGLE_DRIVE_MCP_TOKEN_PATH | Custom token storage path | ~/.config/google-drive-mcp/tokens.json |
| GOOGLE_DRIVE_MCP_SCOPES | Comma-separated OAuth scope aliases | All scopes |
Notes
- Google OAuth apps in "Testing" status expire refresh tokens after 7 days. Publish the app or re-authenticate weekly.
resolvePath()auto-creates intermediate folders when navigating paths like/Work/Projects.USER_ENTEREDmode in Sheets tools evaluates formulas — only use with trusted data.
License
MIT — see LICENSE.
