Skip to main content
Glama

Style an existing table

set_table_style

Style existing tables by adjusting cell padding, background color, borders, column widths, and pinned header rows. Fixes text clipping, creates borderless tables, and repeats header rows across pages.

Instructions

Edit style/layout of an existing table (located by any cell’s text): cell padding (pt), background color (hex), cell borders, column widths (pt), and pinned header rows. scope selects which cells padding/background/border hit — table (default), row, column, or cell (the row/column of the matched cell). Fixes e.g. thin left padding that clips the first letter of cells; border {width:0} makes a table borderless; headerRows repeats the top rows on every page. A direct edit, not a tracked suggestion.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tabNoTarget a specific tab by tabId or title (from list_tabs). Defaults to the first tab.
cellYestext of any cell in the target table (locates the table)
pageNowhich header/footer, when a doc defines more than one (default-page, first-page, even-page). Omit to use whichever exists.
scopeNodefault table
borderNocell borders, over the same scope as padding/background
accountNoGoogle account email to use. Defaults to GDOCS_DEFAULT_ACCOUNT, or the sole account.
paddingNocell padding in points
segmentNowhich content tree to target: body (default), or the page header/footer. Header/footer content is invisible to a body read — a letterhead logo lives there.
documentIdYes
headerRowsNorepeat the top N rows on every page (Docs’ "pin header rows"); 0 unpins. Independent of scope.
columnWidthsNoset specific column widths (points) by column index
backgroundColorNohex, e.g. #f1f3f4
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that this is a 'direct edit, not a tracked suggestion' — a key behavioral trait. It also clarifies two important edge behaviors: border width 0 makes the table borderless, and headerRows repeats rows on every page. It does not explicitly mention permission requirements or irreversible overwrites, but the direct-edit caveat provides significant transparency.

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

Conciseness5/5

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

The description is three sentences long, front-loaded with the primary purpose, and every sentence contributes information: the first lists the editable properties, the second clarifies scope semantics, and the third provides concrete examples and the direct-edit caveat. There is no fluff or redundancy.

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

Completeness4/5

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

For a tool with 12 parameters, nested objects, and no output schema, the description covers the essential context: what the tool does, how scope works, and key behavioral caveats. It does not explain every parameter (the schema handles that), but it gives enough operational context for an agent to use it correctly. Minor gaps like ambiguous table matches or error handling are not addressed, but they are not critical for selection.

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

Parameters4/5

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

Although the schema has high parameter coverage (92%), the description adds meaning beyond the schema. It explains that 'scope selects which cells padding/background/border hit' and elaborates the options (table, row, column, or cell of the matched cell), which the schema only labels as 'default table'. It also gives a practical implication for padding (clipping first letter) and border width, adding contextual value.

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?

The description uses a specific verb ('Edit') with a clear resource ('style/layout of an existing table') and enumerates the exact style properties (padding, background color, borders, column widths, pinned header rows). It also explains how the table is located (by any cell's text), which distinguishes it from generic style tools like set_style or read-style tools like get_table_style.

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

Usage Guidelines4/5

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

The description gives clear context for when to use this tool — when you need to edit a table's style or layout — and even provides a concrete use-case ('Fixes e.g. thin left padding that clips the first letter of cells'). However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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/dasasian/gdocs-mcp'

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