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.
@@ -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.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.2",
18
+ "version": "4.2.4",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gogcli-mcp-docs",
3
3
  "displayName": "gogcli (Docs)",
4
- "version": "4.2.2",
4
+ "version": "4.2.4",
5
5
  "description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
6
6
  "author": {
7
7
  "name": "Chris Hall",
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.2" : "0.0.0";
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.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.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.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.2",
15
+ "version": "4.2.4",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },
@@ -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'),