gogcli-mcp-drive 2.7.1 → 2.8.0
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/dist/index.js +14 -1
- package/manifest.json +5 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/drive-extra.ts +14 -0
- package/tests/tools/drive-extra.test.ts +19 -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.8.0"
|
|
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.8.0",
|
|
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.8.0",
|
|
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/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.8.0" : "0.0.0";
|
|
31360
31360
|
function createServer(options) {
|
|
31361
31361
|
return new McpServer({
|
|
31362
31362
|
name: options?.name ?? "gogcli",
|
|
@@ -31667,6 +31667,19 @@ function registerExtraDriveTools(server2) {
|
|
|
31667
31667
|
}, async ({ fileId, revisionId, account }) => {
|
|
31668
31668
|
return runOrDiagnose(["drive", "revisions", "get", fileId, revisionId], { account });
|
|
31669
31669
|
});
|
|
31670
|
+
server2.registerTool("gog_drive_shortcut_create", {
|
|
31671
|
+
description: "Create a Drive shortcut to a file or folder inside a destination folder. Shortcuts are classified distinctly in listing/tree output and are never followed by tree scans.",
|
|
31672
|
+
inputSchema: {
|
|
31673
|
+
targetId: external_exports.string().describe("File or folder ID the shortcut points to"),
|
|
31674
|
+
parent: external_exports.string().describe("Destination folder ID for the shortcut"),
|
|
31675
|
+
name: external_exports.string().optional().describe("Shortcut name (default: the target's name)"),
|
|
31676
|
+
account: accountParam
|
|
31677
|
+
}
|
|
31678
|
+
}, async ({ targetId, parent, name, account }) => {
|
|
31679
|
+
const args = ["drive", "shortcut", "create", targetId, `--parent=${parent}`];
|
|
31680
|
+
if (name) args.push(`--name=${name}`);
|
|
31681
|
+
return runOrDiagnose(args, { account });
|
|
31682
|
+
});
|
|
31670
31683
|
server2.registerTool("gog_drive_labels_list", {
|
|
31671
31684
|
description: "List Drive label schemas available to the account.",
|
|
31672
31685
|
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.8.0",
|
|
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",
|
|
@@ -197,6 +197,10 @@
|
|
|
197
197
|
"name": "gog_drive_revisions_get",
|
|
198
198
|
"description": "Get one revision of a file by revision ID"
|
|
199
199
|
},
|
|
200
|
+
{
|
|
201
|
+
"name": "gog_drive_shortcut_create",
|
|
202
|
+
"description": "Create a Drive shortcut to a file or folder in a destination folder"
|
|
203
|
+
},
|
|
200
204
|
{
|
|
201
205
|
"name": "gog_drive_labels_list",
|
|
202
206
|
"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.8.0",
|
|
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.8.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-drive",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.8.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/tools/drive-extra.ts
CHANGED
|
@@ -327,6 +327,20 @@ export function registerExtraDriveTools(server: McpServer): void {
|
|
|
327
327
|
return runOrDiagnose(['drive', 'revisions', 'get', fileId, revisionId], { account });
|
|
328
328
|
});
|
|
329
329
|
|
|
330
|
+
server.registerTool('gog_drive_shortcut_create', {
|
|
331
|
+
description: 'Create a Drive shortcut to a file or folder inside a destination folder. Shortcuts are classified distinctly in listing/tree output and are never followed by tree scans.',
|
|
332
|
+
inputSchema: {
|
|
333
|
+
targetId: z.string().describe('File or folder ID the shortcut points to'),
|
|
334
|
+
parent: z.string().describe('Destination folder ID for the shortcut'),
|
|
335
|
+
name: z.string().optional().describe('Shortcut name (default: the target\'s name)'),
|
|
336
|
+
account: accountParam,
|
|
337
|
+
},
|
|
338
|
+
}, async ({ targetId, parent, name, account }) => {
|
|
339
|
+
const args = ['drive', 'shortcut', 'create', targetId, `--parent=${parent}`];
|
|
340
|
+
if (name) args.push(`--name=${name}`);
|
|
341
|
+
return runOrDiagnose(args, { account });
|
|
342
|
+
});
|
|
343
|
+
|
|
330
344
|
server.registerTool('gog_drive_labels_list', {
|
|
331
345
|
description: 'List Drive label schemas available to the account.',
|
|
332
346
|
annotations: { readOnlyHint: true },
|
|
@@ -598,3 +598,22 @@ describe('gog_drive_revisions_get', () => {
|
|
|
598
598
|
);
|
|
599
599
|
});
|
|
600
600
|
});
|
|
601
|
+
|
|
602
|
+
// gog 0.25.0
|
|
603
|
+
describe('gog_drive_shortcut_create', () => {
|
|
604
|
+
it('creates a shortcut to a target in a folder', async () => {
|
|
605
|
+
await handlers.get('gog_drive_shortcut_create')!({ targetId: 'f1', parent: 'folder9' });
|
|
606
|
+
expect(lib.runOrDiagnose).toHaveBeenCalledWith(
|
|
607
|
+
['drive', 'shortcut', 'create', 'f1', '--parent=folder9'],
|
|
608
|
+
{ account: undefined },
|
|
609
|
+
);
|
|
610
|
+
});
|
|
611
|
+
|
|
612
|
+
it('passes an explicit shortcut name', async () => {
|
|
613
|
+
await handlers.get('gog_drive_shortcut_create')!({ targetId: 'f1', parent: 'folder9', name: 'My Link', account: 'a@b.com' });
|
|
614
|
+
expect(lib.runOrDiagnose).toHaveBeenCalledWith(
|
|
615
|
+
['drive', 'shortcut', 'create', 'f1', '--parent=folder9', '--name=My Link'],
|
|
616
|
+
{ account: 'a@b.com' },
|
|
617
|
+
);
|
|
618
|
+
});
|
|
619
|
+
});
|