@piotr-agier/google-drive-mcp 1.7.1 → 1.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -145,7 +145,7 @@ npx @piotr-agier/google-drive-mcp auth
145
145
  ```bash
146
146
  # Copy the example file
147
147
  cp gcp-oauth.keys.example.json gcp-oauth.keys.json
148
-
148
+
149
149
  # Edit gcp-oauth.keys.json with your OAuth client ID
150
150
  ```
151
151
 
@@ -153,7 +153,7 @@ npx @piotr-agier/google-drive-mcp auth
153
153
  ```bash
154
154
  npm run auth
155
155
  ```
156
-
156
+
157
157
  Note: Authentication happens automatically on first run of an MCP client if you skip this step.
158
158
 
159
159
  ## Docker Usage
@@ -164,7 +164,7 @@ npx @piotr-agier/google-drive-mcp auth
164
164
  ```bash
165
165
  # Using npx
166
166
  npx @piotr-agier/google-drive-mcp auth
167
-
167
+
168
168
  # Or using local installation
169
169
  npm run auth
170
170
  ```
@@ -322,9 +322,10 @@ Add the server to your Claude Desktop configuration:
322
322
 
323
323
  ### Search and Navigation
324
324
  - **search** - Search for files across Google Drive
325
- - `query`: Search terms
325
+ - `query`: Search terms (or raw Drive API query when `rawQuery=true`)
326
326
  - `pageSize`: Number of results per page (optional, default 50, max 100)
327
327
  - `pageToken`: Pagination token for next page (optional)
328
+ - `rawQuery`: Pass `query` directly to the Drive API — enables operators like `modifiedTime`, `createdTime`, `mimeType`, `name contains`, etc. (optional)
328
329
 
329
330
  - **listFolder** - List contents of a folder
330
331
  - `folderId`: Folder ID (optional, defaults to root)
@@ -410,6 +411,11 @@ Add the server to your Claude Desktop configuration:
410
411
  - `name`: File name in Drive (optional, defaults to local filename)
411
412
  - `parentFolderId`: Parent folder ID or path (optional, e.g., '/Work/Projects')
412
413
  - `mimeType`: MIME type (optional, auto-detected from extension)
414
+ - `convertToGoogleFormat`: Convert uploaded file to native Google Workspace format (optional, default: false). When enabled, Office files are automatically converted:
415
+ - `.docx` / `.doc` → Google Doc
416
+ - `.xlsx` / `.xls` → Google Sheet
417
+ - `.pptx` / `.ppt` → Google Slides
418
+ - File extension is stripped from the name automatically (e.g., `report.docx` becomes `report`)
413
419
 
414
420
  - **downloadFile** - Download a Google Drive file to a local path
415
421
  - `fileId`: Google Drive file ID
@@ -529,6 +535,15 @@ Add the server to your Claude Desktop configuration:
529
535
  - **formatGoogleDocParagraph** - Alias for `applyParagraphStyle` (compatibility helper)
530
536
  - Same parameters as `applyParagraphStyle`
531
537
 
538
+ #### Bullet Points and Lists
539
+ - **createParagraphBullets** - Add or remove bullet points / numbered lists on paragraphs
540
+ - `documentId`: Document ID
541
+ - Target (use one): `startIndex`+`endIndex` OR `textToFind`+`matchInstance`
542
+ - `bulletPreset`: Bullet style preset (optional, default: `BULLET_DISC_CIRCLE_SQUARE`). Available presets:
543
+ - **Bullet styles**: `BULLET_DISC_CIRCLE_SQUARE`, `BULLET_DIAMONDX_ARROW3D_SQUARE`, `BULLET_CHECKBOX`, `BULLET_ARROW_DIAMOND_DISC`, `BULLET_STAR_CIRCLE_SQUARE`, `BULLET_ARROW3D_CIRCLE_SQUARE`, `BULLET_LEFTTRIANGLE_DIAMOND_DISC`
544
+ - **Numbered styles**: `NUMBERED_DECIMAL_ALPHA_ROMAN`, `NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS`, `NUMBERED_DECIMAL_NESTED`, `NUMBERED_UPPERALPHA_ALPHA_ROMAN`, `NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL`, `NUMBERED_ZERODECIMAL_ALPHA_ROMAN`
545
+ - **Remove bullets**: `NONE` — removes existing bullets/numbering from the targeted paragraphs
546
+
532
547
  - **findAndReplaceInDoc** - Find and replace text across a Google Doc
533
548
  - `documentId`: Document ID
534
549
  - `findText`: Text to find
@@ -565,11 +580,12 @@ Add the server to your Claude Desktop configuration:
565
580
  - `uploadToSameFolder`: Upload to same folder as document (optional, default: true)
566
581
 
567
582
  #### Comments
568
- - **listComments** - List all comments in a Google Document
583
+ - **listComments** - List all comments in a Google Document with position context, character offsets, and full reply chains
569
584
  - `documentId`: Document ID
570
585
  - `includeDeleted`: Include deleted comments (optional, default: false)
571
586
  - `pageSize`: Max comments to return, 1-100 (optional, default: 100)
572
587
  - `pageToken`: Token for next page of results (optional)
588
+ - Returns surrounding context and Docs API character offsets for each comment using a two-tiered approach (Docs API text matching, DOCX export fallback for ambiguous matches)
573
589
 
574
590
  - **getComment** - Get a specific comment with its full thread of replies
575
591
  - `documentId`: Document ID
@@ -585,6 +601,7 @@ Add the server to your Claude Desktop configuration:
585
601
  - `documentId`: Document ID
586
602
  - `commentId`: Comment ID to reply to
587
603
  - `replyText`: The reply content
604
+ - `resolve`: Set to `true` to resolve the comment thread after replying (optional, default: false)
588
605
 
589
606
  - **deleteComment** - Delete a comment from the document
590
607
  - `documentId`: Document ID
@@ -978,7 +995,7 @@ npx @piotr-agier/google-drive-mcp auth
978
995
 
979
996
  **Solution:**
980
997
  1. Go to [Google Account Permissions](https://myaccount.google.com/permissions)
981
- 2. Find and remove access for "Google Drive MCP"
998
+ 2. Find and remove access for "Google Drive MCP"
982
999
  3. Clear local tokens: `rm ~/.config/google-drive-mcp/tokens.json`
983
1000
  4. Re-authenticate to grant all required scopes
984
1001
  5. Verify the consent screen shows ALL scopes including full Drive access
@@ -1127,7 +1144,7 @@ npm run typecheck # Type checking without compilation
1127
1144
  - `npm run typecheck` - Run TypeScript type checking only
1128
1145
  - `npm run lint` - Run TypeScript type checking (alias for typecheck)
1129
1146
  - `npm run prepare` - Auto-runs build before npm publish
1130
- - `npm test` - Run tests (placeholder - no tests implemented yet)
1147
+ - `npm test` - Run unit tests
1131
1148
 
1132
1149
  ## Advanced Configuration
1133
1150