← All changelog

MCP grew. 7 comment tools, agent-driven schema, safer concurrent docs.

Agents now do real comment work, mutate column schemas in-flight, seed surfaces with markdown on create, and survive concurrent doc writes without silently clobbering each other. Five additions across MCP and REST that close the most-requested agent-ergonomics gaps.

MCP grew. 7 comment tools, agent-driven schema, safer concurrent docs.
New
  • Seven new MCP comment tools: `add_comment`, `list_comments`, `get_comment_thread`, `reply_to_comment`, `resolve_comment`, `unresolve_comment`, `react_to_comment`. Agents can now read, post, reply, react, and resolve threads on any row, cell, or doc range without leaving the protocol.
  • `update_surface(columns=...)` MCP tool. Replace a sheet's full column schema in one call, atomic. Pairs with REST `PATCH /api/workspaces/:slug/surfaces/:slug { columns: [...] }`.
  • `auto_create_columns: true` on `create_row` and `update_row`. Hand the call a row with novel keys; missing columns get inferred from value types and added to the schema in the same transaction. Saves the schema-first round trip when an agent learns about a new field.
  • `initialMarkdown` accepted on `POST /api/workspaces/:slug/surfaces` and the MCP `create_surface` tool. Creating a doc surface with content in one call now matches the workspace POST shape.
API
  • `If-Unmodified-Since` precondition on `PUT /doc` and MCP `update_doc`. Pass the `updatedAt` you read via `get_doc`; if the doc has moved on since you read it, the write 409s with `details: { currentUpdatedAt, precondition }` so you can refetch + merge + retry. Concurrent agents writing the same doc no longer last-write-wins silently.