gogcli-mcp-drive 2.23.2 → 2.24.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 +33 -26
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -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.24.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.24.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.24.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
|
@@ -31743,6 +31743,7 @@ function formatAuthHealth(raw, now) {
|
|
|
31743
31743
|
// ../gogcli-mcp/src/tools/auth.ts
|
|
31744
31744
|
function registerAuthToolsWith(server, defaultServices) {
|
|
31745
31745
|
const servicesDescribe = `Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "${defaultServices}". Prefer the narrowest set you need \u2014 requesting a service whose Google API is not enabled on the OAuth client's project makes Google reject the WHOLE request with invalid_scope.`;
|
|
31746
|
+
const extraScopesDescribe = "Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers \u2014 e.g. https://www.googleapis.com/auth/bigquery.readonly, required before gog_sheets_datasource_* can read BigQuery-backed Connected Sheets. Leave unset otherwise: an extra scope whose API is not enabled on the OAuth client project makes Google reject the WHOLE authorization with invalid_scope.";
|
|
31746
31747
|
server.registerTool("gog_auth_list", {
|
|
31747
31748
|
description: "List the Google accounts stored in gogcli, with their scopes. This reads local configuration only \u2014 it does not contact Google and does NOT tell you whether an account still works: a signed-out account whose refresh token expired or was revoked is listed here exactly like a healthy one, scopes and all. Use gog_auth_health to check whether an account can actually authenticate.",
|
|
31748
31749
|
annotations: { readOnlyHint: true },
|
|
@@ -31792,11 +31793,14 @@ function registerAuthToolsWith(server, defaultServices) {
|
|
|
31792
31793
|
annotations: { destructiveHint: true },
|
|
31793
31794
|
inputSchema: {
|
|
31794
31795
|
email: external_exports.string().describe("Google account email to authorize"),
|
|
31795
|
-
services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe)
|
|
31796
|
+
services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe),
|
|
31797
|
+
extraScopes: external_exports.string().optional().describe(extraScopesDescribe)
|
|
31796
31798
|
}
|
|
31797
|
-
}, async ({ email: email3, services = defaultServices }) => {
|
|
31799
|
+
}, async ({ email: email3, services = defaultServices, extraScopes }) => {
|
|
31798
31800
|
try {
|
|
31799
|
-
|
|
31801
|
+
const args = ["auth", "add", email3, "--services", services];
|
|
31802
|
+
if (extraScopes) args.push(`--extra-scopes=${extraScopes}`, "--force-consent");
|
|
31803
|
+
return rawTextResult(await run(args, {
|
|
31800
31804
|
interactive: true,
|
|
31801
31805
|
timeout: 3e5
|
|
31802
31806
|
}));
|
|
@@ -31808,14 +31812,14 @@ function registerAuthToolsWith(server, defaultServices) {
|
|
|
31808
31812
|
description: "Begin REMOTE/headless Google authorization (step 1 of 2). Returns a sign-in URL to open in any browser \u2014 no local server or terminal on the gogcli host is needed, so this works over the hosted connector where the interactive gog_auth_add cannot. Hand the URL to the user; after they sign in, the browser is redirected to a localhost URL that fails to load \u2014 that is expected. They copy that full redirected URL (from the address bar) and you pass it to gog_auth_add_complete. The link is valid for 10 minutes. If you pass a custom `services` here, pass the SAME value to gog_auth_add_complete or the second step will not match this one.",
|
|
31809
31813
|
inputSchema: {
|
|
31810
31814
|
email: external_exports.string().describe("Google account email to authorize"),
|
|
31811
|
-
services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe)
|
|
31815
|
+
services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe),
|
|
31816
|
+
extraScopes: external_exports.string().optional().describe(`${extraScopesDescribe} Pass the SAME value to gog_auth_add_complete.`)
|
|
31812
31817
|
}
|
|
31813
|
-
}, async ({ email: email3, services = defaultServices }) => {
|
|
31818
|
+
}, async ({ email: email3, services = defaultServices, extraScopes }) => {
|
|
31814
31819
|
try {
|
|
31815
|
-
|
|
31816
|
-
|
|
31817
|
-
|
|
31818
|
-
));
|
|
31820
|
+
const args = ["auth", "add", email3, "--remote", "--step", "1", "--services", services, "--force-consent"];
|
|
31821
|
+
if (extraScopes) args.push(`--extra-scopes=${extraScopes}`);
|
|
31822
|
+
return rawTextResult(await run(args, { redactMode: "tokens" }));
|
|
31819
31823
|
} catch (err) {
|
|
31820
31824
|
return errorResult(errorText(err));
|
|
31821
31825
|
}
|
|
@@ -31830,25 +31834,28 @@ function registerAuthToolsWith(server, defaultServices) {
|
|
|
31830
31834
|
),
|
|
31831
31835
|
services: external_exports.string().optional().default(defaultServices).describe(
|
|
31832
31836
|
`Services authorized \u2014 MUST match the value passed to gog_auth_add_url. Default: "${defaultServices}".`
|
|
31837
|
+
),
|
|
31838
|
+
extraScopes: external_exports.string().optional().describe(
|
|
31839
|
+
"Extra OAuth scope URIs \u2014 MUST match the value passed to gog_auth_add_url, for the same reason `services` must: the two steps have to describe the same grant."
|
|
31833
31840
|
)
|
|
31834
31841
|
}
|
|
31835
|
-
}, async ({ email: email3, redirectUrl, services = defaultServices }) => {
|
|
31842
|
+
}, async ({ email: email3, redirectUrl, services = defaultServices, extraScopes }) => {
|
|
31836
31843
|
try {
|
|
31837
|
-
|
|
31838
|
-
|
|
31839
|
-
|
|
31840
|
-
|
|
31841
|
-
|
|
31842
|
-
|
|
31843
|
-
|
|
31844
|
-
|
|
31845
|
-
|
|
31846
|
-
|
|
31847
|
-
|
|
31848
|
-
|
|
31849
|
-
|
|
31850
|
-
|
|
31851
|
-
));
|
|
31844
|
+
const args = [
|
|
31845
|
+
"auth",
|
|
31846
|
+
"add",
|
|
31847
|
+
email3,
|
|
31848
|
+
"--remote",
|
|
31849
|
+
"--step",
|
|
31850
|
+
"2",
|
|
31851
|
+
"--auth-url",
|
|
31852
|
+
redirectUrl,
|
|
31853
|
+
"--services",
|
|
31854
|
+
services,
|
|
31855
|
+
"--force-consent"
|
|
31856
|
+
];
|
|
31857
|
+
if (extraScopes) args.push(`--extra-scopes=${extraScopes}`);
|
|
31858
|
+
return rawTextResult(await run(args));
|
|
31852
31859
|
} catch (err) {
|
|
31853
31860
|
return errorResult(errorText(err));
|
|
31854
31861
|
}
|
|
@@ -32089,7 +32096,7 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
|
|
|
32089
32096
|
);
|
|
32090
32097
|
|
|
32091
32098
|
// ../gogcli-mcp/src/server.ts
|
|
32092
|
-
var VERSION = true ? "2.
|
|
32099
|
+
var VERSION = true ? "2.24.0" : "0.0.0";
|
|
32093
32100
|
|
|
32094
32101
|
// ../gogcli-mcp/src/auth-log.ts
|
|
32095
32102
|
var FAILURES = /* @__PURE__ */ new Set([
|
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.24.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.24.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.24.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-drive",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.24.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|