Skip to main content
Glama

Teable MCP (Official)

update-records

Destructive

Update records using compact array format.

FORMAT: { "tableId": "tblXXX", "header": ["recordId", "Name", "Status"], "records": [ ["recAAA", "Updated Name A", "Done"], ["recBBB", "Updated Name B", "Pending"] ] }

RULES:

  • header: First element MUST be "recordId"

  • records: First value in each row is the record ID to update

  • Empty string "": Skip field (no change)

  • null: Clear the cell

VALUE TYPES: Same as create-records

REORDER (optional): "order": { "viewId": "viwXXX", "anchorId": "recYYY", "position": "before"|"after" } Moves record(s) before/after the anchor in the given view. Swap rows A↔B: call twice with different anchors.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "tableId": "<tableId>",
      "header": "<header>",
      "records": "<records>"
    },
    "name": "update-records"
  }
}

Input Schema

NameRequiredDescriptionDefault
orderNoReorder record(s) relative to anchor. For swapping, call twice.
headerYesArray of field names. First element MUST be "recordId". Example: ["recordId", "Name", "Status"]
recordsYesArray of record rows. First value in each row is the record ID. Example: [["recAAA", "New Name", "Done"]]
tableIdYesThe ID of the table containing the records
typecastNoAutomatically convert field values to proper types

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, and the description adds exactly the context that matters on top: empty string means skip the field while null actively clears the cell, which is the concrete destructive behavior an agent must understand before calling. It also explains the non-idempotent reorder by noting a swap requires two calls with different anchors.

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?

Front-loaded with purpose, then a concrete JSON example, then terse rules, then an optional reorder block. Every line carries operational meaning and the labeled sections make scanning easy; nothing is redundant filler.

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 destructive five-parameter mutation with nested objects and no output schema, the description covers the input shape thoroughly, including the tricky null/empty-string and reorder cases. What is missing is the return behavior (what the response contains on success or partial failure) and any batch-size or permission constraints, which the agent cannot infer from an absent output schema.

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?

Schema coverage is 100%, so the baseline is 3, but the description goes further by defining positional semantics the schema only partially restates: header[0] MUST be "recordId", records[i][0] is the target ID, and the skip-versus-clear distinction between "" and null. The typecast parameter is left unexplained here but is documented in the schema itself.

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

Purpose4/5

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

States a specific verb and resource ("Update records") and immediately qualifies the mechanism as a compact array format, which separates it from a single-record update. It implicitly contrasts with create-records by pointing to it for value types, but never explicitly says when to use this versus create-records or delete-records, so sibling differentiation is only partial.

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

Usage Guidelines3/5

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

The description is heavy on how to format input but light on when to choose this tool. The only real routing signal is "VALUE TYPES: Same as create-records", which tells the agent about a sibling but not about selection criteria. Usage is implied by the format rules rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources