Skip to main content
Glama

Server Details

Collaborative word processor you can use with your agent.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.3/5.0

Scored across 18 tools

Disambiguation5/5

Every tool targets a distinct operation on documents, from creation (create, import, upload) to editing, commenting, formatting, and cleanup. Even the three creation tools are clearly differentiated by input source (markdown, URL, local file), and descriptions explicitly cross-reference to avoid confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, e.g., clean_document, get_document_info, set_page_layout. There are no mixed conventions, camelCase variants, or vague verbs.

Tool Count4/5

At 18 tools, the set is slightly above the typical 3-15 range, but each tool has a clear and non-redundant purpose, covering creation, reading, editing, formatting, comments, suggestions, and export. The count feels justified for a comprehensive document editing server.

Completeness3/5

The tool surface covers creation, reading, editing, formatting, comments, suggestions, and export, but misses notable operations like document deletion, cross-document listing/search, and comment resolution. These gaps could cause dead ends in workflows where a user wants to remove a document or find an existing one.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedcreate_document1 field changed
      • changedInput schema / properties / title / maxLength
        Previous value: -500New value: +300
    • Changedimport_document1 field changed
      • changedInput schema / properties / title / maxLength
        Previous value: -500New value: +300
    • Changedrename_document1 field changed
      • changedInput schema / properties / title / maxLength
        Previous value: -500New value: +300
  2. 3 tool updates
    • Addedclean_document
    • Changedleave_comment1 field changed
      • addedInput schema / properties / acknowledge_existing_thread_ids
        Added value: +{
        +  "description": "Only for a NEW thread that deliberately overlaps existing unresolved threads: list their ids to confirm you read them and are raising a genuinely different point. Without this, a new thread over text that already carries one is rejected. Do not use it to restate a point an existing thread already makes — reply to that thread instead.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedset_page_layout2 fields changed
      • addedInput schema / properties / line_numbering
        Added value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "count_by": {
        +          "description": "Show only every Nth number (default 1 = every line)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "distance_px": {
        +          "description": "Gap between numbers and the text margin in px",
        +          "minimum": 0,
        +          "type": "number"
        +        },
        +        "restart": {
        +          "description": "When the counter resets (default newPage)",
        +          "enum": [
        +            "newPage",
        +            "newSection",
        +            "continuous"
        +          ],
        +          "type": "string"
        +        },
        +        "start": {
        +          "description": "First line number (default 1)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Word-style line numbering in the left margin (pleading paper). Pass an object (possibly empty) to enable, null to disable"
        +}
      • addedInput schema / properties / watermark
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Diagonal page watermark text painted on every page, e.g. \"DRAFT\" or \"CONFIDENTIAL\". Also accepts a JSON settings string {text, color?, opacity?, diagonal?, fontSizePx?}. Pass \"\" or null to remove the watermark"
        +}
  3. 1 tool update
    • Changedread_document7 fields changed
      • addedInput schema / properties / start_block
        Added value: +{
        +  "description": "0-based top-level block index to start reading from (default 0). Use the previous response's next_start_block to continue a paginated read.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / blocks_included
        Added value: +{
        +  "description": "Top-level blocks included in this page",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / next_start_block
        Added value: +{
        +  "description": "Pass as start_block to read the next page",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Pagination guidance",
        +  "type": "string"
        +}
      • addedOutput schema / properties / start_block
        Added value: +{
        +  "description": "First top-level block index included in this page",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / total_blocks
        Added value: +{
        +  "description": "Total top-level blocks in the document",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "True when the read was cut at a block boundary",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Addedstyle_blocks
  5. 3 tool updates
    • Changededit_document1 field changed
      • changedInput schema / properties / mode / description
        Previous value: -"suggest: tracked changes (default for documents with 20+ words); apply: edit directly (default for documents under 20 words). Pass apply explicitly to edit a substantial document without suggesting."New value: +"Omit for the default: suggest (tracked changes) on documents with 20+ words, apply on shorter ones. Choose \"apply\" on a substantial document only when your user explicitly asked for direct edits without review — never on your own judgment."
    • Changedinsert_footnote1 field changed
      • changedInput schema / properties / mode / description
        Previous value: -"suggest: pending tracked change (default on documents with 20+ words); apply: insert directly"New value: +"Omit for the default: suggest (pending tracked change) on documents with 20+ words, apply on shorter ones. Choose \"apply\" on a substantial document only when your user explicitly asked for direct edits without review."
    • Addedleave_comment
  6. 15 tool updates
    • Changedcreate_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "edit_token": {
        +      "description": "Bearer token scoped to this document for future read/edit calls",
        +      "type": "string"
        +    },
        +    "id": {
        +      "description": "Document ID",
        +      "type": "string"
        +    },
        +    "notes": {
        +      "description": "Human-facing claim and retention notes",
        +      "type": "string"
        +    },
        +    "title": {
        +      "description": "Document title",
        +      "type": "string"
        +    },
        +    "unlock_more": {
        +      "description": "Agent-facing guidance for authenticating to unlock more tools",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "Editor URL",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "title",
        +    "url",
        +    "edit_token",
        +    "notes",
        +    "unlock_more"
        +  ],
        +  "type": "object"
        +}
    • Changededit_document2 fields changed
      • changedInput schema / properties / edits / items / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "all": {
        -        "description": "Replace every occurrence in the block (default: first only)",
        -        "type": "boolean"
        -      },
        -      "block_id": {
        -        "description": "Block id anchor (from read_document with_block_ids)",
        -        "type": "string"
        -      },
        -      "find": {
        -        "description": "Exact text to find within the block",
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "replace": {
        -        "description": "Replacement text",
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "replace",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "block_id",
        -      "find",
        -      "replace"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "block_id": {
        -        "description": "Anchor block id (required unless position is \"end\")",
        -        "type": "string"
        -      },
        -      "markdown": {
        -        "description": "Markdown content to insert",
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "position": {
        -        "description": "Where to insert relative to block_id, or \"end\" of document",
        -        "enum": [
        -          "before",
        -          "after",
        -          "end"
        -        ],
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "insert_markdown",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "markdown",
        -      "position"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "block_id": {
        -        "description": "Block id to delete",
        -        "type": "string"
        -      },
        -      "type": {
        -        "const": "delete_block",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "block_id"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "all": {
        +        "description": "Replace every occurrence in the block (default: first only)",
        +        "type": "boolean"
        +      },
        +      "block_id": {
        +        "description": "Block id anchor (from read_document with_block_ids)",
        +        "type": "string"
        +      },
        +      "find": {
        +        "description": "Exact text to find within the block",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "format": {
        +        "description": "Replacement format. Omit to auto-detect HTML and otherwise parse Markdown",
        +        "enum": [
        +          "markdown",
        +          "html"
        +        ],
        +        "type": "string"
        +      },
        +      "replace": {
        +        "description": "Replacement content (Markdown by default; HTML is auto-detected)",
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "replace",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "block_id",
        +      "find",
        +      "replace"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "block_id": {
        +        "description": "Anchor block id (required unless position is \"end\")",
        +        "type": "string"
        +      },
        +      "markdown": {
        +        "description": "Markdown content to insert",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "position": {
        +        "description": "Where to insert relative to block_id, or \"end\" of document",
        +        "enum": [
        +          "before",
        +          "after",
        +          "end"
        +        ],
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "insert_markdown",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "markdown",
        +      "position"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "block_id": {
        +        "description": "Anchor block id (required unless position is \"end\")",
        +        "type": "string"
        +      },
        +      "html": {
        +        "description": "HTML block content parsed by Revise's native agent parser",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "position": {
        +        "description": "Where to insert relative to block_id, or \"end\" of document",
        +        "enum": [
        +          "before",
        +          "after",
        +          "end"
        +        ],
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "insert_html",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "html",
        +      "position"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "block_id": {
        +        "description": "Block id to delete",
        +        "type": "string"
        +      },
        +      "type": {
        +        "const": "delete_block",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "block_id"
        +    ],
        +    "type": "object"
        +  }
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "acceptedChangeRegions": {
        +      "description": "Change regions accepted immediately",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "editsRequested": {
        +      "description": "Requested edit count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "note": {
        +      "description": "Review guidance",
        +      "type": "string"
        +    },
        +    "pendingSuggestionIds": {
        +      "description": "Tracked-change suggestion IDs",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "Whether edits were suggested or directly applied",
        +      "enum": [
        +        "suggested",
        +        "applied"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedexport_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "bytes": {
        +      "description": "Hosted file byte length",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "content": {
        +      "description": "Inline exported text content",
        +      "type": "string"
        +    },
        +    "download_url": {
        +      "description": "Temporary download URL",
        +      "type": "string"
        +    },
        +    "format": {
        +      "description": "Export format",
        +      "type": "string"
        +    },
        +    "id": {
        +      "description": "Document ID",
        +      "type": "string"
        +    },
        +    "notes": {
        +      "description": "Download expiry notes",
        +      "type": "string"
        +    },
        +    "status": {
        +      "const": "exported",
        +      "description": "Export status",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "id",
        +    "format"
        +  ],
        +  "type": "object"
        +}
    • Changedget_document_info1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "blocks": {
        +      "description": "Top-level block count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "createdAt": {
        +      "description": "Creation timestamp from the Revise API"
        +    },
        +    "id": {
        +      "description": "Document ID",
        +      "type": "string"
        +    },
        +    "isOwner": {
        +      "description": "Whether the current user owns the document",
        +      "type": "boolean"
        +    },
        +    "isPublic": {
        +      "description": "Whether the document is publicly shared",
        +      "type": "boolean"
        +    },
        +    "pages": {
        +      "anyOf": [
        +        {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Rendered page count, or null in pageless mode"
        +    },
        +    "publicUrl": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Public URL, when enabled"
        +    },
        +    "readOnly": {
        +      "description": "Whether the current user has read-only access",
        +      "type": "boolean"
        +    },
        +    "title": {
        +      "description": "Document title",
        +      "type": "string"
        +    },
        +    "updatedAt": {
        +      "description": "Last update timestamp from the Revise API"
        +    },
        +    "url": {
        +      "description": "Editor URL",
        +      "type": "string"
        +    },
        +    "words": {
        +      "description": "Word count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "title",
        +    "isPublic",
        +    "isOwner",
        +    "readOnly",
        +    "url",
        +    "publicUrl",
        +    "words",
        +    "pages",
        +    "blocks"
        +  ],
        +  "type": "object"
        +}
    • Changedget_document_outline1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "blocks": {
        +      "description": "Top-level block count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "blockId": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Heading block ID"
        +          },
        +          "heading": {
        +            "anyOf": [
        +              {
        +                "maximum": 9007199254740991,
        +                "minimum": -9007199254740991,
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Heading level"
        +          },
        +          "text": {
        +            "description": "Heading text",
        +            "type": "string"
        +          },
        +          "words": {
        +            "description": "Words in this section",
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "blockId",
        +          "heading",
        +          "text",
        +          "words"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Document title"
        +    },
        +    "totalWords": {
        +      "description": "Total word count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "totalWords",
        +    "blocks",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
    • Changedget_recent_changes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "added": {
        +      "description": "Added blocks",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "blockId": {
        +            "description": "Block ID",
        +            "type": "string"
        +          },
        +          "markdown": {
        +            "description": "Block markdown",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "blockId",
        +          "markdown"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "baselineEstablished": {
        +      "description": "True when this first call only established a baseline",
        +      "type": "boolean"
        +    },
        +    "changed": {
        +      "description": "Changed blocks",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "after": {
        +            "description": "Current block markdown",
        +            "type": "string"
        +          },
        +          "before": {
        +            "description": "Previous block markdown",
        +            "type": "string"
        +          },
        +          "blockId": {
        +            "description": "Block ID",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "blockId",
        +          "before",
        +          "after"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "description": "Result note or truncation guidance",
        +      "type": "string"
        +    },
        +    "removed": {
        +      "description": "Removed blocks",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "blockId": {
        +            "description": "Block ID",
        +            "type": "string"
        +          },
        +          "markdown": {
        +            "description": "Block markdown",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "blockId",
        +          "markdown"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "since": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "ISO timestamp for the previous baseline"
        +    },
        +    "summary": {
        +      "additionalProperties": false,
        +      "description": "Exact changed-block counts",
        +      "properties": {
        +        "added": {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        },
        +        "changed": {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        },
        +        "removed": {
        +          "maximum": 9007199254740991,
        +          "minimum": -9007199254740991,
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "added",
        +        "removed",
        +        "changed"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedimport_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "edit_token": {
        +      "description": "Bearer token scoped to this document for future read/edit calls",
        +      "type": "string"
        +    },
        +    "id": {
        +      "description": "Document ID",
        +      "type": "string"
        +    },
        +    "notes": {
        +      "description": "Human-facing claim and retention notes",
        +      "type": "string"
        +    },
        +    "title": {
        +      "description": "Document title",
        +      "type": "string"
        +    },
        +    "unlock_more": {
        +      "description": "Agent-facing guidance for authenticating to unlock more tools",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "Editor URL",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "title",
        +    "url",
        +    "edit_token",
        +    "notes",
        +    "unlock_more"
        +  ],
        +  "type": "object"
        +}
    • Addedinsert_footnote
    • Changedread_document2 fields changed
      • addedInput schema / properties / view
        Added value: +{
        +  "description": "Projection of pending suggestions: final = accepted (default), original = rejected",
        +  "enum": [
        +    "final",
        +    "original"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "content": {
        +      "description": "Document content in the requested format",
        +      "type": "string"
        +    },
        +    "format": {
        +      "description": "Returned format",
        +      "enum": [
        +        "markdown",
        +        "text",
        +        "html"
        +      ],
        +      "type": "string"
        +    },
        +    "id": {
        +      "description": "Document ID",
        +      "type": "string"
        +    },
        +    "with_block_ids": {
        +      "description": "Whether markdown block anchors were included",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "format",
        +    "content"
        +  ],
        +  "type": "object"
        +}
    • Changedrename_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "status": {
        +      "const": "renamed",
        +      "description": "Rename status",
        +      "type": "string"
        +    },
        +    "title": {
        +      "description": "New title",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "title"
        +  ],
        +  "type": "object"
        +}
    • Changedreplace_document_content1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "blocks": {
        +      "description": "Number of blocks in the new content",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "const": "replaced",
        +      "description": "Replacement status",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "blocks"
        +  ],
        +  "type": "object"
        +}
    • Changedresolve_suggestions2 fields changed
      • addedInput schema / properties / kind
        Added value: +{
        +  "description": "Limit to one kind of change (Word-style review filter): insert = added text/blocks, delete = removed text/blocks, format = formatting-only changes; omit for all kinds",
        +  "enum": [
        +    "insert",
        +    "delete",
        +    "format"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "note": {
        +      "description": "Why no suggestions were resolved",
        +      "type": "string"
        +    },
        +    "resolvedChangeRegions": {
        +      "description": "Resolved change-region count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "Suggestion resolution outcome",
        +      "enum": [
        +        "accepted",
        +        "rejected",
        +        "no_matching_suggestions"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_within_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "groups": {
        +      "description": "Context groups containing matches",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "blockRange": {
        +            "description": "Inclusive top-level block index range",
        +            "items": [
        +              {
        +                "maximum": 9007199254740991,
        +                "minimum": -9007199254740991,
        +                "type": "integer"
        +              },
        +              {
        +                "maximum": 9007199254740991,
        +                "minimum": -9007199254740991,
        +                "type": "integer"
        +              }
        +            ],
        +            "type": "array"
        +          },
        +          "markdown": {
        +            "description": "Context group markdown with block anchors",
        +            "type": "string"
        +          },
        +          "matchedBlockIds": {
        +            "description": "Matching block IDs",
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "blockRange",
        +          "matchedBlockIds",
        +          "markdown"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "description": "Result note or truncation guidance",
        +      "type": "string"
        +    },
        +    "query": {
        +      "description": "Search query",
        +      "type": "string"
        +    },
        +    "returnedMatchingBlocks": {
        +      "description": "Number of matching blocks returned in this response",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "totalMatchingBlocks": {
        +      "description": "Matching block count",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "query",
        +    "totalMatchingBlocks"
        +  ],
        +  "type": "object"
        +}
    • Changedset_page_layout3 fields changed
      • addedInput schema / properties / note_mode
        Added value: +{
        +  "description": "Bulk-convert every note in the document to this stream: footnotes (per-page bottom areas, numbered 1,2,3) or endnotes (grouped on their own page at the end, numbered i,ii,iii). Individual notes choose their stream at insert time via insert_footnote",
        +  "enum": [
        +    "footnotes",
        +    "endnotes"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / show_page_numbers / description
        Added value: +"Show/hide page numbers (managed as an automatic header/footer page-number field slot; hand-authored header/footer content is never overwritten)"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "applied": {
        +      "additionalProperties": {},
        +      "description": "Applied layout settings",
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "status": {
        +      "const": "updated",
        +      "description": "Layout update status",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "applied"
        +  ],
        +  "type": "object"
        +}
    • Changedupload_document1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "curl": {
        +      "description": "Ready-to-run curl command for the upload",
        +      "type": "string"
        +    },
        +    "expires_in": {
        +      "description": "Seconds until the upload URL expires",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "next": {
        +      "description": "What to do after reserving the upload",
        +      "type": "string"
        +    },
        +    "upload_url": {
        +      "description": "One-time upload endpoint",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "upload_url",
        +    "expires_in",
        +    "curl",
        +    "next"
        +  ],
        +  "type": "object"
        +}
  7. 14 tool updates
    • First observedcreate_document
    • First observededit_document
    • First observedexport_document
    • First observedget_document_info
    • First observedget_document_outline
    • First observedget_recent_changes
    • First observedimport_document
    • First observedread_document
    • First observedrename_document
    • First observedreplace_document_content
    • First observedresolve_suggestions
    • First observedsearch_within_document
    • First observedset_page_layout
    • First observedupload_document

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Provides a local, collaborative visual document editor that works with MCP agents, enabling creation and editing of brochures, reports, and other designs with live synchronization, revision history, and portable exports.
    29
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Persistent docs and memory for AI agents. Writespace is a collaborative markdown editor with a built-in MCP server — your model reads, writes, organizes, and searches a shared workspace while humans edit the same docs live. Drop the ranked full-text search straight in as RAG retrieval.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to read, edit, and create Microsoft Word documents (.docx) with support for rich text, tables, and images, deployable locally or via SSE.
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to perform safe, semantic edits on Markdown and DOCX documents through a normalized model with staging, diff review, and stale-edit protection.
    13
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources