gogcli-mcp-drive 2.4.1 → 2.6.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 +15 -3
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/drive-extra.ts +10 -3
- package/tests/tools/drive-extra.test.ts +11 -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.6.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.6.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.6.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
|
@@ -31105,6 +31105,11 @@ var paginationParams = {
|
|
|
31105
31105
|
page: external_exports.string().optional().describe("Page token"),
|
|
31106
31106
|
all: external_exports.boolean().optional().describe("Fetch all pages")
|
|
31107
31107
|
};
|
|
31108
|
+
function pushPaginationFlags(args, p) {
|
|
31109
|
+
if (p.max !== void 0) args.push(`--max=${p.max}`);
|
|
31110
|
+
if (p.page) args.push(`--page=${p.page}`);
|
|
31111
|
+
if (p.all) args.push("--all");
|
|
31112
|
+
}
|
|
31108
31113
|
function registerRunTool(server2, options) {
|
|
31109
31114
|
const { service, examples, omitAccount = false, note } = options;
|
|
31110
31115
|
const baseDescription = `Run any gog ${service} subcommand not covered by the other tools. Run \`gog ${service} --help\` for the full list of subcommands, or \`gog ${service} <subcommand> --help\` for flags on a specific subcommand.`;
|
|
@@ -31351,7 +31356,7 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
|
|
|
31351
31356
|
);
|
|
31352
31357
|
|
|
31353
31358
|
// ../gogcli-mcp/src/server.ts
|
|
31354
|
-
var VERSION = true ? "2.
|
|
31359
|
+
var VERSION = true ? "2.6.0" : "0.0.0";
|
|
31355
31360
|
function createServer(options) {
|
|
31356
31361
|
return new McpServer({
|
|
31357
31362
|
name: options?.name ?? "gogcli",
|
|
@@ -31473,10 +31478,17 @@ function registerExtraDriveTools(server2) {
|
|
|
31473
31478
|
annotations: { readOnlyHint: true },
|
|
31474
31479
|
inputSchema: {
|
|
31475
31480
|
fileId: external_exports.string().describe("File ID"),
|
|
31481
|
+
since: external_exports.string().optional().describe("Only return comments modified at or after this RFC3339 timestamp (e.g. 2026-06-01T00:00:00Z)"),
|
|
31482
|
+
includeQuoted: external_exports.boolean().optional().describe("Include the quoted content each comment is anchored to"),
|
|
31483
|
+
...paginationParams,
|
|
31476
31484
|
account: accountParam
|
|
31477
31485
|
}
|
|
31478
|
-
}, async ({ fileId, account }) => {
|
|
31479
|
-
|
|
31486
|
+
}, async ({ fileId, since, includeQuoted, max, page, all, account }) => {
|
|
31487
|
+
const args = ["drive", "comments", "list", fileId];
|
|
31488
|
+
if (since) args.push(`--since=${since}`);
|
|
31489
|
+
if (includeQuoted) args.push("--include-quoted");
|
|
31490
|
+
pushPaginationFlags(args, { max, page, all });
|
|
31491
|
+
return runOrDiagnose(args, { account });
|
|
31480
31492
|
});
|
|
31481
31493
|
server2.registerTool("gog_drive_comments_get", {
|
|
31482
31494
|
description: "Get a single comment on a Drive file by ID.",
|
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.6.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",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-drive",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.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.6.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-drive",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.6.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/tools/drive-extra.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { accountParam, runOrDiagnose } from '../../../gogcli-mcp/src/lib.js';
|
|
3
|
+
import { accountParam, runOrDiagnose, paginationParams, pushPaginationFlags } from '../../../gogcli-mcp/src/lib.js';
|
|
4
4
|
|
|
5
5
|
export function registerExtraDriveTools(server: McpServer): void {
|
|
6
6
|
server.registerTool('gog_drive_download', {
|
|
@@ -122,10 +122,17 @@ export function registerExtraDriveTools(server: McpServer): void {
|
|
|
122
122
|
annotations: { readOnlyHint: true },
|
|
123
123
|
inputSchema: {
|
|
124
124
|
fileId: z.string().describe('File ID'),
|
|
125
|
+
since: z.string().optional().describe('Only return comments modified at or after this RFC3339 timestamp (e.g. 2026-06-01T00:00:00Z)'),
|
|
126
|
+
includeQuoted: z.boolean().optional().describe('Include the quoted content each comment is anchored to'),
|
|
127
|
+
...paginationParams,
|
|
125
128
|
account: accountParam,
|
|
126
129
|
},
|
|
127
|
-
}, async ({ fileId, account }) => {
|
|
128
|
-
|
|
130
|
+
}, async ({ fileId, since, includeQuoted, max, page, all, account }) => {
|
|
131
|
+
const args = ['drive', 'comments', 'list', fileId];
|
|
132
|
+
if (since) args.push(`--since=${since}`);
|
|
133
|
+
if (includeQuoted) args.push('--include-quoted');
|
|
134
|
+
pushPaginationFlags(args, { max, page, all });
|
|
135
|
+
return runOrDiagnose(args, { account });
|
|
129
136
|
});
|
|
130
137
|
|
|
131
138
|
server.registerTool('gog_drive_comments_get', {
|
|
@@ -152,6 +152,17 @@ describe('gog_drive_comments_list', () => {
|
|
|
152
152
|
{ account: undefined },
|
|
153
153
|
);
|
|
154
154
|
});
|
|
155
|
+
|
|
156
|
+
// gog 0.22.0 adds --since; --include-quoted and pagination were already supported by gog.
|
|
157
|
+
it('includes --since, --include-quoted and pagination flags when set', async () => {
|
|
158
|
+
await handlers.get('gog_drive_comments_list')!({
|
|
159
|
+
fileId: 'f1', since: '2026-06-01T00:00:00Z', includeQuoted: true, max: 5, page: 'tok', all: true,
|
|
160
|
+
});
|
|
161
|
+
expect(lib.runOrDiagnose).toHaveBeenCalledWith(
|
|
162
|
+
['drive', 'comments', 'list', 'f1', '--since=2026-06-01T00:00:00Z', '--include-quoted', '--max=5', '--page=tok', '--all'],
|
|
163
|
+
{ account: undefined },
|
|
164
|
+
);
|
|
165
|
+
});
|
|
155
166
|
});
|
|
156
167
|
|
|
157
168
|
describe('gog_drive_comments_get', () => {
|