gogcli-mcp-drive 2.6.1 → 2.7.1
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/LICENSE +21 -0
- package/dist/index.js +25 -1
- package/manifest.json +9 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/drive-extra.ts +26 -0
- package/tests/tools/drive-extra.test.ts +21 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Drive for Claude via gogcli — auth + full Drive support (upload, download, permissions, comments, shared drives)",
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.7.1"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Drive)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Drive for Claude via gogcli — auth + full Drive support (upload, download, permissions, comments, shared drives)",
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.7.1",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-drive",
|
|
3
3
|
"displayName": "gogcli (Drive)",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.1",
|
|
5
5
|
"description": "Extended Google Drive for Claude via gogcli — auth + full Drive support (upload, download, permissions, comments, shared drives)",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Chris Hall
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.js
CHANGED
|
@@ -31356,7 +31356,7 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
|
|
|
31356
31356
|
);
|
|
31357
31357
|
|
|
31358
31358
|
// ../gogcli-mcp/src/server.ts
|
|
31359
|
-
var VERSION = true ? "2.
|
|
31359
|
+
var VERSION = true ? "2.7.1" : "0.0.0";
|
|
31360
31360
|
function createServer(options) {
|
|
31361
31361
|
return new McpServer({
|
|
31362
31362
|
name: options?.name ?? "gogcli",
|
|
@@ -31643,6 +31643,30 @@ function registerExtraDriveTools(server2) {
|
|
|
31643
31643
|
if (drive) args.push(`--drive=${drive}`);
|
|
31644
31644
|
return runOrDiagnose(args, { account });
|
|
31645
31645
|
});
|
|
31646
|
+
server2.registerTool("gog_drive_revisions_list", {
|
|
31647
|
+
description: "List a file's revision history \u2014 paged revision metadata plus provider export links for each revision.",
|
|
31648
|
+
annotations: { readOnlyHint: true },
|
|
31649
|
+
inputSchema: {
|
|
31650
|
+
fileId: external_exports.string().describe("File ID"),
|
|
31651
|
+
...paginationParams,
|
|
31652
|
+
account: accountParam
|
|
31653
|
+
}
|
|
31654
|
+
}, async ({ fileId, max, page, all, account }) => {
|
|
31655
|
+
const args = ["drive", "revisions", "list", fileId];
|
|
31656
|
+
pushPaginationFlags(args, { max, page, all });
|
|
31657
|
+
return runOrDiagnose(args, { account });
|
|
31658
|
+
});
|
|
31659
|
+
server2.registerTool("gog_drive_revisions_get", {
|
|
31660
|
+
description: "Get one revision of a Drive file by revision ID (metadata + export links). Find revision IDs with gog_drive_revisions_list.",
|
|
31661
|
+
annotations: { readOnlyHint: true },
|
|
31662
|
+
inputSchema: {
|
|
31663
|
+
fileId: external_exports.string().describe("File ID"),
|
|
31664
|
+
revisionId: external_exports.string().describe("Revision ID"),
|
|
31665
|
+
account: accountParam
|
|
31666
|
+
}
|
|
31667
|
+
}, async ({ fileId, revisionId, account }) => {
|
|
31668
|
+
return runOrDiagnose(["drive", "revisions", "get", fileId, revisionId], { account });
|
|
31669
|
+
});
|
|
31646
31670
|
server2.registerTool("gog_drive_labels_list", {
|
|
31647
31671
|
description: "List Drive label schemas available to the account.",
|
|
31648
31672
|
annotations: { readOnlyHint: true },
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-drive",
|
|
5
5
|
"display_name": "gogcli (Drive)",
|
|
6
|
-
"version": "2.
|
|
6
|
+
"version": "2.7.1",
|
|
7
7
|
"description": "Extended Google Drive for Claude via gogcli — auth + full Drive support (upload, download, permissions, comments, shared drives)",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
|
@@ -189,6 +189,14 @@
|
|
|
189
189
|
"name": "gog_drive_changes_list",
|
|
190
190
|
"description": "List Drive changes since a page token"
|
|
191
191
|
},
|
|
192
|
+
{
|
|
193
|
+
"name": "gog_drive_revisions_list",
|
|
194
|
+
"description": "List a file's revision history with export links"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "gog_drive_revisions_get",
|
|
198
|
+
"description": "Get one revision of a file by revision ID"
|
|
199
|
+
},
|
|
192
200
|
{
|
|
193
201
|
"name": "gog_drive_labels_list",
|
|
194
202
|
"description": "List Drive label schemas"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-drive",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.1",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-drive",
|
|
5
5
|
"description": "Extended Google Drive MCP server via gogcli — auth + full Drive support (upload/download/permissions/comments/shared drives)",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp-drive"
|
|
9
9
|
},
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.7.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-drive",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.7.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/tools/drive-extra.ts
CHANGED
|
@@ -301,6 +301,32 @@ export function registerExtraDriveTools(server: McpServer): void {
|
|
|
301
301
|
return runOrDiagnose(args, { account });
|
|
302
302
|
});
|
|
303
303
|
|
|
304
|
+
server.registerTool('gog_drive_revisions_list', {
|
|
305
|
+
description: 'List a file\'s revision history — paged revision metadata plus provider export links for each revision.',
|
|
306
|
+
annotations: { readOnlyHint: true },
|
|
307
|
+
inputSchema: {
|
|
308
|
+
fileId: z.string().describe('File ID'),
|
|
309
|
+
...paginationParams,
|
|
310
|
+
account: accountParam,
|
|
311
|
+
},
|
|
312
|
+
}, async ({ fileId, max, page, all, account }) => {
|
|
313
|
+
const args = ['drive', 'revisions', 'list', fileId];
|
|
314
|
+
pushPaginationFlags(args, { max, page, all });
|
|
315
|
+
return runOrDiagnose(args, { account });
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
server.registerTool('gog_drive_revisions_get', {
|
|
319
|
+
description: 'Get one revision of a Drive file by revision ID (metadata + export links). Find revision IDs with gog_drive_revisions_list.',
|
|
320
|
+
annotations: { readOnlyHint: true },
|
|
321
|
+
inputSchema: {
|
|
322
|
+
fileId: z.string().describe('File ID'),
|
|
323
|
+
revisionId: z.string().describe('Revision ID'),
|
|
324
|
+
account: accountParam,
|
|
325
|
+
},
|
|
326
|
+
}, async ({ fileId, revisionId, account }) => {
|
|
327
|
+
return runOrDiagnose(['drive', 'revisions', 'get', fileId, revisionId], { account });
|
|
328
|
+
});
|
|
329
|
+
|
|
304
330
|
server.registerTool('gog_drive_labels_list', {
|
|
305
331
|
description: 'List Drive label schemas available to the account.',
|
|
306
332
|
annotations: { readOnlyHint: true },
|
|
@@ -577,3 +577,24 @@ describe('gog_drive_audit_user', () => {
|
|
|
577
577
|
);
|
|
578
578
|
});
|
|
579
579
|
});
|
|
580
|
+
|
|
581
|
+
// gog 0.24.0
|
|
582
|
+
describe('gog_drive_revisions_list', () => {
|
|
583
|
+
it('lists revisions with pagination', async () => {
|
|
584
|
+
await handlers.get('gog_drive_revisions_list')!({ fileId: 'f1', max: 10, page: 'tok', all: true });
|
|
585
|
+
expect(lib.runOrDiagnose).toHaveBeenCalledWith(
|
|
586
|
+
['drive', 'revisions', 'list', 'f1', '--max=10', '--page=tok', '--all'],
|
|
587
|
+
{ account: undefined },
|
|
588
|
+
);
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
|
|
592
|
+
describe('gog_drive_revisions_get', () => {
|
|
593
|
+
it('gets one revision', async () => {
|
|
594
|
+
await handlers.get('gog_drive_revisions_get')!({ fileId: 'f1', revisionId: 'r3', account: 'a@b.com' });
|
|
595
|
+
expect(lib.runOrDiagnose).toHaveBeenCalledWith(
|
|
596
|
+
['drive', 'revisions', 'get', 'f1', 'r3'],
|
|
597
|
+
{ account: 'a@b.com' },
|
|
598
|
+
);
|
|
599
|
+
});
|
|
600
|
+
});
|