Skip to main content
Glama

set_cells

Write multiple table cells in a single call, replacing separate per-cell edits. Supports tracked changes by author and reports cells written, with merge-aware behavior for live documents.

Instructions

Write many table cells in ONE call: edits = [{row, cell, text}]. Use this for any multi-cell edit instead of per-cell calls; set_cells_block writes a contiguous 2D block instead. track records tracked changes by author; the result reports cells_written. Live mode refuses vertically merged tables (the file-based path is merge-aware). Auto-backup in file mode: prev/anchor slots in .ks4w-backups (backup=False skips rotation only); atomic validated save. Documents open in Word are edited live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
liveNoauto
editsYes
trackNo
authorNoClaude
backupNo
file_pathYes
table_indexYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses substantial behavior: the result reports cells_written, track records tracked changes by author, backup rotation behavior in file mode, atomic validated saves, and live editing semantics for documents open in Word. It does not cover failure/error behavior or permissions, but the disclosed context is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded: core purpose and edit format come first, then usage guidance, then behavioral caveats. Every sentence earns its place, though the backup details are packed into a somewhat compressed clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and 0% schema coverage, the description covers the main workflow well—multi-cell edits, tracked changes, backups, and live mode—but omits details like index conventions and full semantics of several parameters. It is adequate for a competent agent but not fully complete for an unfamiliar caller.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain the central `edits` parameter and mentions `track`, `author`, and `backup`, but it leaves `file_path`, `table_index`, and the `live` parameter's possible values implicit, and it does not state whether `row` and `cell` are zero- or one-based—an important gap for actually constructing a valid call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource: "Write many table cells in ONE call" and explicitly defines the core input shape `edits = [{row, cell, text}]`. It also differentiates this tool from its closest sibling, set_cells_block, by noting that the sibling writes a contiguous 2D block.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: "Use this for any multi-cell edit instead of per-cell calls" and names the alternative tool set_cells_block with the condition that selects it. It also adds a live-mode constraint about vertically merged tables, helping the agent decide when this path is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nometalalchemist/KitchenSink4Word'

If you have feedback or need assistance with the MCP directory API, please join our Discord server