gogcli-mcp-docs 4.2.2 → 4.2.4
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 +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/docs-extra.ts +12 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.4"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Docs)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
18
|
-
"version": "4.2.
|
|
18
|
+
"version": "4.2.4",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/dist/index.js
CHANGED
|
@@ -35453,6 +35453,7 @@ function registerDocsTools(server) {
|
|
|
35453
35453
|
});
|
|
35454
35454
|
server.registerTool("gog_docs_create", {
|
|
35455
35455
|
description: "Create a new Google Doc. Returns JSON with the new docId and URL.",
|
|
35456
|
+
annotations: { destructiveHint: true },
|
|
35456
35457
|
inputSchema: external_exports.object({
|
|
35457
35458
|
title: external_exports.string().describe("Title for the new document"),
|
|
35458
35459
|
account: accountParam
|
|
@@ -35558,7 +35559,7 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
|
|
|
35558
35559
|
);
|
|
35559
35560
|
|
|
35560
35561
|
// ../gogcli-mcp/src/server.ts
|
|
35561
|
-
var VERSION = true ? "4.2.
|
|
35562
|
+
var VERSION = true ? "4.2.4" : "0.0.0";
|
|
35562
35563
|
|
|
35563
35564
|
// ../gogcli-mcp/src/bootstrap-auth.ts
|
|
35564
35565
|
import { join as join2 } from "node:path";
|
|
@@ -35636,6 +35637,7 @@ var MAX_BLOB_UPLOAD_BYTES = 100 * 1024 * 1024;
|
|
|
35636
35637
|
function registerExtraDocsTools(server) {
|
|
35637
35638
|
server.registerTool("gog_docs_copy", {
|
|
35638
35639
|
description: "Copy a Google Doc to a new document with the given title.",
|
|
35640
|
+
annotations: { destructiveHint: true },
|
|
35639
35641
|
inputSchema: external_exports.object({
|
|
35640
35642
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
35641
35643
|
title: external_exports.string().describe("Title for the new copy"),
|
|
@@ -35992,6 +35994,7 @@ function registerExtraDocsTools(server) {
|
|
|
35992
35994
|
});
|
|
35993
35995
|
server.registerTool("gog_docs_comments_add", {
|
|
35994
35996
|
description: "Add a comment to a Google Doc. Optionally attach quoted text that appears as the highlighted passage in the Google Docs UI.",
|
|
35997
|
+
annotations: { destructiveHint: false },
|
|
35995
35998
|
inputSchema: external_exports.object({
|
|
35996
35999
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
35997
36000
|
content: external_exports.string().describe("Comment text"),
|
|
@@ -36005,6 +36008,7 @@ function registerExtraDocsTools(server) {
|
|
|
36005
36008
|
});
|
|
36006
36009
|
server.registerTool("gog_docs_comments_reply", {
|
|
36007
36010
|
description: "Reply to an existing comment on a Google Doc.",
|
|
36011
|
+
annotations: { destructiveHint: false },
|
|
36008
36012
|
inputSchema: external_exports.object({
|
|
36009
36013
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36010
36014
|
commentId: external_exports.string().describe("Comment ID to reply to"),
|
|
@@ -36096,6 +36100,7 @@ function registerExtraDocsTools(server) {
|
|
|
36096
36100
|
});
|
|
36097
36101
|
server.registerTool("gog_batch_begin", {
|
|
36098
36102
|
description: "Open a persisted, revision-locked request batch for a Google Doc. Subsequent docs mutation tools called with batch=<batchId> append their requests locally instead of applying them; gog_batch_end submits everything atomically. Returns the batchId.",
|
|
36103
|
+
annotations: { destructiveHint: false },
|
|
36099
36104
|
inputSchema: external_exports.object({
|
|
36100
36105
|
docId: external_exports.string().describe("Google Doc ID the batch is locked to"),
|
|
36101
36106
|
name: external_exports.string().optional().describe("Optional batch label"),
|
|
@@ -36188,6 +36193,7 @@ function registerExtraDocsTools(server) {
|
|
|
36188
36193
|
const tableSelectorParam = external_exports.string().optional().describe("Table selector: 1-based index (negative from the end), exact first-cell text, * for the only table, or text:VALUE for numeric/syntax-looking first-cell text (default: 1)");
|
|
36189
36194
|
server.registerTool("gog_docs_table_row_insert", {
|
|
36190
36195
|
description: 'Insert a row into a native Google Docs table, optionally populated from a JSON string array. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends \u2014 the default).',
|
|
36196
|
+
annotations: { destructiveHint: true },
|
|
36191
36197
|
inputSchema: external_exports.object({
|
|
36192
36198
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36193
36199
|
table: tableSelectorParam,
|
|
@@ -36222,6 +36228,7 @@ function registerExtraDocsTools(server) {
|
|
|
36222
36228
|
});
|
|
36223
36229
|
server.registerTool("gog_docs_table_column_insert", {
|
|
36224
36230
|
description: 'Insert a column into a native Google Docs table. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends \u2014 the default).',
|
|
36231
|
+
annotations: { destructiveHint: true },
|
|
36225
36232
|
inputSchema: external_exports.object({
|
|
36226
36233
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36227
36234
|
table: tableSelectorParam,
|
|
@@ -36270,6 +36277,7 @@ function registerExtraDocsTools(server) {
|
|
|
36270
36277
|
});
|
|
36271
36278
|
server.registerTool("gog_docs_table_unmerge", {
|
|
36272
36279
|
description: "Unmerge (split) the merged region containing a given cell in a native Google Docs table.",
|
|
36280
|
+
annotations: { destructiveHint: true },
|
|
36273
36281
|
inputSchema: external_exports.object({
|
|
36274
36282
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36275
36283
|
cell: external_exports.string().describe('1-based cell r,c inside the merged region (e.g. "1,1")'),
|
|
@@ -36285,6 +36293,7 @@ function registerExtraDocsTools(server) {
|
|
|
36285
36293
|
});
|
|
36286
36294
|
server.registerTool("gog_docs_named_range_create", {
|
|
36287
36295
|
description: "Create a named range \u2014 a durable, tab-aware anchor over a span of document text that survives subsequent edits (unlike raw indices). Anchor by literal text (`at`) or explicit UTF-16 start/end indices. Pair with gog_docs_named_range_replace for repeatable templated updates.",
|
|
36296
|
+
annotations: { destructiveHint: true },
|
|
36288
36297
|
inputSchema: external_exports.object({
|
|
36289
36298
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36290
36299
|
name: external_exports.string().describe("Unique named range name"),
|
|
@@ -36652,6 +36661,7 @@ function registerExtraDocsTools(server) {
|
|
|
36652
36661
|
});
|
|
36653
36662
|
server.registerTool("gog_docs_add_tab", {
|
|
36654
36663
|
description: "Add a tab to a Google Doc. Tabs partition a doc into independently-addressable sections (multi-tab docs). Optionally set the title, zero-based position, parent tab (for nesting), and an emoji icon.",
|
|
36664
|
+
annotations: { destructiveHint: false },
|
|
36655
36665
|
inputSchema: external_exports.object({
|
|
36656
36666
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36657
36667
|
title: external_exports.string().optional().describe("User-visible tab title"),
|
|
@@ -36670,6 +36680,7 @@ function registerExtraDocsTools(server) {
|
|
|
36670
36680
|
});
|
|
36671
36681
|
server.registerTool("gog_docs_rename_tab", {
|
|
36672
36682
|
description: "Rename a tab in a Google Doc. Identify the existing tab by title or ID and give it a new title.",
|
|
36683
|
+
annotations: { destructiveHint: false },
|
|
36673
36684
|
inputSchema: external_exports.object({
|
|
36674
36685
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36675
36686
|
tab: external_exports.string().describe("Existing tab title or ID to rename"),
|
|
@@ -36824,6 +36835,7 @@ function registerExtraDocsTools(server) {
|
|
|
36824
36835
|
});
|
|
36825
36836
|
server.registerTool("gog_docs_header_create", {
|
|
36826
36837
|
description: "Create a header in a Google Doc and optionally populate its initial text. Returns the new header segment ID.",
|
|
36838
|
+
annotations: { destructiveHint: false },
|
|
36827
36839
|
inputSchema: external_exports.object({
|
|
36828
36840
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36829
36841
|
text: external_exports.string().optional().describe("Initial header text"),
|
|
@@ -36878,6 +36890,7 @@ function registerExtraDocsTools(server) {
|
|
|
36878
36890
|
});
|
|
36879
36891
|
server.registerTool("gog_docs_footer_create", {
|
|
36880
36892
|
description: "Create a footer in a Google Doc and optionally populate its initial text. Returns the new footer segment ID.",
|
|
36893
|
+
annotations: { destructiveHint: false },
|
|
36881
36894
|
inputSchema: external_exports.object({
|
|
36882
36895
|
docId: external_exports.string().describe("Doc ID (from the URL)"),
|
|
36883
36896
|
text: external_exports.string().optional().describe("Initial footer text"),
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-docs",
|
|
5
5
|
"display_name": "gogcli (Docs)",
|
|
6
|
-
"version": "4.2.
|
|
6
|
+
"version": "4.2.4",
|
|
7
7
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-docs",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-docs",
|
|
5
5
|
"description": "Extended Google Docs MCP server via gogcli — all base tools plus full Docs support",
|
|
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-docs"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.4",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-docs",
|
|
15
|
-
"version": "4.2.
|
|
15
|
+
"version": "4.2.4",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/tools/docs-extra.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { GogArg } from '../../../gogcli-mcp/src/lib.js';
|
|
|
6
6
|
export function registerExtraDocsTools(server: McpServer): void {
|
|
7
7
|
server.registerTool('gog_docs_copy', {
|
|
8
8
|
description: 'Copy a Google Doc to a new document with the given title.',
|
|
9
|
+
annotations: { destructiveHint: true },
|
|
9
10
|
inputSchema: z.object({
|
|
10
11
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
11
12
|
title: z.string().describe('Title for the new copy'),
|
|
@@ -413,6 +414,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
413
414
|
server.registerTool('gog_docs_comments_add', {
|
|
414
415
|
description:
|
|
415
416
|
'Add a comment to a Google Doc. Optionally attach quoted text that appears as the highlighted passage in the Google Docs UI.',
|
|
417
|
+
annotations: { destructiveHint: false },
|
|
416
418
|
inputSchema: z.object({
|
|
417
419
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
418
420
|
content: z.string().describe('Comment text'),
|
|
@@ -427,6 +429,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
427
429
|
|
|
428
430
|
server.registerTool('gog_docs_comments_reply', {
|
|
429
431
|
description: 'Reply to an existing comment on a Google Doc.',
|
|
432
|
+
annotations: { destructiveHint: false },
|
|
430
433
|
inputSchema: z.object({
|
|
431
434
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
432
435
|
commentId: z.string().describe('Comment ID to reply to'),
|
|
@@ -528,6 +531,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
528
531
|
// end to submit them atomically against the locked revision.
|
|
529
532
|
server.registerTool('gog_batch_begin', {
|
|
530
533
|
description: 'Open a persisted, revision-locked request batch for a Google Doc. Subsequent docs mutation tools called with batch=<batchId> append their requests locally instead of applying them; gog_batch_end submits everything atomically. Returns the batchId.',
|
|
534
|
+
annotations: { destructiveHint: false },
|
|
531
535
|
inputSchema: z.object({
|
|
532
536
|
docId: z.string().describe('Google Doc ID the batch is locked to'),
|
|
533
537
|
name: z.string().optional().describe('Optional batch label'),
|
|
@@ -630,6 +634,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
630
634
|
|
|
631
635
|
server.registerTool('gog_docs_table_row_insert', {
|
|
632
636
|
description: 'Insert a row into a native Google Docs table, optionally populated from a JSON string array. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends — the default).',
|
|
637
|
+
annotations: { destructiveHint: true },
|
|
633
638
|
inputSchema: z.object({
|
|
634
639
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
635
640
|
table: tableSelectorParam,
|
|
@@ -666,6 +671,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
666
671
|
|
|
667
672
|
server.registerTool('gog_docs_table_column_insert', {
|
|
668
673
|
description: 'Insert a column into a native Google Docs table. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends — the default).',
|
|
674
|
+
annotations: { destructiveHint: true },
|
|
669
675
|
inputSchema: z.object({
|
|
670
676
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
671
677
|
table: tableSelectorParam,
|
|
@@ -717,6 +723,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
717
723
|
|
|
718
724
|
server.registerTool('gog_docs_table_unmerge', {
|
|
719
725
|
description: 'Unmerge (split) the merged region containing a given cell in a native Google Docs table.',
|
|
726
|
+
annotations: { destructiveHint: true },
|
|
720
727
|
inputSchema: z.object({
|
|
721
728
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
722
729
|
cell: z.string().describe('1-based cell r,c inside the merged region (e.g. "1,1")'),
|
|
@@ -733,6 +740,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
733
740
|
|
|
734
741
|
server.registerTool('gog_docs_named_range_create', {
|
|
735
742
|
description: 'Create a named range — a durable, tab-aware anchor over a span of document text that survives subsequent edits (unlike raw indices). Anchor by literal text (`at`) or explicit UTF-16 start/end indices. Pair with gog_docs_named_range_replace for repeatable templated updates.',
|
|
743
|
+
annotations: { destructiveHint: true },
|
|
736
744
|
inputSchema: z.object({
|
|
737
745
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
738
746
|
name: z.string().describe('Unique named range name'),
|
|
@@ -1124,6 +1132,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
1124
1132
|
|
|
1125
1133
|
server.registerTool('gog_docs_add_tab', {
|
|
1126
1134
|
description: 'Add a tab to a Google Doc. Tabs partition a doc into independently-addressable sections (multi-tab docs). Optionally set the title, zero-based position, parent tab (for nesting), and an emoji icon.',
|
|
1135
|
+
annotations: { destructiveHint: false },
|
|
1127
1136
|
inputSchema: z.object({
|
|
1128
1137
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
1129
1138
|
title: z.string().optional().describe('User-visible tab title'),
|
|
@@ -1143,6 +1152,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
1143
1152
|
|
|
1144
1153
|
server.registerTool('gog_docs_rename_tab', {
|
|
1145
1154
|
description: 'Rename a tab in a Google Doc. Identify the existing tab by title or ID and give it a new title.',
|
|
1155
|
+
annotations: { destructiveHint: false },
|
|
1146
1156
|
inputSchema: z.object({
|
|
1147
1157
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
1148
1158
|
tab: z.string().describe('Existing tab title or ID to rename'),
|
|
@@ -1310,6 +1320,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
1310
1320
|
|
|
1311
1321
|
server.registerTool('gog_docs_header_create', {
|
|
1312
1322
|
description: 'Create a header in a Google Doc and optionally populate its initial text. Returns the new header segment ID.',
|
|
1323
|
+
annotations: { destructiveHint: false },
|
|
1313
1324
|
inputSchema: z.object({
|
|
1314
1325
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
1315
1326
|
text: z.string().optional().describe('Initial header text'),
|
|
@@ -1367,6 +1378,7 @@ export function registerExtraDocsTools(server: McpServer): void {
|
|
|
1367
1378
|
|
|
1368
1379
|
server.registerTool('gog_docs_footer_create', {
|
|
1369
1380
|
description: 'Create a footer in a Google Doc and optionally populate its initial text. Returns the new footer segment ID.',
|
|
1381
|
+
annotations: { destructiveHint: false },
|
|
1370
1382
|
inputSchema: z.object({
|
|
1371
1383
|
docId: z.string().describe('Doc ID (from the URL)'),
|
|
1372
1384
|
text: z.string().optional().describe('Initial footer text'),
|