Skip to main content
Glama

Airtable Formulas, Scripts, Automation, MCP & LSP

Formula, script & automation editor · MCP server (72 tools + manage_tools) · Language server · AI skills

Not affiliated with Airtable Inc. This is a community-maintained project.

Active development — Breaking changes may land between minor versions. Pin to a version if you need stability.


Top Features

Feature

What it does

File types

Formula Editor

Syntax highlighting, IntelliSense, beautify / minify

.formula, .min.formula

Script Editor

Completions, hover docs, diagnostics

.ats, .script

Automation Editor

Completions, hover docs, diagnostics

.ata, .automation

MCP Server (72 tools + manage_tools)

Full Airtable internal API — schema, views, fields, records, extensions, templates

Language Server (LSP)

Standalone multi-editor support — Neovim, Zed, Helix, OpenCode

All above

IDE Auto-Setup

One-click MCP config for Cursor, Windsurf, Claude Desktop, Cline, Amp

AI Skills

Pre-built Airtable-specific rules and workflows for AI coding assistants

Daemon + Tunnel

Persistent background server; optional Cloudflare or ngrok remote access

Tool Profiles

read-only (12 tools) / safe-write (54 tools) / full (72 tools) / custom permission scopes

OS Keychain Auth

Browser-based Airtable login with SSO/2FA — credentials in your OS keychain


Related MCP server: Airtable MCP Server

Why this exists

Airtable's public Web API has never exposed some of the most common tasks builders actually need: creating a formula field, tweaking a view's filter set, installing an extension, or validating a formula before it breaks production. The official Airtable MCP server is a thin wrapper over that same REST API, so it inherits every one of those gaps.

airtable-user-mcp is an add-on to the official Airtable MCP, not a replacement. It uses Airtable's own internal API (the one the web UI uses) to cover exactly the surface area the REST API can't reach. Register both servers in your AI client and your assistant gets the full Airtable automation experience — records over HTTP via the official MCP, plus schema, formulas, views, and extensions via this one.


What airtable-user-mcp adds on top of the official Airtable MCP

This is a coverage map, not a "pick one" decision — the two servers are complementary and designed to run side-by-side.

Capability

Official Airtable MCP

airtable-user-mcp

Total tools

~17

73 (72 + manage_tools)

Auth model

Personal Access Token or OAuth, per-scope setup

Log in once with your normal Airtable account (SSO/2FA supported)

Transport

HTTP (remote)

stdio (local, private)

Data never leaves your machine

❌ Requests go through mcp.airtable.com

✅ Runs locally against Airtable's API

Schema read (bases, tables, fields, views)

Partial (no view config)

Full — filters, sorts, groups, visibility, row height, descriptions

Read records with resolved field values

Partial

query_records — returns lookup/rollup/formula fields fully resolved

Search records by text (incl. lookup fields)

filterByFormula with FIND()/SEARCH() silently fails on lookup fields

query_records.search — substring match on all resolved values

Duplicate records

duplicate_records

Create formula fields

UNSUPPORTED_FIELD_TYPE_FOR_CREATE

Create rollup fields

Create lookup / multipleLookupValues fields

Create count fields

Update formula text of an existing field

Validate a formula before applying

Rename / duplicate / safely delete fields

Partial (no duplicate, no dependency summary)

✅ with expectedName guard + dependency preview

Create views (grid/form/kanban/calendar/gallery/gantt/list)

❌ (API has no create-view endpoint)

Set/append view filters (nested AND/OR)

Set view sorts

Set view grouping

Change column order

Show/hide columns in a view

Change row height

Duplicate a view with its full configuration

View descriptions, cell wrap, covers, color config, calendar dates, frozen columns

Sidebar sections (create, rename, move, delete)

Record templates (create, pre-fill, duplicate, apply, delete)

Form metadata (description, redirect, attribution, branding)

Extension / block management (install, enable, rename, duplicate, remove)

Create dashboard pages

Daemon self-diagnosis (session dead? browser busy? daemon gone?)

manage_daemon action=status, plus start / restart / stop / tunnel / token rotation

Tool profiles & per-tool toggles

✅ read-only (12) / safe-write (54) / full (72) / custom

Destructive-action safety guards

Relies on token scopes

expectedName match, dependency summary, force flag

Batch record create limit

10 / request

Uses the same Airtable limit; no added restriction

VS Code / Cursor / Windsurf / Cline / Amp one-click install

Manual JSON edit per IDE

✅ One click via the companion extension

Formula editor with IntelliSense

✅ (VS Code extension)

Credentials storage

You manage the PAT

OS keychain, auto-refresh

Plan requirement

Airtable plan with API access + token scopes

Any plan you can log into

Price

Free

Free, MIT

Sources: Airtable's official MCP docs, Airtable Web API reference, and the UNSUPPORTED_FIELD_TYPE_FOR_CREATE rollup thread.


Use both MCPs together

npx -y airtable-user-mcp login          # one-time browser login
claude mcp add airtable --scope user -- npx -y airtable-user-mcp   # Claude Code

airtable-user-mcp is additive. Register the official Airtable MCP following Airtable's setup guide, then add this one alongside it in the same mcpServers block:

{
  "mcpServers": {
    "airtable-user-mcp": {
      "command": "npx",
      "args": ["-y", "airtable-user-mcp"]
    }
  }
}

Your MCP client will expose every tool from both servers. The two entries are independent — rename the keys (airtable, airtable-official, airtable-user-mcp, etc.) however makes sense for your workflow.


What's In This Repo

This monorepo ships three products from one source tree:

Product

Install

Airtable Formulas, Scripts, Automation, MCP & LSP — VS Code extension

Marketplace

airtable-user-mcp — Standalone MCP server

npx airtable-user-mcp

airtable-user-lsp — Airtable language server

npx airtable-user-lsp


Demo

Using Claude Code to manage base views, computed fields & extensions — Reddit demo


Features

MCP Server (72 Tools + manage_tools)

Manage Airtable bases with capabilities not available through the official REST API:

Category

Tools

Highlights

Schema Read

11

Full schema inspection — bases, tables, fields, views, sidebar sections, record templates; download all formula fields to local files

Record Read

1

query_records — up to 1 000 records/call with resolved field values; search param works on lookup/rollup fields (REST API filterByFormula doesn't)

Record Write

4

create_records / update_records / duplicate_records / upload_attachment (the only way to write multipleAttachments cells by URL)

Record Destructive

1

delete_records — batch-delete records from a table

Table Management

3

create / rename / delete tables

Field Management

9

Create formula / rollup / lookup / count fields, validate formulas, update descriptions, delete single or bulk

View Configuration

20

Filters, sorts, grouping, columns, freezing, row height, covers, color rules, calendar dates, create / duplicate / rename / delete

Sidebar Sections

4

Create, rename, move-into-section, delete (auto-promotes contained views to ungrouped)

Record Templates

8

Create / rename / describe / set cells / set columns / duplicate / apply / delete saved row scaffolds

Form Metadata

2

Description, redirect URL, attribution, copy-to-respondent, branding (legacy form views)

Extension Management

7

Create, install, enable/disable, rename, duplicate, remove extensions

Tool Management

1

List profiles, switch profile, toggle tools/categories (meta-tool, always enabled — not part of any profile)

Base Sync

1

sync_base — copy a base's schema, views, and records to another base. mode=plan/diff/status are read-only; mode=apply mutates the destination and, with policy=mirror plus the confirmation flags, can delete tables, fields, views, sections and records; mode=reconcile updates local mapping state. Drift-guarded and resumable via journal.

Daemon Control

1

manage_daemonaction=status is read-only self-diagnosis: daemon liveness, transport, uptime, tunnel URL, and the live session state (dead session, last breaker trip with Airtable's own response body, browser busy queue) that tells "daemon gone" from "session dead" from "browser busy". Also start / restart / stop / tunnel_enable / tunnel_disable / token_rotate. full profile only.

See the full tool reference in packages/mcp-server/README.md.

One shared daemon

The extension starts the shared MCP daemon whenever a tool call needs one, so every VS Code window uses one Airtable browser session instead of one per window — that duplication is what produced most "session dead" errors. A daemon you stop from the dashboard stays stopped, and if it cannot start, the extension falls back to a per-window server so your tools keep working.

Because a daemon is usually running, other MCP clients on the same machine (Claude Desktop, Cursor, Cline, Amp) attach to it and therefore run under its auth mode and HTTP client rather than their own — deliberately, since two browsers on one Airtable profile crash. Each such client prints one stderr line saying so. See Sharing one daemon across clients.

LSP Server

airtable-user-lsp is a standalone language server for Airtable formula, script, and automation files — works in any LSP-capable editor, not just VS Code.

# stdio mode — works standalone, no daemon needed
npx airtable-user-lsp --stdio

Features: diagnostics, completions, hover documentation, and signature help for .formula, .ats, and .ata files.

When the daemon is running, it auto-spawns airtable-user-lsp --tcp so multiple editors share one language server instance. The TCP port is written to ~/.airtable-user-mcp/daemon.lock as port_lsp.

See packages/lsp-server/README.md for per-editor configuration (Neovim, Zed, OpenCode, Helix).


Supported IDEs

The extension auto-configures MCP for all major AI-enabled editors:

Claude Desktop

Claude Code

Cursor

Windsurf

Cline

Amp

Don't use VS Code? Use the standalone MCP server directly:

npx airtable-user-mcp

Find Us


Requirements

  • VS Code ^1.100.0 (or any fork exposing the McpServerDefinitionProvider API)

  • Node.js — bundled via the VS Code runtime; no separate install needed

  • Google Chrome (or Edge / Chromium) — the Airtable login flow uses Patchright in headless mode. Falls back to msedge on Windows and chromium on Linux. The extension shows an actionable warning if no supported browser is detected.


Development

This is a pnpm monorepo.

Package

Description

packages/extension

VS Code extension host (TypeScript + tsup)

packages/webview

React dashboard webview (Vite + Tailwind v4)

packages/shared

Shared types and message protocol

packages/mcp-server

airtable-user-mcp — ESM Node MCP server

packages/lsp-server

airtable-user-lsp — LSP server for formula / script / automation files

scripts/

Build tooling (esbuild bundler, dep vendoring)

pnpm install          # install all packages
pnpm build            # build shared → webview → mcp bundle → extension
pnpm package          # build + create airtable-formula-X.Y.Z.vsix
pnpm test             # run all unit tests
pnpm dev              # start webview dev server (browser preview)

How the MCP server is bundled: scripts/bundle-mcp.mjs esbuilds packages/mcp-server/src/ into packages/extension/dist/mcp/. Then scripts/prepare-package-deps.mjs vendors patchright, patchright-core, otpauth, impit and @ngrok/ngrok into dist/node_modules/ before vsce package runs, so an installed extension needs no npm install at runtime.

Platform-specific VSIXes. impit (the Chrome-TLS HTTP client) and @ngrok/ngrok (the ngrok tunnel provider) keep their compiled native binary in separate per-platform npm packages, and only the one matching the build machine is ever installed. A single VSIX therefore cannot carry working native binaries for every platform. Instead we publish one VSIX per platform, each vendoring only its own binaries — VS Code and Open VSX hand each user the build matching their machine. Supported targets:

Target

impit

@ngrok/ngrok

win32-x64

impit-win32-x64-msvc

@ngrok/ngrok-win32-x64-msvc

win32-arm64

impit-win32-arm64-msvc

@ngrok/ngrok-win32-arm64-msvc

darwin-x64

impit-darwin-x64

@ngrok/ngrok-darwin-x64

darwin-arm64

impit-darwin-arm64

@ngrok/ngrok-darwin-arm64

linux-x64

impit-linux-x64-gnu

@ngrok/ngrok-linux-x64-gnu

linux-arm64

impit-linux-arm64-gnu

@ngrok/ngrok-linux-arm64-gnu

alpine-x64

impit-linux-x64-musl

@ngrok/ngrok-linux-x64-musl

alpine-arm64

impit-linux-arm64-musl

@ngrok/ngrok-linux-arm64-musl

linux-armhf (32-bit ARM) is not published: impit ships no arm-gnueabihf build, so an armhf VSIX would advertise airtableFormula.mcp.httpClient: "impit" and then fail with "Cannot find native binding". No untargeted fallback is published either, for the same reason.

The matrix is defined once in scripts/vsix-targets.mjs; versions and tarball hashes are pinned to pnpm-lock.yaml. scripts/package-targets.mjs builds every target and scripts/assert-vsix-binaries.mjs verifies each artifact contains exactly its own platform's .node files and no other's — byte-for-byte, against the SHA-256 digests in scripts/native-binary-digests.json, which are recorded from tarballs verified against pnpm-lock.yaml's integrity hashes. Filenames, package.json os/cpu, and a magic number are all labels an artifact carries about itself and cannot distinguish an x64 binary from an ARM64 one, or a glibc build from a musl one; an exact digest can.

Together these are eight target artifact packaging/assertion smokes — eight .vsix files built and their contents verified on one machine. They are not runtime smokes of eight native bindings: any single host can only load the binding compiled for itself, so only the host target's binding receives a genuine runtime load. Verifying the other seven by exact content is the strongest claim a single-host build can make about them.

The standalone npm package airtable-user-mcp is unaffected and stays universal — npm resolves the right optional dependency on your own machine at install time.


Support This Project

This project is built and maintained with the help of AI coding tools. If you find it useful and want to support continued development (new tools, updates, bug fixes), you can contribute by gifting Claude Code credits — the primary tool used to build this project.

Interested? Open an issue or reach out to discuss feature requests and sponsorship.


License

MIT

Available Tools

67 tools
apply_record_templateA

Apply (instantiate) a record template to create a new record pre-filled with the template's field values. Returns the new record data.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX) to instantiate
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description adds that it creates a new record and returns the data. It does not disclose additional behaviors like required permissions, reversibility, or side effects. The description adds modest value beyond annotations.

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 a single sentence that is concise, front-loaded with the action, and contains no redundant information. It effectively communicates the core functionality.

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 simple create operation with low complexity, the description covers the essential purpose and return value. It lacks mention of prerequisites (e.g., template existence) or error conditions, but the annotations and schema fill in some context. Overall, it is sufficiently complete.

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 coverage is 100% with descriptions for all three parameters. The description does not add any extra detail about parameter semantics beyond what the schema provides. Baseline score of 3 applies.

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 clearly states the verb 'apply' and the resource 'record template', indicating it instantiates a template to create a new record. It differentiates from siblings like create_record_template (which creates the template itself) and duplicate_record_template (which duplicates an existing template).

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 implies usage when a pre-filled new record is needed from a template, but it does not provide explicit when-to-use, when-not-to-use, or alternative methods. The context is clear but lacks explicit guidance.

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

apply_view_sortsA
Idempotent

Apply sort conditions to a view. Default mode replaces all existing sorts — pass an empty array with operation="replace" to clear. Use operation="append" to add new sorts on top of the view's existing sort stack without rewriting them.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
sortsYesArray of sort conditions. Empty array [] clears all sorts when operation="replace".
operationNoHow the given sorts interact with existing sorts. "replace" (default) overwrites; "append" adds the provided sorts after the existing sort stack (secondary priority).
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate idempotent and non-destructive writes. The description adds behavioral details on mode behavior and clearing, which complements the annotations without contradiction.

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 two sentences, directly stating the tool's purpose and key usage modes, with no unnecessary words.

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?

Given no output schema, the description does not explain return values, but it adequately covers the input behavior and modes. It is sufficiently complete for an agent to invoke the tool correctly.

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%, but the description adds value by explaining the effect of operations and how to clear sorts, going beyond the schema's basic parameter descriptions.

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 clearly states it applies sort conditions to a view, distinguishes between replace and append modes, and is distinct from sibling tools which handle other view modifications.

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 explains when to use replace vs append, including how to clear sorts. It does not explicitly mention alternatives or when not to use, but the context is sufficient for typical use.

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

create_extensionA

Create a new extension (block) in an Airtable base. Returns the block ID needed for installation. Use this to register custom extensions before installing them.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
nameYesName for the extension
releaseIdYesThe release ID of the extension (e.g. "blrXXX")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior3/5

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

Annotations do not provide rich behavioral hints (readOnlyHint=false, destructiveHint=false). Description adds that it returns the block ID, but does not disclose side effects, prerequisites, or limitations beyond creation.

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?

Two sentences with no extraneous information. Front-loaded with the key action and result.

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?

With full schema documentation and a clear purpose, the description covers the main usage. Could mention error conditions or prerequisites, but overall adequate for a creation tool.

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?

All four parameters have descriptions in the schema, achieving 100% coverage. The description does not add additional context beyond the schema, so baseline 3 is appropriate.

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?

Clearly states 'Create a new extension (block) in an Airtable base' with specific verb 'create' and resource 'extension'. Distinguishes from sibling 'install_extension' by mentioning it returns block ID needed for installation.

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?

Explicitly says 'Use this to register custom extensions before installing them', indicating the workflow order. Does not explicitly list when not to use, but context implies creation before installation.

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

create_extension_dashboardB

Create a new extension dashboard page in a base. Extensions are installed onto dashboard pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
nameYesName for the dashboard page
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.4/5.0
Behavior2/5

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

Annotations indicate the tool is not read-only (false) and not destructive (false). The description only says it creates a page and extensions are installed onto it, but does not disclose side effects, required permissions, or what happens on failure. Since annotations already provide some safety info, the description adds minimal behavioral context.

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 only two sentences, efficient, and to the point. Every word adds value, no redundancy or fluff.

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

Completeness2/5

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

Despite having 3 parameters and no output schema, the description does not explain what the tool returns (e.g., a page ID), error conditions, or how it relates to other dashboard tools. It lacks completeness for an agent to fully understand usage without additional context.

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?

All parameters are documented in the input schema (100% coverage). The description does not add any extra meaning beyond what the schema already provides for appId, name, and debug. With high schema coverage, a baseline of 3 is appropriate.

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 clearly states the verb 'create' and the resource 'extension dashboard page', with context 'in a base'. It also explains that extensions are installed onto dashboard pages, distinguishing it from sibling tools like 'create_extension' which likely creates the extension itself.

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 does not explicitly state when to use this tool versus alternatives like 'install_extension' or 'create_extension'. It provides no prerequisites, exclusions, or context about when not to use it.

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

create_fieldA

Create a new field in an Airtable table. Supports all field types including computed fields (formula, rollup, lookup, count) that are not available via the official API.

FIELD TYPES (fieldType parameter): Supported names: "text", "multilineText", "number", "checkbox", "date", "singleSelect", "multipleSelects", "rating", "formula", "rollup", "lookup", "count" Friendly aliases (auto-normalized): "url" → type: "text" with validatorName = "url" "email" → type: "text" with validatorName = "email" "phone" / "phoneNumber" → type: "text" with validatorName = "phoneNumber" "dateTime" → type: "date" with isDateTime: true

TYPE OPTIONS by fieldType: formula: { formulaText: "..." } rollup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET", formulaText: "SUM(values)" } (formulaText is REQUIRED — e.g. "SUM(values)", "COUNTA(values)", "IF(OR(values='X'),1,0)")) (old keys fieldIdInLinkedTable/recordLinkFieldId are auto-translated for backward compat) lookup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET" } (old keys fieldIdInLinkedTable/recordLinkFieldId are auto-translated for backward compat) count: { recordLinkFieldId } number (integer): { format: "integer", negative: false } number (currency): { format: "currency", symbol: "$", precision: 2, negative: false } number (percent): { format: "percentV2", precision: 2, negative: false } date / dateTime: { dateFormat: "Local"|"us"|"european"|"iso"|"friendly", timeFormat: "12hour"|"24hour", timeZone: "UTC"|"client"|, shouldDisplayTimeZone: true|false, isDateTime: true (auto for dateTime) } singleSelect: { choices: [{ name: "Option A", color: "blue" }], default: "selXXX" } multipleSelects: { choices: [{ name: "PC", color: "blue" }, { name: "Xbox", color: "cyan" }], default: ["selXXX"] } text / multilineText / checkbox / rating: omit typeOptions entirely — passing {} causes a 422

SELECT CHOICES:

  • Pass choices as an array [{ name, color? }] or as an object { selXXX: { name, color? } }.

  • The client auto-adds id inside each choice value, generates choiceOrder, and sets disableColors: false.

  • Color names (confirmed): "blue", "cyan", "teal", "green", "yellow", "orange", "red", "pink", "purple", "gray".

  • "default" sets the pre-selected value: string ID for singleSelect, array of IDs for multipleSelects.

  • To add/remove choices without losing existing ones, call get_table_schema first and include ALL choices in the update.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID to create the field in (e.g. "tblXXX")
nameYesName for the new field
fieldTypeYesThe field type. Canonical or friendly alias — see tool description for full list.
typeOptionsNoType-specific config. See tool description for shape per fieldType.
descriptionNoOptional field description
insertAfterFieldIdNoOptional: field ID to insert after. Omit to append at end.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Annotation flags (readOnlyHint: false, destructiveHint: false) are clear. The description adds context like auto-normalization of aliases and the need to call get_table_schema to preserve existing choices, going beyond the annotations.

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

Conciseness3/5

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

The description is thorough but verbose with many details and repeated examples. It is well-organized with headings but could be more concise for quick scanning.

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

Completeness5/5

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

Given the tool's complexity (8 parameters, many field types, no output schema), the description covers all necessary details: field types, typeOptions structures, choice formats, color names, and backward compatibility, making it fully self-contained.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds extensive meaning for typeOptions and choices, including examples, required keys, and default behaviors, significantly enhancing understanding beyond the schema.

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 clearly states 'Create a new field in an Airtable table' and explicitly mentions support for all field types including computed fields not available via the official API, distinguishing it from sibling tools like 'create_formula_field'.

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 provides extensive guidance on when to use each field type with typeOptions and choices. However, it does not explicitly mention when NOT to use this tool or compare with siblings like 'create_formula_field'.

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

create_formula_fieldA

Create a new formula field — shorthand for create_field with type "formula". Use create_field for all other field types (singleSelect, rollup, number, etc.). Returns { columnId }.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (e.g. "tblXXX")
nameYesName for the new formula field
formulaTextNoThe formula expression
formulaFilePathNoPath to a local .formula or .fx file. When provided, reads formula from file instead of formulaText (unblocks large formulas that exceed LLM output limits). The # AT: metadata header is stripped automatically.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior4/5

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

Description adds context beyond annotations: explains return value {columnId} and behavior of formulaFilePath (strips metadata). No contradictions.

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?

Two sentences, front-loaded with purpose, no extraneous information. Every word earns its place.

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?

Given 6 params, no output schema, and minimal annotations, description covers purpose, differentiation, parameter alternatives, and return value. Lacks permissions or error info, but sufficient for typical use.

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?

With 100% schema coverage, baseline is 3. Description adds value by explaining formulaFilePath as alternative to formulaText and debug flag purpose, lifting score to 4.

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?

Clearly states 'Create a new formula field' and explicitly distinguishes from sibling create_field by specifying it's a shorthand for formula type only.

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?

Explicitly tells when to use this tool vs create_field (formula vs other types) and explains the formulaFilePath alternative for large formulas.

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

create_record_templateA

Create a new record template for a table. Returns the generated templateId (rtp-prefixed). After creating, use set_record_template_cell to pre-fill field values.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (tblXXX)
nameNoTemplate name. Default: "New template"
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.5/5.0
Behavior2/5

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

Annotations offer no help (readOnlyHint=false, destructiveHint=false); the description only states it creates, omitting details on idempotency, error conditions, or side effects. The agent lacks insight into behavioral traits beyond the basic action.

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?

Two sentences efficiently convey purpose, return value, and a follow-up step. No extraneous information; every word earns its place.

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?

The description covers the core function and return, but lacks explanation of the debug parameter, default name behavior, and broader context of record templates within the sibling tool set. Given no output schema, more detail could be helpful.

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?

Input schema covers all 4 parameters with descriptions (100% coverage); the description adds no extra meaning beyond the schema, meeting the baseline expectation.

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 clearly states the tool creates a record template for a table, specifies the return value (rtp-prefixed templateId), and differentiates from siblings like set_record_template_cell by providing a sequential workflow hint.

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 provides a single follow-up recommendation (use set_record_template_cell) but does not contrast with other sibling tools like apply_record_template or duplicate_record_template, nor does it specify when not to use the tool.

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

create_tableA

Create a new table in an Airtable base. Returns the generated table ID. The table starts with default fields (Name, Notes, Attachments, Status, etc.) — use list_fields after creation to inspect them.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
nameYesName for the new table
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.8/5.0
Behavior3/5

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

Annotations indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that the tool returns a table ID and creates default fields, but does not disclose side effects like duplicate name handling or quotas. It provides basic behavioral context but lacks depth.

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 two sentences, front-loaded with the core purpose and return value. Every sentence adds value: purpose, return, default fields, and post-creation hint. No waste.

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 simple creation tool with no output schema, the description covers the return value, default fields, and suggests a follow-up action. It does not address constraints like name uniqueness or limits, but given the low complexity, it is fairly complete.

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 100%, and the description adds no new meaning beyond the schema for appId and name. The debug parameter description is identical to the schema. With high coverage, a baseline of 3 is appropriate.

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 clearly states 'Create a new table in an Airtable base. Returns the generated table ID.', which precisely identifies the action and resource. It distinguishes from sibling tools like delete_table or rename_table, and provides additional context about default fields.

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 implies usage by stating the action and suggesting 'use list_fields after creation to inspect them', but does not explicitly define when to use this tool versus alternatives like create_field or when not to use it. No exclusions or prerequisites are mentioned.

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

create_viewB

Create a new view in an Airtable table. Optionally copy configuration from an existing view. View types: "grid", "form", "kanban", "calendar", "gallery", "gantt", "levels" (list view).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID to create the view in
nameYesName for the new view
typeNoView type: "grid", "form", "kanban", "calendar", "gallery", "gantt", "levels" (list). Default: "grid".
copyFromViewIdNoOptional: view ID to copy configuration from (creates a fresh view with same settings).
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.4/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description does not elaborate on behavioral traits such as error handling, limits, or side effects. It adds no value beyond the annotations.

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 concise with two sentences that convey the purpose and key options. No unnecessary words or repetition.

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

Completeness2/5

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

The tool lacks an output schema, and the description does not mention return values, error cases, or prerequisites. Given the complexity and many sibling tools, more guidance on when to use this versus duplicate_view would improve completeness.

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 100%, so the schema already documents all parameters. The description adds minor context about optional copy and view types but does not significantly enhance understanding beyond the schema.

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 clearly states the action ('Create a new view') and the resource ('Airtable table'). It also mentions the optional copy-from-existing feature and lists all view types, making it distinct from siblings like create_table or duplicate_view.

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 explains what the tool does but does not explicitly state when to use it over alternatives like duplicate_view. The mention of copying configuration hints at a use case but lacks clear exclusions or context for when not to use it.

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

create_view_sectionA

Create a new sidebar section in a table. Returns the new section ID (vsc-prefixed). Use move_view_to_section to populate it with views.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (tbl-prefixed)
nameYesSection name (emojis allowed, e.g. "🚀 Posting workflow")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior3/5

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

Annotations are minimal (only readOnlyHint=false, destructiveHint=false, etc.), so the description carries some burden. It reveals the return of a vsc-prefixed section ID, indicating a non-destructive write operation. However, it lacks details on error conditions, validation, or side effects beyond creation.

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 two concise sentences with no filler. It provides essential information without 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 simple creation tool with 4 parameters and no output schema, the description covers the purpose, return value, and a hint about the next tool. It is nearly complete but would benefit from explicitly stating that the section is created in the specified table (implied by parameters).

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 coverage is 100%, so the input schema already documents all parameters. The description adds no new parameter-level meaning, thus baseline 3 applies.

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 clearly states the verb ('Create'), resource ('new sidebar section'), and scope ('in a table'). It also distinguishes from the sibling tool 'move_view_to_section' by suggesting its use for populating, avoiding confusion.

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 explicitly advises to use 'move_view_to_section' to populate the section with views, providing clear next steps. However, it does not specify when not to use this tool or any prerequisites (e.g., table existence).

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

delete_fieldA
Destructive

Delete a field from an Airtable table. Requires fieldId AND expectedName as a safety guard — deletion is refused if the name does not match. ⚠️ Irreversible: deleted field data is permanently lost and cannot be recovered. Always checks downstream dependencies first (formula fields, lookups, rollups referencing this field); returns dependency info without deleting unless force=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe field/column ID to delete (e.g. "fldXXX")
expectedNameYesThe expected name of the field. Must match exactly or deletion is refused.
forceNoWhen true, delete even if the field has downstream dependencies (other fields referencing it). Default: false.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.8/5.0
Behavior5/5

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

Adds irreversibility warning, dependency check behavior, and force flag effect, all beyond annotations' destructiveHint.

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?

Three concise sentences, front-loaded with action and guard, no unnecessary words.

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

Completeness5/5

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

Fully explains all key aspects for a 5-param tool with no output schema: safety, irreversibility, dependencies, debug option.

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

Parameters5/5

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

Adds meaning: expectedName as safety guard, force as dependency override, debug for diagnostics, beyond schema descriptions.

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?

Clear verb 'delete' and resource 'field from an Airtable table'. Distinct from siblings like 'delete_fields' and 'create_field'.

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?

Explains safety guard requiring expectedName and force parameter for dependencies, but doesn't explicitly contrast with delete_fields or state when not to use.

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

delete_fieldsA
Destructive

Delete multiple fields from an Airtable table in a single call. Each entry requires fieldId and expectedName as a safety guard (deletion is refused if names do not match). Fields are processed sequentially and all are attempted even if some fail — partial results are always returned. Optionally writes a JSON checkpoint file after each deletion so the batch can be resumed if interrupted.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldsYesFields to delete. Each entry must have fieldId and expectedName.
forceNoWhen true, delete each field even if it has downstream formula/rollup dependencies. Default: false.
checkpointFileNoAbsolute path to a JSON file updated after each deletion. Stores remaining fields so the batch can be resumed after a crash.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

Adds significant context beyond annotations: safety guard with expectedName, sequential processing, partial results on failure, checkpoint for resumability, and force parameter for dependencies. No contradiction with annotations.

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?

Single, focused paragraph that front-loads the main action and essential behaviors. Every sentence adds information with no 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?

Covers key behaviors (safety, partial results, checkpoint, force) for a destructive batch operation. However, the return value format is not described; it only mentions 'partial results are always returned' without detail.

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%, but description adds meaning: the expectedName is a safety guard, checkpoint enables resumption, force handles dependencies, and debug adds diagnostics. Adds value beyond schema descriptions.

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?

Clearly states it deletes multiple fields from an Airtable table. Differentiated from sibling tools like 'delete_field' (singular) and 'update_field_config' (modification, not deletion).

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?

Provides context for batch deletion with safety guard, sequential processing, and optional checkpoint. However, it doesn't explicitly say when to prefer this over the singular 'delete_field' tool.

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

delete_record_templateA
Destructive

⚠️ DESTRUCTIVE — Permanently delete a record template. This cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX) to delete
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.6/5.0
Behavior3/5

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

The destructive hint annotation (destructiveHint: true) already indicates irreversibility. The description adds 'This cannot be undone' and a warning emoji, which reinforces but does not significantly extend beyond the annotation.

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 a single sentence with a clear warning, front-loading the destructive nature. Every word adds value and there is no 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 simple delete operation with no output schema, the description covers the essential behavioral aspect (permanent deletion). It is complete enough given the tool's complexity.

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?

All three parameters are fully described in the input schema (100% coverage). The description adds no additional meaning to the parameters beyond what is already provided.

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 clearly states the action ('delete') and resource ('record template') with a warning about permanence. It is specific and distinguishable from sibling tools like create_record_template.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., duplicate_record_template or update_record_template). Only a destructive warning is provided, lacking context about prerequisites or when not to use.

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

delete_tableA
Destructive

Delete a table from an Airtable base. Requires both tableId AND the expected table name as a safety guard — refuses to delete if the name does not match. Airtable rejects deleting the last remaining table in a base.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID to delete (e.g. "tblXXX")
expectedNameYesThe expected name of the table. Must match exactly or deletion is refused.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Adds value beyond annotations by explaining the name-match safety guard and Airtable's last-table policy. Annotations declare destructiveHint=true consistent with deletion.

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?

Two sentences, front-loaded with purpose, no wasted words. Efficiently conveys key behavior.

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?

Adequate for a destructive tool with 4 params. Covers safety guard and edge case (last table). No output schema, but agent can infer return from context.

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%. Description adds that expectedName must match exactly and debug outputs raw response, enhancing understanding beyond schema.

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?

Clearly states 'Delete a table from an Airtable base' with specifics about safety guard. Distinct from siblings that delete other entities.

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?

Provides clear context for when to use (deleting a table) and behavioral constraints (name matching, last table rejection). Lacks explicit alternatives but gives sufficient guidance.

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

delete_viewA
Destructive

Delete a view from a table. Cannot delete the last remaining view in a table.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID to delete (e.g. "viwXXX")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true. The description adds the important constraint of not being able to delete the last view, providing behavioral context beyond annotations.

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?

Two concise sentences, front-loaded with the verb 'Delete', no wasted words.

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?

Lacks output information, but for a delete operation this is acceptable. The constraint is clearly stated, and parameters are well-documented in schema.

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 coverage is 100% with all parameters described. The description does not add new meaning to parameters beyond what the schema already provides.

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 clearly states the action 'Delete a view from a table' and adds a specific constraint. It distinguishes from sibling tools like delete_field or delete_table.

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 implies usage for deleting a view and mentions a constraint (cannot delete last view), but does not provide explicit when-to-use vs alternatives or exclusions.

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

delete_view_sectionA
DestructiveIdempotent

Delete a sidebar section. Views inside the section are NOT deleted — Airtable auto-promotes them to ungrouped at the table-level position the section used to occupy. Verified 2026-04-30.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
sectionIdYesThe section ID (vsc-prefixed)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior5/5

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

Annotations indicate destructiveHint=true and idempotentHint=true. The description goes beyond by explicitly stating that views are NOT deleted and are auto-promoted, and includes a 'Verified' date for reliability. No contradictions with annotations.

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?

Two sentences: first states purpose, second provides crucial behavioral nuance. No fluff. Front-loaded with the action. The 'Verified' date adds a minor but useful trust signal without harming conciseness.

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?

The description covers purpose, behavior, and parameter context well, but since there is no output schema, it does not describe what the tool returns (e.g., success confirmation or error structure). This is a minor gap for completeness.

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 coverage is 100%, so baseline is 3. The description does not add meaningful detail beyond the schema for parameters like appId, sectionId, or debug. The schema already notes that sectionId is 'vsc-prefixed', and debug's effect is described in schema.

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 explicitly states 'Delete a sidebar section' (verb+resource) and distinguishes the behavior from sibling tools like delete_view by clarifying that views inside the section are not deleted but promoted to ungrouped. This provides clear purpose and differentiation.

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 clarifies the key behavioral result (views are auto-promoted), guiding users on when to use this tool (to remove a section while keeping its views). It does not explicitly mention when not to use or list alternative tools, but the context from sibling names implies differentiation.

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

download_base_formulasA
Read-onlyIdempotent

Download ALL formula fields from a base to local .formula files, organized into per-table subfolders. Each file includes a # AT: header with appId, tableId, fieldId, fieldName, description, and resultType. Tables with no formula fields are silently skipped. outputDir defaults to the current working directory when omitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
outputDirNoLocal directory to write files into. Defaults to process.cwd() when omitted. Structure: outputDir/<Table Name>/<Field Name>.formula
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds valuable context: tables with no formula fields are silently skipped, outputDir defaults to cwd, and the file format includes a # AT: header with specific fields. This goes beyond the annotations.

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, each adding essential information. It is front-loaded with the core action and output, then details about headers, skipping, and defaults. No redundancy or filler words.

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

Completeness5/5

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

Given 3 parameters, no output schema, and moderate complexity, the description covers the main behavior, output format, edge cases (silent skip), and defaults. It ensures an agent can invoke the tool correctly without additional information.

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 baseline is 3. The description adds meaning by explaining the outputDir structure (outputDir/<Table Name>/<Field Name>.formula), that it defaults to cwd when omitted, and that debug includes raw Airtable response. This adds value beyond the schema.

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 clearly states 'Download ALL formula fields from a base to local .formula files, organized into per-table subfolders.' This specifies the action (download), resource (all formula fields from a base), and output structure, distinguishing it from similar tools like download_formula_field.

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 implicitly explains when to use (when needing all formula fields) by mentioning the silent skip of tables without formula fields, but it does not explicitly state alternatives or when not to use. Sibling tools like download_formula_field exist for single field downloads, but no guidance is provided.

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

download_formula_fieldA
Read-onlyIdempotent

Download the formula text of a formula field to a local file. Writes a .formula file with a # AT: metadata header (appId, tableId, fieldId, fieldName) so the file can later be uploaded back with update_formula_field or the VS Code right-click command. When outputPath is omitted, returns the formula text without writing a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe formula field ID (e.g. "fldXXX")
outputPathNoLocal file path to write the .formula file. When omitted, returns formula text in the response without writing a file.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, and idempotent behavior. The description adds valuable context about the file writing process, the metadata header format, and the conditional return behavior when 'outputPath' is omitted. No contradiction with annotations.

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 two sentences, front-loaded with the main action, and each sentence provides distinct, necessary information. No redundant or missing elements.

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?

Given the tool's simplicity, read-only annotations, and thorough schema documentation, the description is nearly complete. It explains the core behavior and file format. Optional debug parameter usage is not mentioned, but this is a minor omission.

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 coverage is 100% with descriptive parameter definitions. The description only restates the behavior of 'outputPath' already covered in the schema, adding no novel semantic information beyond what the schema provides.

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 clearly states the action ('Download') and the resource ('formula text of a formula field'), and distinguishes it from siblings like 'download_base_formulas' by specifying it targets a single field. It also explains the file format and metadata header, leaving no ambiguity.

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 implies usage for downloading a formula field's text with optional file writing, and mentions future interaction with 'update_formula_field' or VS Code commands. However, it does not explicitly state when to use this tool over alternatives (e.g., 'download_base_formulas' for bulk), leaving some guidance implicit.

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

duplicate_extensionB

Duplicate an installed extension on a dashboard page.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
sourceInstallationIdYesThe installation ID to duplicate
pageIdYesThe dashboard page to place the duplicate on
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.1/5.0
Behavior2/5

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

Annotations indicate the tool modifies state (readOnlyHint=false) but is not destructive. The description adds no behavioral details beyond the name, such as whether the duplicate preserves configuration, requires permissions, or what happens to the original. Since annotations are present, the bar is lower, but the description still adds minimal value.

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 a single, concise sentence without fluff. It efficiently conveys the core action. However, given the tool has four parameters, a slightly more detailed description could improve utility without sacrificing conciseness.

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

Completeness2/5

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

The tool has no output schema, so the description should at least hint at the return value (e.g., new installation ID or success status). It currently provides no output information, making it incomplete for a mutating tool with no structured output documentation.

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 coverage is 100%, so baseline is 3. The description does not elaborate on any parameter purpose or usage beyond what the schema already provides, such as clarifying that 'debug' enables diagnostic output. No added 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 clearly states the action ('duplicate') and the resource ('installed extension on a dashboard page'), making the tool's purpose immediately understandable. It distinguishes this tool from siblings like 'install_extension' or 'duplicate_field'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'install_extension' or 'create_extension'. It does not mention scenarios or constraints, leaving the agent without context for selection.

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

duplicate_fieldB

Duplicate (clone) a field in a table. Optionally also duplicate the cell values.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID
sourceFieldIdYesThe field ID to duplicate
duplicateCellsNoAlso copy cell values. Default: false
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.3/5.0
Behavior2/5

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

Description does not disclose side effects (e.g., whether the original field remains unchanged, any permission requirements, or rate limits). Annotations are all false, so description carries full burden but provides minimal behavioral context.

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?

Single sentence that is concise and front-loaded with the core action; no superfluous words.

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?

With 5 parameters all described in schema and no output schema, the description covers the core purpose but omits return value expectations or error handling notes. Adequate for a simple operation.

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 coverage is 100%, so all parameters are described inline. The description adds the term 'clone' which synonymizes with 'duplicate', but no new meaning beyond schema. Baseline 3 is appropriate.

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 explicitly states the action 'Duplicate (clone) a field' and the resource 'in a table', clearly distinguishing from other duplication tools among siblings like duplicate_extension or duplicate_records.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus creating a field from scratch or other alternatives; no mention of prerequisites or limitations.

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

duplicate_recordsA

Duplicate one or more existing records within a table. Creates exact copies of the specified source records in the same table and view. Returns the new record IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID containing the records to duplicate
viewIdYesThe view ID to paste the duplicated records into
sourceRowIdsYesArray of record IDs to duplicate (e.g. ["recXXX", "recYYY"])
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate it is not read-only, not destructive, not idempotent. The description adds that it creates exact copies and returns new record IDs, providing useful behavioral context beyond annotations.

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?

Two concise sentences, front-loaded with the action, no unnecessary words. Every sentence provides essential information.

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?

With no output schema, it correctly indicates return value (new record IDs). Covers main purpose and scope. Could mention error handling or limits, but overall sufficient for a moderate-complexity tool.

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 coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema, except confirming that duplication is within the same table and view, which is already in the description.

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 clearly states it duplicates records, creates exact copies, and returns new IDs. This distinguishes it from sibling tools like duplicate_field or duplicate_view, which operate on different entities.

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?

Implies usage by stating it duplicates records within the same table and view, but lacks explicit when-to-use or when-not-to-use compared to alternatives. No direct mention of sibling tools.

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

duplicate_record_templateA

Duplicate a record template within the same or a different table. Returns the new template ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
sourceTemplateIdYesSource template ID (rtpXXX)
tableIdYesTarget table ID (tblXXX) — can be the same table or a different one
newNameNoOptional name for the copy. Defaults to the original name.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.9/5.0
Behavior3/5

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

Annotations indicate it is not read-only and not destructive. The description adds that it returns the new template ID, but lacks details on side effects, permissions, or error states. With annotations present, this is adequate but not enriched.

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?

Two sentences: one describing the action and one stating the return value. Highly concise with no extraneous information.

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?

For a tool with 5 parameters, no output schema, and minimal annotations, the description is minimal. It covers the main purpose and return but omits details like what is duplicated (e.g., settings, cells) and prerequisites. Adequate but not thorough.

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?

The input schema has 100% description coverage for all parameters, so the description adds no additional parameter semantics. Per guidelines, baseline score is 3.

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 clearly states the action (duplicate), the resource (record template), and the scope (within same or different table), and specifies the return value (new template ID). This differentiates it from sibling tools like create_record_template and apply_record_template.

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 provides clear context (duplicate in same or different table) but does not explicitly state when to use this tool versus alternatives. No when-not or exclusion criteria are provided, but the use case is evident.

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

duplicate_viewA

Duplicate an existing view with all its configuration (filters, sorts, field visibility, etc).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID the view belongs to
sourceViewIdYesThe view ID to duplicate (e.g. "viwXXX")
newNameYesName for the duplicated view
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.7/5.0
Behavior3/5

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

Annotations (readOnlyHint=false, destructiveHint=false) are consistent but provide limited behavioral hints. The description adds that configuration is duplicated, but omits details like original view modification, error conditions (e.g., duplicate name), and output format. With no output schema, more transparency would benefit agent invocation.

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?

Single sentence of 14 words, efficiently front-loaded with core purpose. No extraneous information.

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?

For a 5-parameter duplication tool with no output schema, the description is adequate but incomplete. Missing constraints like name uniqueness, return value hint, and confirmation that the original view is unaltered. Moderate complexity warrants more contextual detail.

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?

All five parameters are described in the input schema (100% coverage). The description does not add new meaning beyond what the schema provides, satisfying the baseline for high schema coverage.

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 clearly states 'Duplicate an existing view' with specific verb and resource, and explicitly lists what configuration is copied (filters, sorts, field visibility). This distinguishes it from sibling tools like duplicate_field, duplicate_records, and other view operations.

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?

No explicit guidance on when to use or alternatives is provided. Usage is implied by the name and description, but lacks exclusions or prerequisite notes common in high-scoring examples.

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

get_base_schemaA
Read-onlyIdempotent

Get the full schema of an Airtable base — all tables, fields (with typeOptions), and views in one call. Use this when you need fields or views; use list_tables when you only need table names/IDs (faster, lighter). Returns { tables: [...] }.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID (e.g. "appXXX")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds the return format '{ tables: [...] }' which is useful but no additional behavioral context beyond what annotations provide.

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?

Two concise sentences, front-loaded with the tool's purpose. Every word serves a purpose, no fluff.

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

Completeness5/5

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

For a simple read-only schema retrieval tool, the description covers purpose, usage guidance, parameter semantics via schema, and output format. No gaps given the context.

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?

Input schema has 100% coverage, describing both parameters (`appId` and `debug`). The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

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 clearly states the tool retrieves the full schema of an Airtable base, including tables, fields, and views. It distinguishes itself from the sibling tool `list_tables` by specifying that this tool is for detailed schema info.

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?

The description provides explicit guidance on when to use this tool versus `list_tables`: use this when fields or views are needed, and `list_tables` for just table names/IDs.

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

get_table_schemaA
Read-onlyIdempotent

Get the full schema for a single table — all fields (with typeOptions) and views. Use instead of get_base_schema when you only need one table (faster, less context). Use list_fields when you need fields only without view data. Returns { id, name, fields: [...], views: [...] }.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdOrNameYesThe table ID (e.g. "tblXXX") or exact table name
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds return structure details ({ id, name, fields, views }) and notes speed/context benefits, complementing annotations without contradiction.

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?

Three sentences with clear front-loading: purpose first, then usage alternatives, then return structure. Every sentence adds value, no wasted words.

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 simple read-only schema retrieval tool, description covers purpose, usage, and return format. Lacks error handling or prerequisites but is sufficient given annotations and schema coverage.

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?

Input schema has 100% description coverage for all 3 parameters. The tool description adds no additional meaning beyond the schema, so baseline 3 applies.

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?

Description clearly states it retrieves full schema for a single table, including fields with typeOptions and views. It distinguishes from sibling tools get_base_schema (faster, less context) and list_fields (fields only), providing specific verb+resource differentiation.

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?

Explicit guidance: use instead of get_base_schema when only one table needed, and list_fields when only fields needed. Provides clear context for tool selection.

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

get_viewA
Read-onlyIdempotent

Read a view's live configuration from the base. Returns filters, sorts, groupLevels, columnOrder (rich per-column visibility + width), frozenColumnCount, colorConfig, metadata (view-type specific, e.g. gallery cover, calendar date field), rowHeight, description. Use this before update_view_filters / apply_view_sorts / update_view_group_levels to audit current state and choose between replace and append modes.

Data source: internally hits /v0.3/table/{tableId}/readData with includeDataForViewIds=[viewId]. The application/read endpoint alone does NOT return filter/sort/group state — that's why the update tools need either "append" mode or a prior get_view call to merge safely.

Fields:

  • filters: { filterSet: [...], conjunction: "and"|"or" } | null

  • sorts: [{ id, columnId, ascending }] | null (stored as lastSortsApplied internally)

  • groupLevels: [{ id, columnId, order, emptyGroupState }] | null

  • columnOrder: [{ columnId, visibility, width? }]

  • visibleColumnOrder: [columnId] — derived from columnOrder for convenience

  • metadata: type-specific config (gallery.coverColumnId, calendar.dateColumnId, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.9/5.0
Behavior5/5

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

Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds detail about internal API usage and state retrieval limitations, going beyond annotations without contradiction.

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?

Well-structured with front-loaded purpose, followed by usage guidance, data source detail, and field definitions. Every sentence adds value without redundancy.

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

Completeness5/5

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

Despite no output schema, the description thoroughly documents all return fields, data source, and usage context, making it fully informative for a read operation.

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?

Input schema has 100% coverage with descriptions. Description adds meaning to the debug parameter and lists return fields, providing helpful context for parameter usage.

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 clearly states the tool reads a view's live configuration, listing all returned components. It distinguishes from siblings like update_view_filters and apply_view_sorts by specifying its audit purpose.

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?

Explicitly advises to use this tool before update tools to audit current state and choose between replace and append modes. Explains why the application/read endpoint alone is insufficient, providing clear context.

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

install_extensionA

Install an extension onto a dashboard page. Requires a block ID (from create_extension) and a page ID (from create_extension_dashboard).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
blockIdYesThe block ID (e.g. "blkXXX")
pageIdYesThe dashboard page ID (e.g. "bipXXX")
nameYesDisplay name for this installation
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.1/5.0
Behavior3/5

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

Annotations indicate the tool is not read-only and not destructive, and the description confirms it is a mutation action. However, it adds no additional behavioral details such as idempotency, error conditions, or side effects, relying heavily on annotations.

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 extremely concise, comprising two short sentences. Every word adds value, with the action stated first followed by necessary prerequisites.

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 the lack of an output schema, the description should hint at the response (e.g., success indicator). It also omits mention of the debug parameter and any potential errors. While it covers the basic action and dependencies, completeness is adequate but not thorough.

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 descriptions already cover all parameters (100% coverage). The description adds value by linking blockId and pageId to their source tools, but does not elaborate on name or debug beyond the schema.

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 clearly states the tool installs an extension onto a dashboard page. It distinguishes from sibling tools like create_extension and create_extension_dashboard by specifying the required source IDs, making its purpose unambiguous.

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 explicitly mentions that the tool requires a block ID from create_extension and a page ID from create_extension_dashboard, providing clear prerequisite context. However, it does not include when not to use the tool or alternatives, slightly limiting guidance.

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

list_fieldsA
Read-onlyIdempotent

List fields in a table — returns id, name, type, and typeOptions per field. Use instead of get_table_schema when you need fields only (no view data). Use fieldType or nameContains filters on large tables to reduce context size. Returns [{ id, name, type, typeOptions }].

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdOrNameYesThe table ID (tblXXX) or exact name
fieldTypeNoReturn only fields of this type, e.g. "formula", "text", "number", "checkbox"
nameContainsNoReturn only fields whose name contains this substring (case-insensitive)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly and idempotent; description adds return format details and the effect of debug parameter, but lacks info on potential limits or ordering.

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?

Three concise sentences front-loaded with purpose, followed by usage guidance and filter advice; no wasted words.

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

Completeness5/5

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

For a simple read-only list tool with annotations, the description fully explains what it returns and how to narrow results; no gaps.

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 has 100% coverage; description reinforces filter purposes but adds no new semantic details beyond what the schema already provides.

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 clearly states it lists fields in a table with specific fields (id, name, type, typeOptions) and distinguishes from sibling get_table_schema by noting when to use each.

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?

It explicitly recommends using this tool instead of get_table_schema when only fields are needed, and advises using filters on large tables to reduce context size.

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

list_record_templatesA
Read-onlyIdempotent

List all record templates for a table. Templates are embedded in the base scaffolding data. If the templates array is empty, pass debug:true and inspect the raw response to locate the templates key — the API path may vary by base.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (tblXXX)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

The description adds significant context beyond annotations, including the fact that templates are embedded in base scaffolding data, that the API path may vary, and how to use debug for troubleshooting. This fully complements the readOnlyHint and idempotentHint annotations.

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?

Two focused sentences: first states the primary purpose, second provides essential troubleshooting guidance. No unnecessary words or repetition.

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?

Given no output schema, the description adequately covers the main use case and edge case (empty templates array). It could briefly mention the expected response structure, but the annotations already cover safety and idempotency.

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?

The input schema already covers all parameter descriptions (100% coverage). The description adds extra value by explaining when and why to use the debug parameter, which goes beyond the schema's basic description.

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 clearly states the verb 'list' and the resource 'record templates' with scope 'for a table', which is specific and unambiguous. It distinguishes itself from sibling tools like apply_record_template and create_record_template by focusing on listing.

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 provides explicit guidance on using the debug parameter when the templates array is empty, and explains the underlying data structure (embedded in base scaffolding). However, it does not explicitly say when NOT to use this tool or compare with alternatives.

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

list_tablesA
Read-onlyIdempotent

List all tables in a base with their IDs and names — lightweight scaffolding call (no field data). Use this when you only need table IDs/names; use get_base_schema or get_table_schema when you also need fields or views. Returns [{ id, name }].

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnly, destructive, and idempotent hints. The description adds context: lightweight, no field data, and return format. No contradictions.

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?

Two concise sentences, front-loaded with purpose, no fluff. Every sentence adds value.

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

Completeness5/5

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

For a simple list tool with robust annotations and schema, the description is complete: it states what it returns and suggests alternatives. No gaps.

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 coverage is 100%, so baseline is 3. Description does not add significant meaning beyond the schema descriptions for appId and debug.

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 clearly states it lists all tables with IDs and names, and positions it as a lightweight call without field data. It distinguishes from siblings like get_base_schema and get_table_schema.

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?

Explicitly tells when to use (only need table IDs/names) and when to use alternatives (get_base_schema or get_table_schema for fields/views).

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

list_viewsA
Read-onlyIdempotent

List all views in a specific table with their IDs, names, and types.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdOrNameYesThe table ID or name
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate read-only, non-destructive, idempotent behavior. Description adds that it returns IDs, names, types but does not disclose potential pagination, ordering, or error handling. Adequate but not enriched beyond annotations.

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?

Single sentence with complete information, no redundancy. Front-loaded verb and object. Excellent conciseness.

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 simple list tool with annotations and full schema coverage, description covers purpose, scope, and return fields. No output schema, but fields are named. Missing minor details like ordering or error conditions, but overall sufficient.

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 coverage is 100% with parameter descriptions. Description adds no new meaning beyond 'list all views'; the debug parameter's effect is already described in schema. Baseline 3 applies.

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?

Description clearly states the tool lists all views in a specific table, including IDs, names, and types. It distinguishes from sibling tools like create_view, delete_view, get_view, and list_view_sections.

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?

Description implies usage for retrieving view metadata but does not explicitly state when to use over alternatives like get_view or list_view_sections. No guidance on prerequisites or context.

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

list_view_sectionsA
Read-onlyIdempotent

List all sidebar sections for a table. Sections are user-organized groupings of views in the Airtable left sidebar (e.g. "🚀 Posting workflow", "🗑️ Sold workflow"). Returns each section's id, name, and the views inside it. The table-level tableViewOrder is a mixed list of view IDs and section IDs at the top level — when a view is inside a section, it appears in that section's viewOrder, NOT in the table's.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdOrNameYesTable ID (preferred) or unambiguous table name
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable context about the output structure (id, name, views) and explains the relationship between section viewOrder and table-level tableViewOrder, exceeding what annotations provide.

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 front-loaded with the purpose and provides necessary details in a logical order. While somewhat lengthy, each sentence adds value, and the structure is clear.

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?

Given no output schema, the description adequately explains the return structure (id, name, views) and the ordering nuance. All parameters are described in the schema, and the tool's read-only nature is conveyed through annotations and description.

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?

Input schema covers 100% of parameters with descriptions. The description does not add new semantic meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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 clearly states the verb 'List' and the resource 'sidebar sections for a table', and distinguishes it from sibling tools that handle views directly. It provides concrete examples of section names, making the purpose unmistakable.

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 explains when to use this tool (to list sections and their views) and provides context about how section ordering relates to tableViewOrder. However, it does not explicitly state when not to use it or mention alternatives like list_views.

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

manage_toolsA
Idempotent

Control which tools are available. Actions: list_profiles, switch_profile, get_tool_status, toggle_tool, toggle_category. Use this to switch between read-only, safe-write, full, or custom profiles, or enable/disable individual tools.

Active profile: "full" — all tools enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe action to perform
profileNoProfile name for switch_profile action (read-only, safe-write, full, custom)
toolNoTool name for toggle_tool action
categoryNoCategory name for toggle_category action (read, table-write, table-destructive, field-write, field-destructive, view-write, view-destructive, extension)
enabledNoEnable (true) or disable (false) for toggle_tool / toggle_category actions

TDQS

A3.7/5.0
Behavior2/5

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

Annotations already indicate idempotentHint=true, but the description adds no behavioral context beyond listing actions. It does not discuss effects like persistence of changes or authentication needs. No contradiction with annotations.

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 concise at two sentences, front-loading the core purpose followed by actions. Every sentence adds value with no redundant words.

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 no output schema, the description lacks details on what each action returns. However, for a tool management function, it covers basic usage. It could mention that actions are idempotent or provide example responses, but it is adequate.

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 coverage is 100% with descriptions for all parameters. The description adds value by enumerating the actions and implicitly listing profile options ('read-only, safe-write, full, custom'), but it does not elaborate beyond what the schema provides.

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 starts with 'Control which tools are available' and lists five specific actions, making the purpose immediately clear. It is distinct from sibling tools that manipulate records, fields, or views.

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 explicitly states usage scenarios: switching profiles and enabling/disabling tools. It provides the current active profile context. It does not explicitly mention when not to use or alternatives, but the intended use is clear.

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

move_overall_columnsA
Idempotent

Move one or more columns to a new position in the overall index (visible + hidden). Sibling of move_visible_columns. Index 0 is the leftmost column in the underlying full order.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
columnIdsYesField IDs to move
targetOverallIndexYesDestination index in the overall (visible + hidden) ordering
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.7/5.0
Behavior3/5

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

No contradiction with annotations; description correctly implies non-destructive, idempotent move. However, it adds no extra context about side effects, permissions, or errors beyond annotations.

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?

Two sentences, front-loaded with action and key concept, no redundant information.

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?

No output schema, so return value is unexplained. Missing preconditions like view existence or appId validity. Adequate for a simple mutation but could provide more context.

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 coverage is 100%, so baseline is 3. Description adds value by clarifying index meaning (leftmost in underlying order) but does not elaborate on each parameter beyond schema.

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 clearly states the tool moves columns to a new position in the overall index (visible and hidden), distinguishes from sibling move_visible_columns, and explains indexing.

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?

Explicitly names sibling tool as alternative, implying when to use (overall vs visible), but does not explicitly state when to choose this tool over the sibling or provide prerequisites.

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

move_view_to_sectionA
Idempotent

Move a view (or a section itself) within the sidebar. The single endpoint covers four user actions depending on the arguments:

  • viewId + sectionId → put the view INTO that section at targetIndex

  • viewId + sectionId: null → move the view OUT to ungrouped at table-level targetIndex

  • sectionId-as-viewIdOrSectionId + targetIndex → reorder the section among other sections

  • viewId + same section → reorder the view within its current section For section reorders, targetIndex is into the table's top-level mixed viewOrder; for in-section moves, it's into that section's viewOrder.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (tbl-prefixed)
viewIdOrSectionIdYesA view ID (viw...) or section ID (vsc...) to move
targetIndexYesDestination index (0 = top). Per-section for in-section moves; per-table for section reorders.
targetSectionIdNoOptional vsc-prefixed section ID to move INTO. Omit (or pass null) to move the view to ungrouped.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare idempotentHint=true, not destructive. Description adds substantial behavioral context: explains how targetIndex works differently for section reorders vs in-section moves, and mentions the debug parameter. No contradiction with annotations.

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?

Description is a single well-structured paragraph with a clear front-loaded purpose statement and numbered list of four cases. Every sentence adds essential behavior info; no fluff.

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?

Covers all four use cases and explains targetIndex semantics. However, no mention of return value (no output schema) or error conditions. Given complexity (6 params, 4 required), slightly more context on output/errors would be ideal.

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?

All 6 parameters have schema descriptions (100% coverage). The tool description adds value by explaining the combinatorial semantics (e.g., viewId+sectionId vs viewId+null) and the dual meaning of targetIndex, which goes beyond what each parameter description provides individually.

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?

Description explicitly states it moves a view or section within the sidebar and enumerates four distinct use cases with argument patterns. This clearly differentiates it from sibling tools like create_view or reorder_view_fields.

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?

Description lists four specific actions and their argument combinations, implicitly guiding when to use each variant. However, it does not explicitly state contraindications or compare with alternative tools.

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

move_visible_columnsA
Idempotent

Move columns by visible-only index (index 0 = leftmost shown column, hidden columns not counted). Use when you want to position relative to what the user sees. Use move_overall_columns when you need to position relative to the full underlying column order including hidden fields. ⚠️ The API preserves existing relative order of supplied IDs — to place columns in a custom sequence, issue one call per column with incrementing targets.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
columnIdsYesField IDs to move as a contiguous block to targetVisibleIndex. ⚠️ The Airtable API preserves existing relative order of the supplied IDs — it does NOT re-sequence them by input array order. To place columns in a specific custom sequence, issue separate single-column calls with incrementing targets (e.g. ["fldA"]→1, ["fldB"]→2, ["fldC"]→3).
targetVisibleIndexYesDestination index in the visible-only column ordering (0 = leftmost visible)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

No contradiction with annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true). The description adds key behavioral context: the API preserves existing relative order of supplied IDs, and warns about the need for multiple calls for custom sequencing. Also notes the debug parameter for diagnostics.

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?

Extremely concise: two short sentences plus a warning line. Every sentence adds value—purpose, differentiation, and behavioral nuance. No fluff.

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?

The description covers the core behavior, usage guidance, and a critical API caveat. No output schema exists, but the debug parameter hints at response content. Could mention that the change is persistent or any error conditions, but overall sufficient for a focused mutation tool with good annotations.

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 100% and already includes thorough parameter descriptions (e.g., the caveat on columnIds). The tool description does not add new meaning beyond the schema, so baseline of 3 is appropriate.

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 states a specific verb ('Move') and resource ('columns by visible-only index'), clarifying that index 0 is the leftmost shown column. It explicitly distinguishes from the sibling 'move_overall_columns' by contrasting visible-only vs full column order.

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?

Clear guidance on when to use: 'Use when you want to position relative to what the user sees.' Directly names the alternative 'move_overall_columns' for different needs. Also warns about the API preserving relative order and advises one call per column for custom sequences.

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

query_recordsA
Read-onlyIdempotent

Read records from an Airtable table view. Returns resolved field values including lookup fields. Supports optional client-side text search across all field values — unlike the REST API filterByFormula approach, this search works correctly on lookup fields. Fetch up to 1000 records per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID (e.g. "tblXXX")
viewIdYesThe view ID (e.g. "viwXXX") — determines row order and visible fields
columnIdsNoOptional: specific field IDs to fetch. Omit to fetch all fields.
limitNoMaximum number of records to fetch before filtering (1–1000). Default: 100. Increase if search returns too few results.
searchNoOptional case-insensitive substring to match against any field value. Works on lookup fields, formula fields, and multi-select arrays. Applied after fetching — increase limit if you need to search more records.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that search is client-side, applied after fetching, and that up to 1000 records are fetched per call. No contradictions.

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?

Two sentences, front-loaded with main purpose, and each sentence adds value. No redundant information.

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?

Explains key behaviors: resolved field values, optional search, limit. No output schema, so return format is implied but not detailed. Covers main aspects well.

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 baseline is 3. The description adds context beyond schema, especially for the search parameter (works on lookup fields) and limit (up to 1000).

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 clearly states it reads records from an Airtable table view and returns resolved field values including lookup fields. It differentiates from siblings by highlighting its client-side search that works on lookup fields, which is distinct from other tools like list_fields or get_view.

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?

Provides implicit usage context: use for reading records with optional search, and advises increasing limit for search. However, it lacks explicit when-not-to-use or direct comparison with sibling tools beyond the search mention.

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

remove_extensionB
Destructive

Remove an installed extension from a dashboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
installationIdYesThe block installation ID to remove (e.g. "bliXXX")
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate destructiveHint: true. The description adds the context that removal is from a dashboard, which goes beyond annotations but does not detail side effects, audit logs, or permission requirements.

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 a single concise sentence that immediately conveys the tool's purpose. No unnecessary words, but could benefit from a brief usage note.

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 the tool's simplicity and the existence of annotations and a thorough schema, the description covers the basic purpose. However, it omits return value details (no output schema) and error scenarios, making it slightly incomplete for complex usage.

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 coverage is 100% with each parameter described. The description adds no additional meaning beyond the schema, such as format hints or common usage patterns. Baseline score of 3 is appropriate.

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 clearly states the action 'remove' and the resource 'installed extension from a dashboard'. Among sibling tools dealing with extensions (install, create, duplicate, rename, update state), removal is uniquely identified, providing clear differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For example, it does not mention that this is irreversible or that the extension should be installed first. No exclusion criteria or prerequisites are provided.

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

rename_extensionC
Idempotent

Rename an installed extension.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
installationIdYesThe block installation ID (e.g. "bliXXX")
nameYesNew name for the extension
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate it is idempotent, non-destructive, and not read-only. The description adds no further behavioral context, such as immediate effect, error handling, or scope of impact.

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 a single concise sentence with no wasted words. It is front-loaded and to the point, though slightly terse.

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?

For a simple rename operation, the description is adequate but could mention immediate effect or constraints (e.g., name uniqueness). No output schema increases the need for clarity, but the operation is straightforward.

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?

The input schema has 100% parameter description coverage, so the description adds no extra parameter meaning. Baseline 3 is appropriate as the schema already documents each parameter.

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?

The description clearly states the verb 'rename' and the resource 'installed extension', distinguishing it from sibling rename tools like rename_field and rename_table. It is direct and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., update_extension_state for other modifications). It lacks context about prerequisites or scenarios.

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

rename_fieldA
Idempotent

Rename a field (column) in an Airtable table. Pre-validates the field exists before mutating.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe field/column ID to rename
newNameYesThe new name for the field
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior4/5

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

Annotations provide destructiveHint=false and idempotentHint=true, and the description adds the important detail 'Pre-validates the field exists before mutating', which is not in annotations. No contradictions.

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?

Two concise sentences with no superfluous text. The core action is front-loaded, and every word adds value.

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 simple rename operation with no output schema, the description covers the essential context: what it does (rename), the resource (field), and an extra behavioral guarantee (pre-validation). Could optionally note return value, but not necessary.

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 100% (all 4 parameters described in schema). The description does not add additional meaning beyond what the schema already provides, meeting the baseline.

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?

Clearly states verb 'Rename' and resource 'field (column) in an Airtable table'. The additional detail about pre-validation further clarifies the behavior. Unambiguously distinguishes from siblings like rename_table, rename_view, etc.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., duplicate_field, update_field_config). The description focuses solely on the rename action without providing context for selection among siblings.

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

rename_record_templateB
Idempotent

Rename an existing record template.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX)
nameYesNew template name
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already indicate idempotence and non-destructive mutation, but the description adds no extra behavioral context (e.g., uniqueness constraints, effect on references).

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?

Single sentence, no fluff. Efficiently conveys the core purpose.

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 the tool's simplicity and presence of idempotentHint, completeness is adequate but lacks details on return value or constraints. Could benefit from mentioning that renaming is immediate and irreversible.

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 coverage is 100%, and the description adds no additional meaning beyond the schema's parameter descriptions. Baseline score of 3 applies.

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 clearly states the action (rename) and the resource (record template), distinguishing it from sibling tools like 'rename_field' or 'rename_table'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or prerequisites. The description only states the function, no context for selection.

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

rename_tableA
Idempotent

Rename a table in an Airtable base.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID to rename (e.g. "tblXXX")
newNameYesThe new name for the table
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true and destructiveHint=false. The description does not add any additional behavioral context (e.g., that renaming does not affect data or references), so it adds no value beyond the annotations.

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 a single, concise sentence that front-loads the verb. It is appropriately sized for a simple tool, though it could include slightly more detail without becoming verbose.

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 the tool's simplicity, full schema coverage, and no output schema, the description is minimally adequate. However, it lacks guidance on usage and side effects, which would make it more complete.

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 100%, so the baseline is 3. The description does not mention any parameters or add meaning beyond what the schema already provides.

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 clearly specifies the action (rename) and the resource (table in an Airtable base). This distinguishes it from sibling tools that rename other resources (e.g., rename_field, rename_view).

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?

No explicit guidance on when to use or when alternatives (like rename_field) are appropriate. Usage is implied by the tool's name and parameters, but no exclusions or context are provided.

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

rename_viewC
Idempotent

Rename a view.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID to rename (e.g. "viwXXX")
newNameYesThe new name for the view
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already provide idempotentHint=true, but the description adds no extra behavioral context (e.g., effects on data, reversibility, or permissions). It does not contradict annotations.

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

Conciseness3/5

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

The description is extremely concise at two words, but it adds little value beyond the tool name. It could be expanded with one sentence about purpose without sacrificing conciseness.

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 the tool's simplicity and full schema coverage, the description is minimally viable. However, it lacks any mention of the tool's role within the broader set of view operations.

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 100%, so parameters are already well-documented. The description adds no additional meaning beyond the schema, which is acceptable but not exceeding baseline.

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?

The description 'Rename a view' clearly states the verb (rename) and resource (view). It is specific enough to distinguish from sibling tools like 'rename_view_section' or 'rename_field', though it does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'rename_view_section' or 'rename_table'. No context on prerequisites or when not to use it.

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

rename_view_sectionB
Idempotent

Rename a sidebar section.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
sectionIdYesThe section ID (vsc-prefixed)
nameYesNew section name
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, which the description implicitly matches (renaming is idempotent and non-destructive). However, the description does not add any behavioral details beyond these annotations, such as whether renaming affects other references or has side effects. With annotations covering the essential traits, the description adds minimal value but is not contradictory.

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 a single, frontloaded sentence of five words: 'Rename a sidebar section.' It is perfectly concise with no redundant information, efficiently stating the tool's action and object.

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?

For a simple tool with 4 params, full schema coverage, and no output schema, the description is minimally adequate. However, it lacks context about what a 'sidebar section' is, how to obtain a section ID, or any constraints on the new name. Given the tool's low complexity and the presence of annotations, it just barely meets the bar for completeness.

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?

All four parameters (appId, sectionId, name, debug) have clear descriptions in the input schema (100% coverage). The tool description does not add any further semantic information about the parameters, so it relies entirely on the schema. Baseline score of 3 is appropriate.

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?

The description 'Rename a sidebar section' clearly states the action (rename) and the resource (sidebar section). The tool name matches, but it doesn't differentiate from sibling tools like 'rename_view' or 'rename_record_template', though the context is clear enough. Score 4 because it's specific but lacks sibling differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'move_view_to_section' or 'create_view_section'. There are no prerequisites mentioned (e.g., needing the section ID). The description is purely declarative without any usage hints.

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

reorder_view_fieldsA
Idempotent

Reorder the fields (columns) displayed in a view. Accepts a partial map: pass only the field IDs you want to move, e.g. { "fldX": 1 } to move fldX to position 1. Other fields keep their relative order. Index 0 is the leftmost position after the primary field. Internally the tool reads the view's current columnOrder, applies the moves, and sends the complete map (the underlying internal API rejects single-key inputs with FAILED_STATE_CHECK — user report 2026-04-30 §2.6).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
fieldOrderYesMap of field IDs to target column indices: { "fldXXX": 0, "fldYYY": 1, "fldZZZ": 2 }. Index 0 is the leftmost position after the primary field.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

The description goes beyond annotations by revealing internal behavior: 'reads the view's current columnOrder, applies the moves, and sends the complete map.' It also documents a real user-edge case about the internal API rejecting single-key inputs. Since annotations only provide basic hints (idempotentHint=true), this added context significantly enhances 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 exceptionally concise, consisting of just two sentences. The first sentence immediately states the purpose, and the second packs usage instructions, indexing rules, and a critical internal behavior note. Every sentence earns its place with no redundant information.

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?

Given the tool's complexity (4 parameters, nested object, no output schema), the description covers key aspects: partial map usage, indexing, internal process, and a user-reported edge case. However, it does not describe the normal return value (only mentions debug output includes raw response). With no output schema, a brief note on what is returned in non-debug mode would improve completeness.

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?

The input schema already covers all parameters with descriptions (100% coverage), so the description's added value is moderate. It explains that 'fieldOrder' is a partial map and clarifies indexing, which reinforces schema info. The debug parameter's behavior is also clarified. This adds meaningful context but does not introduce entirely new parameter meaning.

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 clearly states the tool's purpose: 'Reorder the fields (columns) displayed in a view.' It specifies that it accepts a partial map and explains indexing (index 0 is leftmost after primary field). This is a specific verb+resource combination that distinguishes it from sibling tools like 'move_visible_columns' or 'set_view_columns' by focusing on precise field ordering.

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 provides clear usage guidance: 'Accepts a partial map: pass only the field IDs you want to move... Other fields keep their relative order.' It also warns about the underlying internal API rejecting single-key inputs. However, it does not explicitly state when to use this tool versus alternatives like 'move_visible_columns' or 'set_view_columns', missing an opportunity to differentiate.

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

set_calendar_date_columnsA
Idempotent

Set the date-column ranges shown on a Calendar view. Each entry is either { startColumnId } for single-point events or { startColumnId, endColumnId } for range events. The array form lets a single calendar overlay multiple date series at once (e.g. "Created date" + "Start → End range" together).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe Calendar view ID
dateColumnRangesYesArray of date-column-range entries.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true, and the description adds useful behavioral context about allowing multiple date series in one array. No contradictions; the description clarifies the tool's effect beyond what annotations provide.

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 two sentences, front-loaded with the main action, and every word adds value. No fluff or repetition.

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 nested parameters and no output schema, the description sufficiently explains the input structure. It could mention return behavior (e.g., success/failure), but the core functionality is well-covered.

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

Parameters5/5

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

The description adds significant meaning beyond the schema by explaining the structure of dateColumnRanges entries, the optional endColumnId for range events, and the ability to combine multiple date series. With 100% schema coverage, this goes above the baseline.

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 clearly states the tool's purpose: setting date-column ranges on a Calendar view. It explains the format for single-point and range events, and provides an example. This differentiates it from sibling tools like set_view_columns.

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 implies usage for configuring calendar views but does not provide explicit when-to-use or when-not-to-use guidance. Given many sibling view-related tools, more context would help the agent choose correctly.

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

set_form_metadataA
Idempotent

Update one or more legacy-form-view metadata properties in a single call. Unset properties are not touched. Each property fans out to its own atomic Airtable endpoint.

Supported properties: description — intro text shown above the form afterSubmitMessage — "thank you" text after submission redirectUrl — URL to redirect to after submit refreshAfterSubmit — post-submit behavior (e.g. "REFRESH_BUTTON") shouldAllowRequestCopyOfResponse — boolean: show "send me a copy" toggle to respondents shouldAttributeResponses — boolean: track which user submitted (for signed-in respondents) isAirtableBrandingRemoved — boolean: hide Airtable branding (paid plans only)

Note: "form title" is the view name itself — use rename_view to change it. "Field labels on the form" use a per-field endpoint that has not been captured yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe form view ID
descriptionNoIntro text shown above the form (omit to leave unchanged)
afterSubmitMessageNoConfirmation text shown after submission
redirectUrlNoURL to redirect to after submit
refreshAfterSubmitNoPost-submit behavior (e.g. "REFRESH_BUTTON")
shouldAllowRequestCopyOfResponseNoAllow respondents to request a copy of their submission
shouldAttributeResponsesNoTrack which signed-in user submitted each response
isAirtableBrandingRemovedNoHide the Airtable branding on the form (paid plans)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior4/5

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

Annotations provide idempotentHint=true, which the description does not contradict. The description adds transparency by noting that unset properties are untouched and that it fans out to atomic Airtable endpoints. This exceeds the baseline set by annotations.

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 front-loaded with the main action and then lists properties. It is reasonably concise but could be trimmed further since the properties are also described in the schema. No unnecessary sentences.

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?

The description covers input details well but does not explain the output (no output schema). It omits error handling, response format, and prerequisites (e.g., must be a legacy form). Given the lack of output schema, this is a notable gap.

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 100%, so baseline is 3. The description lists supported properties with brief explanations that partially duplicate the schema. It adds marginal context (e.g., 'intro text shown above the form') but does not significantly enhance parameter understanding.

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 clearly states the tool updates legacy-form-view metadata properties in a single call. It lists supported properties and distinguishes from sibling tools like rename_view for changing the form title, providing specific verb and resource.

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 explains when to use this tool (updating form metadata) and explicitly notes alternatives: rename_view for title changes and a per-field endpoint for field labels. It could be more explicit about not using it for non-form views, but the context is clear.

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

set_form_submission_notificationA
Idempotent

Toggle email-on-submit notifications for a specific user on a form view. Per-user, not per-form (separate from set_form_metadata).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe form view ID
userIdYesThe Airtable user ID to enable/disable notifications for (usr-prefixed)
shouldEnableYestrue to send email-on-submit, false to stop
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide idempotentHint=true, readOnlyHint=false, destructiveHint=false. The description adds that it is a per-user toggle, which is consistent with idempotency. It doesn't reveal additional behavioral traits like permissions or side effects, but the combination of annotations and description sufficiently covers the behavior for this simple mutation.

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?

Two sentences, no fluff, front-loaded with the key action and differentiator. Every sentence adds value and is appropriately concise for the tool's simplicity.

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 straightforward toggle tool with 5 parameters and no output schema, the description along with annotations and schema covers the essential information. Missing output description is minor, and the tool's behavior is clear given its simplicity.

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 coverage is 100% with clear descriptions for all 5 parameters. The tool description does not add extra semantic value beyond what's already in the input schema, so a baseline score of 3 is appropriate.

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?

Description clearly states the action (toggle), the resource (email-on-submit notifications for a specific user on a form view), and distinguishes from sibling set_form_metadata. The verb 'toggle' and resource are specific and unambiguous.

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?

Description explicitly says 'Per-user, not per-form (separate from set_form_metadata)', which tells the agent when to use this tool versus an alternative. While it doesn't exhaustively list all when-not cases, it provides clear context for differentiation among siblings.

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

set_record_template_cellA
Idempotent

Pre-fill a field value on a record template.

CELL OBJECT TYPES (verified via API capture 2026-05-01):

Static value (text, number, boolean, single-select choice ID): { "type": "static", "value": "some text" } { "type": "static", "value": 42 } { "type": "static", "value": true } { "type": "static", "value": "selXXXXXXXXXXXXXX" } ← single-select: pass choice ID

Linked record(s): { "type": "linkedRows", "value": [{ "foreignRowId": "recXXX", "foreignRowDisplayName": "Record Name" }] }

To clear a field, omit the cellObject or pass null value.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX)
columnIdYesField ID (fldXXX)
cellObjectYesCell value object. Must have "type" ("static" or "linkedRows") and "value".
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.5/5.0
Behavior4/5

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

Annotations show idempotentHint=true, and description reinforces with clear cell object format and clearing instructions. No contradictions. Missing discussion of authorization or side effects.

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?

Very concise: one-sentence purpose followed by bullet examples. Every sentence adds value, no 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?

Covers nested cellObject well. No output schema expected. Could mention success indicators but not essential.

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

Parameters5/5

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

The input schema covers 100% of parameters, but description adds significant value with concrete examples (how to pass single-select choice ID, linked record arrays) that exceed schema detail.

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 clearly states 'Pre-fill a field value on a record template' using specific verb+resource. It distinguishes from sibling tools like apply_record_template or set_record_template_visible_columns.

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?

Provides examples for static and linkedRows cell types, and how to clear a field. Implicitly guides when to use (for setting default values on templates) but lacks explicit when-not-to-use or comparisons with alternatives.

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

set_record_template_visible_columnsA
Idempotent

Set which columns are shown (pre-fillable) on a record template. Pass an empty array to show all columns. isPartialSelection:true means only listed columns are shown; false means all are shown.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX)
columnIdsYesOrdered list of field IDs to show. Empty array shows all.
isPartialSelectionNotrue = show only listed columns; false = show all. Default: true
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true, destructiveHint=false. The description adds behavioral details: how empty array and isPartialSelection affect output. No contradictions, and it enriches understanding beyond annotations.

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?

Two sentences cover purpose, empty array behavior, and isPartialSelection. No fluff, front-loaded with main action.

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

Completeness5/5

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

All parameters are explained, annotations cover safety, and no output schema needed. For a mutation tool with idempotency and no destructiveness, the description is sufficiently complete.

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%, but description adds value: explains that empty columnIds shows all, and clarifies isPartialSelection and debug parameter meaning. Goes beyond schema descriptions.

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 clearly states the tool sets which columns are shown on a record template, using the verb 'Set' and specifying the resource. It distinguishes from sibling tools like set_view_columns by targeting record templates specifically.

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 explains how to use the tool: pass an empty array to show all columns, and clarifies the isPartialSelection parameter. While it doesn't explicitly contrast with siblings, the context makes it clear this is for record templates.

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

set_view_cell_wrapA
Idempotent

Toggle whether long cell values wrap (multi-line) or truncate (single-line with ellipsis).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
shouldWrapCellValuesYestrue to wrap, false to truncate
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior4/5

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

The description discloses the toggle action and the two states (wrap vs truncate), which aligns with the idempotentHint annotation. It adds behavioral context beyond the annotations by clarifying the visual effect on cell values. However, it does not elaborate on any side effects or prerequisites.

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 a single, concise sentence that immediately conveys the purpose. It is front-loaded with the verb and uses clear terminology ('multi-line', 'ellipsis'). There is no wasted text.

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?

The description adequately explains what the tool does given its simplicity. It does not require an output schema explanation. However, it could explicitly state that it applies to a specific view (implied by parameters but not the description).

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 100%, so the baseline is 3. The description does not add additional meaning beyond the schema; it only restates the boolean parameter's effect. The parameters are self-explanatory from the schema.

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 ('Toggle') and clearly identifies the resource ('long cell values wrap...or truncate'). It directly states the effect on the view's display behavior, which distinguishes it from sibling tools like 'set_view_columns' or 'set_view_color_config'.

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 does not explicitly state when to use this tool or when not to use it. It provides no comparison to alternative tools, such as those for setting column widths or line height. The usage context is implied by the toggle behavior, but no guidance is given.

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

set_view_color_configA
Idempotent

Apply a color config to a view (Kanban / Gallery / Calendar). Currently supports type: "selectColumn" — card colors are taken from a single-select field's choice colors. Other types (e.g. rule-based coloring) exist in Airtable's UI but their payload shapes have not been fully captured yet — passing an unknown type is forwarded as-is so callers can experiment.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
colorConfigYesColor config object. Verified shape: { type: "selectColumn", selectColumnId: "fld...", colorDefinitions: null }.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true and non-destructive. The description adds transparency by explaining that known type 'selectColumn' takes colors from a single-select field, and unknown types are forwarded as-is for experimentation. This exceeds annotation-only info, though it could mention response behavior (e.g., success indicator). No contradiction.

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?

Two concise sentences, each serving a purpose: first states action and scope, second explains supported type and caution. No filler, front-loaded with core purpose.

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?

Despite no output schema, the description mentions debug parameter for diagnostics, providing some return context. However, it lacks typical success/failure indicators and prerequisites (e.g., view existence). Adequate but not comprehensive for a mutation with nested objects.

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 coverage is 100% with descriptions already included. The tool's description only reiterates the colorConfig shape already in the schema, adding no new parameter information. Baseline 3 applies because the schema adequately documents parameters.

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 clearly states the verb 'Apply' and resource 'a color config to a view', listing supported view types (Kanban, Gallery, Calendar). It distinguishes the tool from siblings like set_view_columns by specifying the unique operation of setting color configuration, and adds nuance by noting the supported type and forwarding behavior for unknown types.

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 implies usage for setting card colors via selectColumn type, but does not explicitly state when to use this tool versus alternatives (e.g., set_view_columns for column settings). It warns about unknown types but lacks explicit when-not or alternative guidance.

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

set_view_columnsA
Idempotent

One-shot view-column reset: hides every column then shows only visibleColumnIds in the given left-to-right order, with optional freeze. Use this for fresh view setup or full layout rewrites. Use show_or_hide_view_columns when you only want to toggle specific columns without touching the rest.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (viw-prefixed)
visibleColumnIdsYesField IDs to show, in left-to-right order. All other fields are hidden.
frozenColumnCountNoOptional. If set, freezes this many columns from the left.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.9/5.0
Behavior5/5

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

The description explains the exact behavior (hides everything then shows selected columns) and the effect of optional freeze. Annotations indicate idempotentHint=true, and the description does not contradict any annotation. It adds the 'one-shot' reset context.

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 extremely concise with two short sentences. The first sentence states the core functionality, and the second provides usage guidance. No unnecessary words or repetition.

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

Completeness5/5

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

For a tool with 5 parameters (all well-documented in schema), no output schema, and clear annotations, the description covers the main behavior and usage context. The 'debug' parameter is mentioned in schema but not in description, but the description's completeness is adequate for agent 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?

The input schema has 100% description coverage, so the description does not need to elaborate much. It briefly mentions 'optional freeze' which aligns with frozenColumnCount. No additional parameter info is necessary given the schema completeness.

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 clearly states the tool's action as a one-shot view-column reset, explaining that it hides all columns then shows only the specified ones in order. It distinguishes itself from the sibling tool 'show_or_hide_view_columns' by contrasting the use case.

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?

The description explicitly states when to use this tool ('fresh view setup or full layout rewrites') and when to use an alternative ('show_or_hide_view_columns' for toggling specific columns without resetting). This provides clear decision criteria.

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

set_view_coverA
Idempotent

Set the cover-image field and crop/fit mode for Kanban or Gallery views. Pass coverColumnId: null to remove the cover. Either field can be passed independently — the other is left untouched.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
coverColumnIdNoAttachment field ID to use as cover (or null to remove)
coverFitTypeNoHow the cover image is displayed
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.4/5.0
Behavior4/5

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

Description adds context beyond annotations: mentions null to remove cover and independent field behavior. Annotations indicate idempotent and non-destructive, which aligns. No contradictions.

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?

Two sentences, no wasted words, front-loaded with action and resource. Efficient and clear.

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?

Covers core functionality, removal, and field independence. Could mention that view type must be Kanban or Gallery, but overall sufficient for a set tool without 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% with descriptions. Description adds value by clarifying independent field behavior and null usage for removal, beyond what schema provides.

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?

Description clearly states the verb (set), resource (cover-image field and crop/fit mode), and scope (Kanban or Gallery views). Differentiates from sibling tools by being specific to cover images, and explains that fields can be set independently.

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?

Provides guidance on removing the cover via null and that fields are independent. Does not explicitly state when to use this tool over alternatives, but siblings indicate it is the only cover-related tool, so sufficient context.

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

show_or_hide_all_columnsA
Idempotent

Show or hide every column in a view in one call. Use when you want a clean all-visible or all-hidden baseline. Use set_view_columns when you want to show a specific subset (it hides all then shows only the listed IDs). Use show_or_hide_view_columns for selective per-column toggles.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
visibilityYestrue to show all, false to hide all
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.3/5.0
Behavior3/5

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

The description does not add behavioral context beyond what annotations already provide. Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=false, which adequately convey the safety profile. The description merely restates the action, adding no extra details about side effects, permissions, or behavior.

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 main action, and every sentence serves a purpose: function, usage, alternatives. No extraneous information.

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

Completeness5/5

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

Given the tool's simplicity (4 parameters, 3 required, no output schema) and the presence of detailed annotations and sibling comparisons, the description is fully complete. It explains what the tool does, when to use it, and how it differs from similar tools.

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 coverage is 100% as all four parameters have descriptions in the schema. The tool description itself adds no additional meaning beyond the schema's parameter descriptions. With high coverage, baseline score of 3 is appropriate.

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+resource: 'Show or hide every column in a view in one call.' It clearly distinguishes from sibling tools set_view_columns and show_or_hide_view_columns by stating the scope (all columns vs specific subset or selective toggles).

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?

The description explicitly states when to use this tool ('when you want a clean all-visible or all-hidden baseline') and provides clear alternatives with specific tool names: 'Use set_view_columns when you want to show a specific subset... Use show_or_hide_view_columns for selective per-column toggles.'

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

show_or_hide_view_columnsA
Idempotent

Show or hide specific columns in a view without affecting others. Pass field IDs + a visibility flag — every listed ID is set to that state, all other columns are untouched. Use set_view_columns instead when you want to define the full visible set from scratch. Use show_or_hide_all_columns to bulk-toggle every column at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
columnIdsYesArray of field IDs to show or hide
visibilityYestrue to show, false to hide
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.8/5.0
Behavior5/5

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

Annotations include idempotentHint=true, destructiveHint=false. The description adds critical behavioral context: 'every listed ID is set to that state, all other columns are untouched.' This explains the non-destructive, incremental nature beyond what annotations provide. No contradiction with annotations.

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: first states purpose, second explains mechanism with clarity, third gives alternative tool recommendations. Every sentence adds value, no fluff. The important information is front-loaded.

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?

With 5 parameters, 100% schema coverage, and no output schema, the description covers the tool's operation well. It explains the effect on columns and provides usage context. However, it doesn't describe the return value or error scenarios, which could be useful for a tool that modifies state. Still, for a simple toggle with idempotentHint, this is adequate.

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%, baseline 3. The description adds semantic value by clarifying that 'every listed ID is set to that state' (i.e., all columnIds are toggled to the same visibility flag) and that other columns remain unaffected. The debug parameter is also mentioned. This provides meaningful context beyond the schema's property descriptions.

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 clearly states the tool's purpose: 'Show or hide specific columns in a view without affecting others.' It identifies the specific verb ('show or hide') and resource ('columns in a view'), and distinguishes itself from siblings like 'set_view_columns' and 'show_or_hide_all_columns' by highlighting the incremental nature.

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?

The description explicitly provides usage guidance: 'Use `set_view_columns` instead when you want to define the full visible set from scratch. Use `show_or_hide_all_columns` to bulk-toggle every column at once.' This clearly tells the agent when to use this tool versus alternatives, with named siblings and specific scenarios.

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

update_extension_stateB
Idempotent

Enable or disable an extension installation.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
installationIdYesThe block installation ID (e.g. "bliXXX")
stateYes"enabled" or "disabled"
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate idempotent and non-destructive behavior. The description adds no further behavioral details beyond stating the action, but does not contradict annotations.

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?

Single sentence that is concise and front-loaded. However, it could include more useful information without becoming verbose.

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?

No output schema, minimal description. Lacks information about return values, error handling, or context like what 'extension installation' means, though the tool is simple.

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?

All parameters have descriptions in the schema (100% coverage). The tool description adds no additional parameter semantics beyond what the schema provides.

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 clearly specifies the action ('Enable or disable') and the resource ('extension installation'), which distinguishes it from siblings like 'install_extension' or 'remove_extension'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'install_extension' or 'remove_extension'. Missing context for prerequisites or exclusions.

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

update_field_configA
Idempotent

Update the configuration of any field — computed OR non-computed. Works for formula, rollup, lookup, count, singleSelect, multipleSelects, number, date, text, and all other field types.

COMMON typeOptions by fieldType:

formula: { formulaText: "IF({Field}, 1, 0)" } rollup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET", formulaText: "SUM(values)" } (formulaText is REQUIRED; old keys fieldIdInLinkedTable/recordLinkFieldId auto-translated) lookup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET" } (old keys fieldIdInLinkedTable/recordLinkFieldId auto-translated) count: { recordLinkFieldId: "fldXXX" } singleSelect: { choices: [{ name: "Option A", color: "blue" }], default: "selXXX" } multipleSelects: { choices: [{ name: "PC", color: "blue" }, { name: "Xbox", color: "cyan" }], default: ["selXXX"] } number: { format: "integer"|"decimal"|"currency"|"percentV2", precision: 2, symbol: "$", negative: false } text / multilineText / checkbox: omit typeOptions entirely — passing {} causes a 422

SELECT CHOICES:

  • Pass choices as array [{ name, color? }] or object { selXXX: { name, color? } }.

  • Color names (confirmed): "blue", "cyan", "teal", "green", "yellow", "orange", "red", "pink", "purple", "gray".

  • "default" = pre-selected value: string ID for singleSelect, array of IDs for multipleSelects.

ADDING TO AN EXISTING SELECT FIELD (merge, not replace): Choices not in the list are DELETED. To add without losing existing choices:

  1. Call get_table_schema — each existing choice has { id, name, color }

  2. Pass the full list: existing entries WITH their id, new entries WITHOUT: { choices: [{ id: "selXXXXXXXXXXXXXX", name: "Existing" }, { name: "New Choice", color: "pink" }] }

REPLACING ALL CHOICES: just pass the new choices without any IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe field/column ID (e.g. "fldXXX")
fieldTypeYesThe field type: "formula", "rollup", "lookup", "count", "singleSelect", "multipleSelects", "number", "date", "text", etc.
typeOptionsYesType-specific options — see tool description for shapes per fieldType.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.8/5.0
Behavior5/5

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

Beyond annotations (idempotentHint=true, readOnlyHint=false, destructiveHint=false), the description warns that choices not passed are deleted, which is crucial destructive behavior. It also notes that text fields must omit typeOptions to avoid errors, and that old rollup keys are auto-translated. These details add significant behavioral context not covered by annotations.

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 well-structured with clear sections, examples, and warnings. It uses headings ('COMMON typeOptions by fieldType', 'SELECT CHOICES', 'ADDING TO AN EXISTING SELECT FIELD') to organize information. Despite its length, every sentence provides essential guidance, making it efficient and appropriately detailed for the tool's complexity.

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

Completeness5/5

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

Given the absence of an output schema, the description fully covers input parameters and their variations. It addresses multiple field types, edge cases (e.g., preserving existing choices), and error conditions (e.g., 422 for text fields). This ensures an agent can correctly invoke the tool without missing critical details.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds immense value by providing concrete examples and rules for typeOptions per fieldType, explaining the choices format with colors and default IDs, and detailing the merge vs. replace logic. This goes far beyond the schema's brief descriptions, making parameter usage clear and reducing guesswork.

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 clearly states it updates any field configuration, computed or non-computed, and lists numerous field types. This distinguishes it from siblings like create_field (creates new fields) and delete_field (removes fields). The verb 'update' paired with 'field configuration' is specific and unambiguous.

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 provides extensive usage guidance for different field types, including examples of typeOptions and how to handle choice fields (adding vs. replacing). However, it does not explicitly state when to prefer this tool over similar siblings like update_formula_field, nor does it mention prerequisites or when not to use it. The guidance is implicit but comprehensive.

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

update_field_descriptionA
Idempotent

Update the description text of a field.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe field/column ID (e.g. "fldXXX")
descriptionYesThe new description text
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.7/5.0
Behavior3/5

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

Annotations indicate this is a mutation (readOnlyHint=false) but idempotent. The description adds 'update' behavior, but does not disclose whether the description is replaced entirely or what happens if the field does not exist. No contradiction with annotations.

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?

A single, clear sentence with no superfluous words. Highly concise.

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?

For a simple update tool with 3 required params and no output schema, the description covers the basic operation. However, it lacks mention that the field must exist or that the description is fully replaced.

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?

All parameters are fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema's documentation.

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 clearly states the action ('Update') and the target ('description text of a field'), distinguishing it from sibling tools like 'rename_field' or 'update_field_config'.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., 'rename_field' for renaming the field name). The usage is implied by the task of updating a description, but no exclusion criteria are provided.

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

update_formula_fieldA
Idempotent

Update the formula body of an existing formula field — shorthand for update_field_config with type "formula". Automatically preserves existing format/precision typeOptions (e.g. percentV2, precision). Use update_field_config to change the field type or other typeOptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
fieldIdYesThe field/column ID (e.g. "fldXXX")
formulaTextNoThe new formula text
formulaFilePathNoPath to a local .formula or .fx file. When provided, reads formula from file instead of formulaText (unblocks large formulas that exceed LLM output limits). The # AT: metadata header is stripped automatically.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, destructiveHint=false. Description adds context about preserving existing format/precision typeOptions, which is useful behavioral insight beyond annotations.

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?

Two sentences conveying purpose, usage, and key behaviors with no redundancy. Front-loaded with action, earning its sentences.

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?

Given 5 parameters, no output schema, and moderate complexity, the description adequately covers purpose, usage, behavioral context, and parameter semantics. Missing return value info is acceptable since no output schema exists.

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 description coverage is 100%, but description adds meaning by explaining the file path option for large formulas and automatic stripping of metadata header, providing value beyond schema.

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?

Description clearly states the tool updates the formula body of a formula field, identifies it as a shorthand for update_field_config with type 'formula', and distinguishes from siblings like update_field_config.

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?

Explicitly states when to use this tool (to update formula body) and when to use the sibling update_field_config (to change field type or other typeOptions), providing clear guidance and alternatives.

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

update_frozen_column_countA
Idempotent

Set the frozen-column divider position for a grid view. The first N columns from the left are frozen and stay visible during horizontal scroll.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID
frozenColumnCountYesNumber of columns to freeze (counted from the left). 0 unfreezes all.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate idempotency. The description adds that setting to 0 unfreezes all, which is useful. However, it does not disclose behavior on non-grid views or required permissions, leaving gaps.

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?

Two concise sentences effectively communicate the core functionality with no wasteful words. Could potentially be more succinct but already well-structured.

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?

The description covers the basic purpose but lacks constraints (e.g., valid range for frozenColumnCount, behavior if view is not a grid). No output schema exists, so description should be more precise. Adequate for a simple tool but not fully complete.

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 coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond schema (e.g., 'frozen-column divider position') but does not explain the debug parameter. The schema already describes each param adequately.

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 clearly states the tool sets the frozen-column divider position for a grid view, specifying that the first N columns freeze. This distinguishes it from other view manipulation siblings like set_view_columns or apply_view_sorts.

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 implies usage for freezing columns in a grid view but provides no explicit when-to-use or when-not-to-use guidance. No alternative tools are mentioned, though siblings exist for other view settings.

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

update_record_template_descriptionA
Idempotent

Set or update the description text of a record template.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
templateIdYesThe template ID (rtpXXX)
descriptionYesDescription text (pass empty string to clear)
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and readOnlyHint=false, so the description adds moderate value by noting 'pass empty string to clear' for the description parameter. However, it omits other behavioral traits like error handling or auth requirements.

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?

Single sentence with no fluff, but could be expanded to include usage guidance or parameter tips without losing conciseness.

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?

For a simple update tool with full schema descriptions and annotations, the description is adequate but lacks usage context to differentiate from siblings. No output schema exists, so return value expectations are unaddressed.

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 covers all 4 parameters with detailed descriptions (100% coverage). The tool description adds no extra parameter insight beyond the schema, so baseline score of 3 applies.

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 clearly states the verb 'Set or update' and the resource 'description text of a record template', making the tool's purpose unambiguous. It distinguishes itself from siblings like 'rename_record_template' and 'set_record_template_cell'.

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 provides no context on when to use this tool vs alternatives. While the purpose is clear, there is no guidance on prerequisites, exclusions, or comparison with sibling tools like 'set_record_template_cell'.

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

update_view_descriptionA
Idempotent

Update the description text of a view.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
descriptionYesThe new description text. Use empty string to clear.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and non-destructive. Description adds no extra behavioral details such as side effects or response format, but does not contradict annotations.

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?

Single concise sentence front-loads the core action. No redundant or extraneous wording.

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?

Given the low complexity (simple text update) and absence of output schema, the description is mostly sufficient. Could optionally mention return behavior (e.g., returns updated view), but not essential.

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%, but description adds value by noting that the description parameter can be an empty string to clear the existing text, which is not explicitly stated in the schema.

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?

Clearly states verb 'update' and resource 'description text of a view'. Distinguishes from sibling tools like rename_view or update_field_description.

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?

Provides no guidance on when to use this tool versus alternatives like update_field_description or update_record_template_description. Implicit usage is clear, but lacks explicit conditions or exclusions.

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

update_view_filtersA
Idempotent

Update the filter configuration of a view. Supports AND/OR conjunctions, nested filter groups, and Airtable's internal filter operators.

FILTER FORMAT: Leaf filter: { columnId: "fldXXX", operator: "", value: } Nested group: { type: "nested", conjunction: "and"|"or", filterSet: [...] } Clear filters: { filterSet: [], conjunction: "and" } (or pass filters: null)

Filter IDs (flt-prefixed) are auto-generated — do NOT include them.

OPERATORS by field type — verified against Airtable's internal API (2026-04-17 capture; user report 2026-04-30): Text / URL / Email / Phone: "=" (exact match — value: string) "!=" (not equal) "contains" (value: string) "doesNotContain" "isEmpty" / "isNotEmpty" — input-side; auto-rewritten to "=" / "!=" "" before sending (the internal API rejects them on text fields with FAILED_STATE_CHECK) Number / Percent / Currency: "=", "!=", "<", ">", "<=", ">=", "isEmpty", "isNotEmpty" Single select: "=" (value: "selXXX" — the choice ID, NOT the choice name) "!=" "isAnyOf" / "isNoneOf" (value: ["selXXX", "selYYY"] — array of choice IDs) "isEmpty" / "isNotEmpty" Multiple select: "hasAnyOf", "hasAllOf", "hasNoneOf", "isExactly", "isEmpty", "isNotEmpty" Checkbox: "=" (value: true|false) Date (absolute): "is", "isBefore", "isAfter", "isOnOrBefore", "isOnOrAfter", "isEmpty", "isNotEmpty" value: ISO date string e.g. "2026-01-15" Date (relative) — "isWithin": value: { "mode": "", "timeZone": "", "shouldUseCorrectTimeZoneForFormulaicColumn": true } timeZone: IANA string e.g. "Europe/Istanbul", "America/New_York", "UTC" Modes (no numberOfDays): "pastWeek", "pastMonth", "pastYear", "nextWeek", "nextMonth", "nextYear", "thisCalendarMonth", "thisCalendarYear" Modes (add numberOfDays key): "pastNumberOfDays", "nextNumberOfDays" Example — past week: { "operator": "isWithin", "value": { "mode": "pastWeek", "timeZone": "UTC", "shouldUseCorrectTimeZoneForFormulaicColumn": true } } Example — past N days: { "operator": "isWithin", "value": { "mode": "pastNumberOfDays", "numberOfDays": 7, "timeZone": "UTC", "shouldUseCorrectTimeZoneForFormulaicColumn": true } } Example — this month: { "operator": "isWithin", "value": { "mode": "thisCalendarMonth", "timeZone": "UTC", "shouldUseCorrectTimeZoneForFormulaicColumn": true } } Formula / Lookup / Rollup (text result type): Same as Text. "isEmpty" / "isNotEmpty" are auto-rewritten to "=" / "!=" "". Linked record (foreignKey): "contains" (value: linked record name) works. "isEmpty" / "isNotEmpty" do NOT work — the call throws a clear error directing you to a helper formula like IF(LEN({Linked} & "")>0,"yes","") and a "=" / "!=" filter on that helper.

AUTO-NORMALIZATION (applied client-side before the request):

  • "is" → "=" (the internal API does not recognize "is")

  • "isNot" → "!="

  • "isAnyOf" with a single-element array or scalar value → "=" with scalar value

  • "isEmpty" → "=" "" on text / formula(text) / lookup(text) / rollup(text) fields

  • "isNotEmpty" → "!=" "" on text / formula(text) / lookup(text) / rollup(text) fields For single-select, value must be the choice ID (selXXX) — use get_base_schema to find IDs.

NESTING LIMIT: The internal API accepts at most 2 levels of nesting (top conjunction + one layer of nested groups). Deeper trees are rejected with FAILED_STATE_CHECK. Workaround: flatten by repeating shared conditions inside each leaf group, e.g. (A AND B) OR (A AND C) instead of A AND (B OR C) if you need another nested AND inside the OR. The error message returned by this tool flags depth-related failures explicitly.

EXAMPLES: Text equals: { filterSet: [{ columnId: "fldXXX", operator: "=", value: "Prime" }], conjunction: "and" } SingleSelect equals: { filterSet: [{ columnId: "fldXXX", operator: "=", value: "selABC123" }], conjunction: "and" } Text contains: { filterSet: [{ columnId: "fldXXX", operator: "contains", value: "hello" }], conjunction: "and" } Number range: { filterSet: [{ columnId: "fldX", operator: ">=", value: 10 }, { columnId: "fldX", operator: "<=", value: 100 }], conjunction: "and" } Nested (a AND (b OR c)): { filterSet: [{ columnId: "fldA", operator: "contains", value: "x" }, { type: "nested", conjunction: "or", filterSet: [{ columnId: "fldB", operator: "=", value: 1 }] }], conjunction: "and" }

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID to update filters on (e.g. "viwXXX")
filtersYesFilter configuration object with filterSet array and conjunction. See tool description for format and examples.
operationNoHow the given filters interact with existing filters. "replace" (default) overwrites; "append" adds the provided filterSet entries to the existing top-level filterSet (useful when you only want to add conditions without rewriting the whole filter payload).
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses key behaviors beyond annotations: auto-normalization of operators, nesting limits (at most 2 levels), and specific field-type operator restrictions (e.g., isEmpty on linked records throws an error). Annotations only provide idempotentHint=true and non-destructive hint, so the description adds significant behavioral context.

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 long but well-structured with clear sections (FILTER FORMAT, OPERATORS, AUTO-NORMALIZATION, etc.). It is front-loaded with the purpose. While every sentence provides value, it could be slightly more concise without losing information.

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

Completeness5/5

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

Given the complexity of filter configurations across many field types, the description covers all necessary details: format, operators, auto-normalization, nesting limits, and examples. No output schema exists, but return values are not critical for this tool's use.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds enormous value by detailing filter format, operators per field type, auto-normalization, nesting limits, and examples. The schema description for the 'filters' parameter explicitly refers to the tool description, showing the description is essential for understanding the parameter.

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 clearly states 'Update the filter configuration of a view,' specifying the verb (update) and resource (view's filter configuration). It distinguishes from sibling tools like apply_view_sorts and set_view_columns by focusing specifically on filters.

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 provides extensive guidance on how to construct filters, but does not explicitly state when to use this tool versus alternatives or when not to use it. Usage is implied through the detailed format and operator explanations, but no exclusions or comparisons are given.

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

update_view_group_levelsA
Idempotent

Set grouping on a view. Default mode replaces all existing group levels — pass an empty array with operation="replace" to clear grouping. Use operation="append" to add new group levels below the existing ones without rewriting them.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
groupLevelsYesArray of group levels. Empty array [] clears grouping when operation="replace".
operationNoHow the given groupLevels interact with existing ones. "replace" (default) overwrites; "append" adds the provided levels after the existing group stack.
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.6/5.0
Behavior5/5

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

Adds context beyond annotations: describes behavior of replace (overwrites) and append (adds below), and how to clear grouping. No contradiction with annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true).

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?

Two sentences, front-loaded with purpose, then mode details. Every sentence is essential and concise.

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?

Covers key aspects: setting, appending, clearing. No output schema, but debug parameter hints at raw response. Could mention return values, but overall sufficient for a 5-param tool with full schema coverage.

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 coverage is 100% with detailed descriptions for all parameters. The description does not add extra parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states 'Set grouping on a view.' with specific verb and resource, and distinguishes two modes (replace vs append) which differentiates it from sibling tools like update_view_filters.

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?

Explicitly explains when to use replace (default) vs append, and how to clear grouping with an empty array and operation='replace'. Provides clear context and alternatives.

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

update_view_row_heightA
Idempotent

Change the row height of a grid view.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
viewIdYesThe view ID (e.g. "viwXXX")
rowHeightYesRow height: "small", "medium", "large", or "xlarge"
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate idempotency and non-destructive behavior. The description adds that the tool applies to grid views only, which is helpful context beyond annotations. However, it does not disclose potential errors for non-grid views or return format.

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?

Single sentence, 8 words, front-loaded with verb and resource. No unnecessary content.

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?

Given the tool's simplicity (4 params, no output schema), the description is adequate. It specifies the view type (grid) and the action. Could mention idempotency or prerequisites, but annotations cover safety.

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 100%, so baseline is 3. The description does not elaborate on parameters beyond what schema provides, and the rowHeight values are already listed in schema.

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 'Change' and resource 'row height of a grid view', clearly distinguishing it from sibling tools like update_view_filters or set_view_cell_wrap.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., set_view_cell_wrap for wrap settings). No when-not-to-use or prerequisite conditions provided.

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

validate_formulaA
Read-onlyIdempotent

Validate a formula expression before creating or updating a formula field. Returns whether the formula is valid and what result type it produces (text, number, etc). Use this before create/update to catch errors early.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesThe Airtable base/application ID
tableIdYesThe table ID where the formula will be used
formulaTextYesThe formula expression to validate
debugNoWhen true, include raw Airtable response in output for diagnostics

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that it returns validity and result type, but doesn't describe error behavior or rate limits, which is acceptable given annotations cover safety.

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?

Two sentences, front-loaded with the verb and key information. Every sentence adds value without repetition or unnecessary detail.

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

Completeness5/5

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

For a simple validation tool with annotations and no output schema, the description is complete: it explains purpose, usage guidance, and return value (validity and result type). No gaps.

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 coverage is 100%, so baseline 3. The description doesn't add meaning beyond the schema; it merely refers to 'formula expression' which matches the formulaText parameter already described in the schema.

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?

Clearly describes the tool's function ('Validate a formula expression') and its context ('before creating or updating a formula field'). Explicitly differentiates from sibling tools like create_formula_field by focusing on validation.

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?

Explicitly states when to use: 'Use this before create/update to catch errors early.' Does not explicitly mention when not to use, but the purpose is clear and distinct from siblings.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly defined purpose with detailed descriptions, enabling an agent to distinguish even closely related operations (e.g., move_overall_columns vs move_visible_columns). There is no overlap that would cause confusion.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., create_field, list_tables, update_view_filters). No mixed conventions or ambiguous verb choices.

Tool Count2/5

With 67 tools, the server is far beyond the typical 3-15 well-scoped range. While it covers many aspects of Airtable, the number is excessive and would overwhelm an agent, leading to slower selection.

Completeness1/5

Surprisingly missing fundamental record CRUD operations (create_record, update_record, delete_record) despite having many advanced features like view configuration and extension management. This gap severely limits the server's usefulness for core Airtable tasks.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that provides read and write access to Airtable databases. This server enables LLMs to inspect database schemas, then read and write records.
    3,739
    456
    TypeScript
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that provides tools for programmatically managing Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.
    12
    2,036
    75
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A production-ready MCP server for Airtable that enables programmatic management of bases, tables, fields, and records through Claude Desktop or other MCP clients using Effect for type-safe and robust API interactions.
    17
    1
    MIT

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/Automations-Project/VSCode-Airtable-Formula'

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