Skip to main content
Glama

⚔ Airtable Full-Stack MCP (airtable-fullstack-mcp)

npm version Glama Score Smithery License: MIT TypeScript Model Context Protocol

The World's First Dual-Engine Model Context Protocol (MCP) Server for Airtable.

Programmatically orchestrate Airtable's Schema/Data APIs, Real-Time Webhooks, In-Base Automations Scripting, and Airtable's Interface Designer (Dashboards, Kanbans, Field Locks, and Instant Publishing) through natural language in Claude Desktop, Cursor, or Antigravity.


šŸš€ The Unsolved Problem

  • Standard Airtable MCPs fall short: Existing open-source Airtable tools only support simple record CRUD (list_records, create_record).

  • Zero Public API for Interfaces: Airtable provides no public API to create or configure Interface Designer pages, dashboards, Kanban stacks, or column inline edit permissions.

  • Missing Integration & Automation Bridge: Connecting webhooks (Tally, Fillout, Stripe, PayPal) and writing in-base automation scripts usually requires tedious manual work.

  • The Solution: airtable-fullstack-mcp bridges this gap via a Unified Dual-Engine architecture:

    1. Engine 1 (Official REST & Metadata APIs + Webhooks + Automations): Creates bases, tables, custom fields, links, batch upserts records, manages real-time webhooks, generates in-base automation scripts, and handles full record CRUD.

    2. Engine 2 (Chrome CDP Browser Automation): Connects to your running Chrome session via Chrome DevTools Protocol to build live Interface pages, group Kanbans by stages, lock sensitive audit columns, and publish changes.

flowchart TD
    Prompt["User Prompt: 'Build a merchant onboarding portal with Kanban pipeline, locked billing, and Stripe webhook'"] --> Agent["Claude / Cursor / AI Agent"]
    Agent --> MCP["airtable-fullstack-mcp"]
    
    subgraph DualEngine["Dual-Engine Execution"]
        MCP -->|REST, Metadata & Webhooks| E1["Engine 1: Schema, Data & Automations\n• Base & Tables Creation\n• 10-batch Upsert & Record CRUD\n• Real-Time Webhooks API\n• In-Base Scripting Generator"]
        MCP -->|Headless Chrome CDP| E2["Engine 2: Interface Designer\n• KPI Dashboards & Charts\n• Kanban Stacking by Stage\n• Field Locks & Permissions\n• Interface Publishing"]
    end
    
    E1 --> LiveBase["Airtable Production Base"]
    E2 --> LiveBase

Related MCP server: airtable-user-mcp

šŸ› ļø Complete MCP Tool Suite (14 Production Tools)

1. Schema & Metadata Engine (Official Metadata API)

Tool Name

Key Arguments

Description

airtable_create_base_schema

base_id, tables: []

Provisions tables, fields, choices, currencies, and linked relationships.

airtable_list_schema

base_id

Inspects all existing tables, field types, field IDs, and view structures.

airtable_modify_schema

base_id, table_id_or_name, action, field_config

Adds new custom fields, renames columns, or updates table descriptions.

2. Record & Data Engine (Official REST API)

Tool Name

Key Arguments

Description

airtable_batch_upsert

base_id, table_name_or_id, records: []

Ingests data with automatic 10-record chunking and 5 req/sec rate-limit backoff.

airtable_query_records

base_id, table_name_or_id, filter_by_formula

Queries records server-side with formula filters, sorting, and pagination.

airtable_manage_records

base_id, table_name_or_id, action, record_id

Single/batch record update (PATCH), deletion (DELETE), or direct ID lookup.

3. Integrations & Automations Engine (Webhooks & In-Base Scripting)

Tool Name

Key Arguments

Description

airtable_manage_webhook

base_id, action, notification_url

Creates, lists, deletes, and inspects webhooks for real-time external event sync.

airtable_generate_automation_script

template, table_name, field_mappings

Generates verified JS code for Airtable's native "Run a script" automation action.

4. Interface Designer Engine (Chrome CDP Browser Automation)

Tool Name

Key Arguments

Description

airtable_create_interface_page

base_id, page_name, layout_type, table_name

Creates a new Interface page (Dashboard, Kanban, Grid, Record Review).

airtable_rebrand_interface

base_id, title, sidebar_bundle_name

Double-click automation to rename interface header and sidebar folder bundles.

airtable_configure_kanban

base_id, stack_by_field, card_fields: []

Stacks Kanban columns by operational stages and displays front-of-card badges.

airtable_set_field_permissions

base_id, locked_columns: [], editable_columns: []

Sets column-level inline edit locks (Edit this column inline = OFF).

airtable_configure_detail_sheet

base_id, title_field, locked_fields: []

Configures expandable side-sheet detail cards and toggles field-level lock switches.

airtable_publish_interface

base_id

Finalizes and publishes all interface draft changes, confirming modals.


⚔ Quickstart

1. Launch Chrome with Remote Debugging

To enable Interface Designer browser automation, launch Chrome with remote debugging:

macOS:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9223 &

Linux:

google-chrome --remote-debugging-port=9223 &

Windows:

& "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9223

2. Configure Claude Desktop

Add to your claude_desktop_config.json (located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "airtable-fullstack": {
      "command": "npx",
      "args": ["-y", "airtable-fullstack-mcp"],
      "env": {
        "AIRTABLE_API_KEY": "patXXXXXXXXXXXXXX",
        "AIRTABLE_CDP_PORT": "9223"
      }
    }
  }
}

Or run directly from local source:

{
  "mcpServers": {
    "airtable-fullstack": {
      "command": "node",
      "args": ["/path/to/airtable-fullstack-mcp/dist/index.js"],
      "env": {
        "AIRTABLE_API_KEY": "patXXXXXXXXXXXXXX",
        "AIRTABLE_CDP_PORT": "9223"
      }
    }
  }
}

šŸ”’ Security Architecture: Locked vs. Editable Matrix

airtable-fullstack-mcp makes it easy to enforce strict operational security boundaries:

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│        šŸ”’ LOCKED / READ-ONLY         │         āœļø EDITABLE BY USER          │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ • Permanent IDs (VR-M-*, FM-VR-*)    │ • Selection Status Dropdown          │
│ • Raw Ingest Submissions             │ • Onboarding Stage Kanban Cards      │
│ • PayPal / Stripe Receipt IDs        │ • Operational Reviewer Notes         │
│ • Calculated Monthly SaaS Fees       │ • Compliance / Outreach Eligible     │
│ • Courier Settlement Formulas        │ • Emergency Unsubscribed Switch      │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

šŸ“¦ Developer Scripts

# Clone the repository
git clone git@github.com:Praroop1435/airtable-fullstack-mcp.git
cd airtable-fullstack-mcp

# Install dependencies
npm install

# Build TypeScript
npm run build

# Start server locally
npm start

šŸ‘¤ Author & License

Available Tools

14 tools
airtable_batch_upsertA

Ingests or bulk-inserts records into an Airtable table using the REST API with automatic 10-record chunking and 5 req/sec rate limit backoff.

When to Use

  • When bulk-importing rows of data from CSVs, webhooks, or external systems into an Airtable table.

  • When creating multiple records in batches of 10 to 1,000+ rows efficiently without manual loop management.

  • When inserting structured data where string values for singleSelect or record links should be auto-cast.

When NOT to Use

  • Do NOT use this tool to update or delete a single record by record ID. Use 'airtable_manage_records' instead.

  • Do NOT use this tool for reading or filtering existing records. Use 'airtable_query_records' instead.

  • Do NOT use this tool to create new tables or modify field schemas. Use 'airtable_create_base_schema' or 'airtable_modify_schema' instead.

Operational Disclosures

  • Side Effects: Creates new persistent records in the target table. Does not overwrite existing rows unless fields match Airtable's native upsert performUpsert criteria.

  • Persistence & Idempotency: Additive mutation. Calling multiple times with identical records will create duplicate records unless an external primary key is deduplicated beforehand.

  • Rate Limiting: Airtable enforces a strict 5 req/sec limit. This tool chunks records into 10-item payloads and sleeps 210ms between requests, with exponential backoff on HTTP 429.

  • Auth Scopes: Requires Personal Access Token with 'data.records:write' scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
recordsYesArray of record objects mapping field names to values, e.g. [{"Merchant Name": "Acme", "Stage": "Onboarding"}]
typecastNoWhen true, automatically creates new select options or converts string values to linked record arrays (default: true)
table_name_or_idYesTarget Table Name (e.g. "Merchants", "Orders") or Table ID (starts with tbl)

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It fully delivers by describing side effects, persistence and idempotency behavior, rate limiting with backoff specifics, and required auth scopes. There is no contradiction with annotations because none are present.

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 a concise summary followed by clear sections for usage, exclusions, and operational disclosures. Every sentence adds actionable information, and the use of bullets makes it highly scannable despite its length.

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 tool selection, invocation prerequisites, side effects, rate limiting, auth, and parameter usage comprehensively. However, because there is no output schema, the description does not disclose the return payload or general error response shape beyond HTTP 429 backoff, leaving a minor completeness 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?

The input schema already provides 100% parameter coverage, including examples for base_id, table_name_or_id, records, and typecast defaults. The description reinforces typecast behavior and chunking but does not add significant per-parameter meaning beyond the schema, 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 opens with 'Ingests or bulk-inserts records into an Airtable table using the REST API', clearly specifying the action, resource, and mechanism. The When NOT to Use section explicitly distinguishes it from airtable_manage_records and airtable_query_records, so an agent can easily tell this tool apart from its siblings.

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 'When to Use' and 'When NOT to Use' sections. It lists concrete bulk-import scenarios and directly routes single-record updates, reads, and schema modifications to the appropriate sibling tools, leaving no ambiguity about tool selection.

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

airtable_configure_detail_sheetA

Configures the expandable record detail side-sheet: enables record click-to-open and toggles field-level lock switches within the detail view via Chrome CDP browser automation.

When to Use

  • When setting up the opening detail card that pops out when an operational user clicks a row or Kanban card.

  • When locking audit fields, billing totals, and created dates inside the side-sheet while allowing notes or stage toggles.

  • When setting the primary header title field of the side-sheet.

When NOT to Use

  • Do NOT use this tool for high-density table column inline edit permissions. Use 'airtable_set_field_permissions' instead.

  • Do NOT use this tool to publish interface draft changes. Use 'airtable_publish_interface' instead.

Operational Disclosures

  • Prerequisites: Chrome running with '--remote-debugging-port=9223'.

  • Side Effects: Clicks into the side-sheet configuration pane and adjusts record detail layout switches.

  • Persistence: Saved to interface draft; published live using 'airtable_publish_interface'.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
page_idNoInterface Page ID (optional if already on the target page)
cdp_portNoChrome DevTools Protocol port (default: 9223)
title_fieldNoField name to use as the hero title on the detail card (e.g. "Merchant Name")
locked_fieldsNoField names to lock from editing within the side-sheet
editable_fieldsNoField names to allow editing within the side-sheet

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses prerequisites (Chrome with --remote-debugging-port=9223), side effects (clicks into the configuration pane and adjusts layout switches), and persistence (saved to interface draft, requiring a separate publish step). This is far beyond a generic mutation statement.

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 longer than average but each labeled section earns its place: core action, usage scenarios, exclusions, prerequisites, side effects, and persistence. The main verb and resource appear in the first sentence, with supporting details structured 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?

For a CDP-automation tool with no annotations and no output schema, the description covers the essential operational context: when to use, when not to use, prerequisites, side effects, and persistence behavior. The absence of return-value details is acceptable given the configuration-oriented nature of the 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 description coverage is 100%, so the structured schema already documents all six parameters. The description reinforces usage with examples like 'audit fields, billing totals, and created dates' and 'primary header title field,' but it does not add materially new semantic detail 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?

States a specific verb and resource ('configures the expandable record detail side-sheet') and enumerates concrete capabilities: enabling click-to-open, toggling field-level lock switches, and setting the header title field. It also differentiates from sibling tools by naming excluded use cases and their alternatives.

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?

Dedicated 'When to Use' and 'When NOT to Use' sections provide concrete scenarios and explicitly route to sibling tools: airtable_set_field_permissions for table column inline edit permissions and airtable_publish_interface for publishing draft changes. This leaves little ambiguity about when the tool should be selected.

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

airtable_configure_kanbanA

Configures an existing Kanban board page in Interface Designer by setting the stage-stacking singleSelect column and enabling front-of-card badges via Chrome CDP browser automation.

When to Use

  • When customizing an operational Kanban pipeline (e.g. Lead Pipeline, Candidate Tracker, Merchant Onboarding).

  • When grouping vertical Kanban stacks by a specific single-select field (e.g. 'Status', 'Stage', 'Priority').

  • When unhiding front-of-card display pills (e.g. Client Name, Gross Volume, Plan Type) so card summaries are visible without opening the record.

When NOT to Use

  • Do NOT use this tool to create a new Kanban interface page from scratch. Use 'airtable_create_interface_page' with layout_type='kanban' first.

  • Do NOT use this tool to configure record detail side-sheets or locked columns. Use 'airtable_configure_detail_sheet' or 'airtable_set_field_permissions' instead.

Operational Disclosures

  • Prerequisites: Chrome must be open with '--remote-debugging-port=9223' on the target base. A Kanban interface page must already exist.

  • Side Effects: Clicks into the right-hand properties sidebar, selects the stack-by dropdown, and toggles card badge visibility.

  • Persistence: Saved to the interface draft; published live using 'airtable_publish_interface'.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
page_idNoInterface Page ID (optional if already on the target Kanban page)
cdp_portNoChrome DevTools Protocol port (default: 9223)
card_fieldsNoField names to display as visible front-of-card badges (e.g. ["Store Name", "Plan", "Owner"])
stack_by_fieldYesSingle-select field name used to group columns into vertical stacks (e.g. "Stage", "Status")

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden. It discloses prerequisites (Chrome remote debugging on 9223, existing Kanban page), side effects (clicks sidebar, selects dropdown, toggles badges), and persistence semantics (saved to draft, not live until published via airtable_publish_interface). This goes well beyond what a bare 'Configures' statement would imply and covers the risk profile for an automation tool.

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 moderately long but well-structured into sections (When to Use, When NOT to Use, Operational Disclosures) that each earn their place. The bullet lists include redundant examples, but they aid selection without bloating. Front-loading the core action statement keeps the most important info first.

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 no output schema, no annotations, and a tool that drives Chrome CDP, the description covers all critical operational context: prerequisites, exact side effects, persistence model, and explicit exclusions that route to siblings. An agent has enough to decide, call correctly, and avoid dangerous side effects (e.g., publishing without user intent).

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% (every parameter has a description), so baseline is 3. The description does not add parameter-level semantics beyond the schema, but it implicitly orients the agent by tying examples ('Status', 'Stage') and card fields ('Store Name', 'Plan') to usage scenarios. It corrects nothing the schema lacks, so no score above 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 states a specific verb+resource ('Configures an existing Kanban board page in Interface Designer') with concrete actions ('setting the stage-stacking singleSelect column and enabling front-of-card badges'). It distinguishes from siblings via explicit not-to-use guidance referencing airtable_create_interface_page, airtable_configure_detail_sheet, and airtable_set_field_permissions, so an agent can tell it apart without opening schemas.

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 'When to Use' section lists concrete scenarios (Lead Pipeline, Candidate Tracker) and field types (single-select), while 'When NOT to Use' explicitly names alternative tools and the conditions that route to them. The operational disclosures add prerequisites (Chrome on port 9223, existing page), leaving no ambiguity about when this tool is appropriate.

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

airtable_create_base_schemaA

Provisions multiple tables and custom fields in an Airtable base using the official Metadata API. Supports singleLineText, singleSelect, currency, number, formula, checkbox, multipleRecordLinks, and more.

When to Use

  • When initializing a new application, portal, or workflow with multiple relational tables.

  • When creating tables with customized field types, select choices, or currency configurations.

  • When establishing the core data schema before building Interface Designer pages.

When NOT to Use

  • Do NOT use this tool to add a single field to an existing table. Use 'airtable_modify_schema' instead.

  • Do NOT use this tool to insert records. Use 'airtable_batch_upsert' instead.

  • Do NOT use this tool to inspect table field IDs. Use 'airtable_list_schema' instead.

Operational Disclosures

  • Side Effects: Creates permanent tables and field columns in the target Airtable base.

  • Persistence: Irreversible via this tool; created tables must be deleted manually from the Airtable UI if abandoned.

  • Rate Limits: Tables are created sequentially with 250ms spacing to prevent Metadata API 429 rate limit errors.

  • Auth Scopes: Requires Personal Access Token with 'schema.bases:write' scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
tablesYesList of table configurations with name, description, and field definitions
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers comprehensively with an 'Operational Disclosures' section. It discloses that tables are permanent, that creation is irreversible via this tool, that tables are created sequentially with 250ms spacing to avoid 429 rate limits, and that it requires a Personal Access Token with 'schema.bases:write' scope. This is exactly the kind of side-effect and prerequisite context an agent needs for a mutating provisioning tool.

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 fully front-loaded with the core purpose in the opening sentence, then organized into scannable markdown sections. Every sentence earns its place: When to Use, When NOT to Use, and Operational Disclosures all carry distinct, non-redundant information. There is no filler 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 the tool's complexity (multi-table provisioning with side effects) and the complete absence of annotations, the description covers purpose, usage boundaries, side effects, persistence, rate limits, and auth scopes thoroughly. The only gap is that no output schema exists and the description does not mention what the tool returns on success. For a provisioning tool the side-effect disclosure matters more than the return format, but a brief note on the response would make it 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 description coverage is 100%, so the baseline is 3. The schema already documents both base_id and the tables array structure with field types and options. The description adds minimal parameter meaning beyond the schema — it lists a few supported field types ('singleLineText, singleSelect, currency, number...'), which overlaps with the schema's own type list. The schema does the heavy lifting, so the description adds marginal but not essential 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 first sentence states a specific verb and resource: 'Provisions multiple tables and custom fields in an Airtable base using the official Metadata API.' It clearly distinguishes from siblings by naming airtable_modify_schema, airtable_batch_upsert, and airtable_list_schema as things it is not. An agent can tell exactly what this tool does versus its alternatives without opening any 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?

The description has explicit 'When to Use' and 'When NOT to Use' sections that name the alternative tools and the exact conditions that select them (single field → airtable_modify_schema, record insertion → airtable_batch_upsert, field ID inspection → airtable_list_schema). This leaves nothing to inference and directly routes the agent to the correct sibling.

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

airtable_create_interface_pageA

Creates a new Interface Designer page (Dashboard, Kanban, Grid, or Record Review) inside an Airtable base using Chrome DevTools Protocol (CDP) browser automation.

When to Use

  • When building frontend web interfaces for your Airtable base so non-technical users or clients can interact with data without touching raw tables.

  • When creating an Executive Dashboard with KPI summary cards, a Kanban board stacked by status, or a high-density Review Queue.

  • When expanding an existing interface application with a new page.

When NOT to Use

  • Do NOT use this tool to create backend database tables or columns. Use 'airtable_create_base_schema' or 'airtable_modify_schema' instead.

  • Do NOT use this tool to configure Kanban stacking options on an existing page. Use 'airtable_configure_kanban' instead.

  • Do NOT use this tool to publish interface draft changes to users. Use 'airtable_publish_interface' instead.

Operational Disclosures

  • Prerequisites: Requires Google Chrome running locally with remote debugging enabled (e.g. '--remote-debugging-port=9223') and an active Airtable login session.

  • Side Effects: Automatically opens or switches to the base's Interface Designer in Chrome, toggles Edit Mode, and creates a draft page.

  • Persistence: Changes remain in draft state until published using 'airtable_publish_interface'.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
cdp_portNoChrome DevTools Protocol port (default: 9223 or AIRTABLE_CDP_PORT)
page_nameYesDisplay name for the new interface page (e.g. "Merchant Pipeline", "Executive Overview")
table_nameYesSource table name feeding records to this interface page
layout_typeYesInterface page archetype: "dashboard" (KPI metrics), "kanban" (status cards), "grid" (tabular sheet), "record_review" (split master-detail queue)

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly discloses prerequisites (Chrome with remote debugging, active Airtable session), side effects (opens Interface Designer, toggles Edit Mode, creates draft), and persistence (draft until published). This is exemplary behavioral 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 well-structured with clear headers, front-loads the core action, and every section earns its place. It is detailed but not bloated, and the formatting makes it easy for an agent to parse.

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 (CDP browser automation, draft workflow, prerequisites), the description covers all necessary operational context: prerequisites, side effects, persistence, and exclusions. No critical information is missing for correct invocation.

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 parameter-level detail beyond the schema, but it does contextualize layout_type and the CDP dependency. Since the schema already documents every parameter thoroughly, this is adequate.

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 ('Creates') and resource ('Interface Designer page') and enumerates the exact page types (Dashboard, Kanban, Grid, Record Review). It clearly distinguishes this tool from siblings by naming what it does not do and pointing to alternatives.

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 'When to Use' and 'When NOT to Use' sections explicitly state appropriate contexts and name the alternative tools for excluded cases, such as airtable_create_base_schema and airtable_configure_kanban. This leaves no ambiguity about when to select this tool.

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

airtable_generate_automation_scriptA

Generates production-grade, syntactically verified JavaScript code tailored for Airtable's In-Base Scripting API ("Run a script" automation action).

When to Use

  • When configuring native Airtable Automations that require custom business logic, field transformations, or external API communication.

  • When mapping incoming webhook payloads (Tally forms, Fillout, Stripe payment events) into structured Airtable records.

  • When creating sequential prefixed IDs (e.g., 'VR-M-00105') without race conditions.

  • When performing deduplication checks or cross-table rollups inside Airtable.

When NOT to Use

  • Do NOT use this tool to execute operations directly on Airtable from your local machine. Use 'airtable_batch_upsert' or 'airtable_manage_records' instead.

  • Do NOT use this tool for creating Interface Designer pages. Use 'airtable_create_interface_page' instead.

Operational Disclosures

  • Execution Environment: The generated code is designed to run in Airtable's native sandboxed Scripting environment with access to global 'base', 'input.config()', 'output.set()', and 'remoteFetchAsync()'.

  • Safe & Idempotent: Generated templates include batching safeguards (Airtable's 50-record batch mutation limit) and error boundaries.

  • No Side Effects Locally: This tool produces verified code text that you paste into the Airtable Automation Script editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNoTemplate configuration parameters
templateYesScript archetype: 'tally_fillout_mapper' (maps intake payloads), 'stripe_paypal_reconciliation' (handles charge balances), 'unique_id_generator' (sequential prefixed IDs), 'deduplication_sync' (finds and flags duplicates), 'custom' (scaffolded custom logic)
table_nameYesTarget Airtable table name (e.g. Merchants, Orders, Payments)
field_mappingsNoMapping of incoming payload keys to Airtable column names, e.g. {"client_name": "Full Name", "email_address": "Contact Email"}

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states that the tool produces code text with no local side effects, describes the execution environment and available globals, and discloses built-in batching safeguards and error boundaries. This is strong transparency for a code-generation tool.

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-organized with clear headings: purpose, when to use, when not to use, and operational disclosures. It is appropriately detailed for a complex tool without unnecessary filler, and the primary purpose is front-loaded in the first sentence.

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 having no output schema, the description explains that the tool produces pasteable code text and where it should be used. It covers the execution environment, safety behavior, exclusions, and alternatives, giving an agent everything needed to call the tool correctly and understand its results.

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%, so the baseline is 3, but the description adds selection context by tying use cases to template archetypes (e.g., webhook payload mapping, unique ID generation, deduplication). It reinforces parameter intent beyond the schema, even though some examples like 'VR-M-' are duplicated 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 opens with a specific verb and resource: it 'Generates production-grade, syntactically verified JavaScript code tailored for Airtable's In-Base Scripting API'. It also differentiates itself from siblings by explicitly naming tools like 'airtable_batch_upsert', 'airtable_manage_records', and 'airtable_create_interface_page' as alternatives for other jobs.

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 'When to Use' section lists concrete scenarios such as mapping webhook payloads, generating sequential prefixed IDs, and deduplication. The 'When NOT to Use' section explicitly names sibling tools that should be used instead, making the routing decision unambiguous.

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

airtable_list_schemaA

Retrieves the complete schema structure of an Airtable base (all tables, field names, field IDs, field types, select options, and views) via the Metadata API.

When to Use

  • When discovering existing table names, primary fields, or field types before performing queries or updates.

  • When you need field IDs (starts with 'fld...') or table IDs (starts with 'tbl...') for interface or webhook configurations.

  • When validating that newly provisioned tables and fields exist.

When NOT to Use

  • Do NOT use this tool to inspect row values or records. Use 'airtable_query_records' instead.

  • Do NOT use this tool to add or modify fields. Use 'airtable_modify_schema' instead.

Operational Disclosures

  • Side Effects: Read-only. Safe to call repeatedly with zero base mutations.

  • Auth Scopes: Requires Personal Access Token with 'schema.bases:read' scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it delivers: it explicitly states the operation is read-only, safe to call repeatedly, has zero base mutations, and requires a Personal Access Token with 'schema.bases:read'. This goes well beyond the minimal requirement, though it does not mention potential response size, pagination, or error 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 well-organized with clear section headers, front-loads the core purpose, and uses every sentence to convey either the scope, usage rules, or operational details. No wasteful filler or repetition of schema content.

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 there is no output schema, the description compensates by enumerating the categories of returned data (tables, fields, IDs, types, select options, views). It also covers prerequisites (auth scope) and safety (read-only), making it fully sufficient for an agent to decide when and how to invoke it.

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 already fully documents base_id, including a format example, so schema coverage is 100%. The description reinforces that IDs are needed for interface/webhook configuration but does not add new parameter-level semantics beyond what the schema provides. 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 opens with a specific verb ('Retrieves') and resource ('schema structure of an Airtable base'), then enumerates exactly what is returned: tables, field names, IDs, types, select options, and views. It clearly distinguishes itself from siblings by stating it is for schema discovery, not rows or modifications.

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?

Dedicated 'When to Use' and 'When NOT to Use' sections provide explicit decision rules and name the correct sibling alternatives ('airtable_query_records' for row values, 'airtable_modify_schema' for field changes). An agent can confidently route to this tool versus its siblings without additional inference.

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

airtable_manage_recordsA

Performs lifecycle operations on individual or batch records in Airtable: get record by ID, update fields (PATCH), delete single record, or batch delete up to multiple records.

When to Use

  • When updating specific fields on an existing record (e.g. changing Stage from 'Review' to 'Approved').

  • When retrieving the full payload of a single record by known record ID (starts with 'rec').

  • When permanently deleting one or more records by their record IDs.

When NOT to Use

  • Do NOT use this tool to insert dozens of new rows. Use 'airtable_batch_upsert' instead.

  • Do NOT use this tool for formula-based search or multi-record filtering. Use 'airtable_query_records' instead.

  • Do NOT use this tool to delete an entire table or change schema definitions. Use 'airtable_modify_schema' instead.

Operational Disclosures

  • Destructive Behavior: The 'delete' and 'batch_delete' actions permanently remove records from Airtable (moved to base trash for 7 days).

  • Partial Updates: The 'update' action performs a PATCH: only specified fields are modified; unmentioned fields retain their existing values.

  • Rate Limits: Single requests execute in 1 call; 'batch_delete' automatically chunks IDs by 10 and respects the 5 req/sec rate limit.

  • Auth Scopes: Requires Personal Access Token with 'data.records:write' (or 'data.records:read' for 'get').

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'get' retrieves a record, 'update' modifies fields (PATCH), 'delete' removes one record, 'batch_delete' removes an array of records
fieldsNoField key-value pairs to update (required when action is 'update'), e.g. {"Stage": "Approved", "Reviewer Notes": "Verified"}
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
typecastNoWhen true, automatically creates new select choices or casts strings to linked records (default: true)
record_idNoTarget Record ID starting with 'rec' (required for 'get', 'update', and single 'delete')
record_idsNoArray of Record IDs starting with 'rec' (required when action is 'batch_delete')
table_name_or_idYesTarget Table Name or Table ID

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers: it discloses destructive behavior (permanent removal with 7-day trash), PATCH partial-update semantics, rate-limit handling (batch_delete chunks by 10), and required auth scopes. This is comprehensive behavioral disclosure for a mutating tool.

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 organized into clear labeled sections ('When to Use', 'When NOT to Use', 'Operational Disclosures'), front-loads the core purpose in the first sentence, and contains no filler. Every section earns its place by conveying actionable selection or invocation 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?

For a 7-parameter, 4-action tool with no output schema and no annotations, the description covers usage context, exclusions, destructive behavior, rate limits, and auth. It does not describe response payloads or error behavior, but those are less critical for correct invocation; the guidance is otherwise complete enough for an agent to call the tool safely and accurately.

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 seven parameters, their formats, and action-specific requirements. The tool description adds only marginal parameter insight (e.g., PATCH semantics affecting how 'fields' is interpreted), but does not significantly surpass the schema's own parameter docs, so the 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 opening sentence names a specific verb ('performs lifecycle operations') and resource ('records in Airtable') and enumerates the four concrete actions: get, update (PATCH), delete, and batch delete. It immediately distinguishes this tool from siblings like airtable_batch_upsert and airtable_query_records by limiting scope to lifecycle operations on known record IDs.

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 'When to Use' section gives concrete scenarios (updating a field, retrieving by known ID, deleting records) and the 'When NOT to Use' section explicitly names three sibling alternatives: airtable_batch_upsert, airtable_query_records, and airtable_modify_schema. This tells an agent exactly when to select this tool versus its siblings with no inference required.

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

airtable_manage_webhookA

Manages real-time Airtable Webhooks for bidirectional integrations with external platforms (Tally, Fillout, Stripe, PayPal, Make, Zapier, or custom backends).

When to Use

  • When you need instant notifications when records or schema change in an Airtable base.

  • When configuring real-time sync pipelines to external data warehouses or webhook receivers.

  • When listing, inspecting recent transaction payloads, or tearing down obsolete webhooks.

When NOT to Use

  • Do NOT use this tool for batch data imports or record querying. Use 'airtable_batch_upsert' or 'airtable_query_records' instead.

  • Do NOT use this tool to write automation logic inside Airtable. Use 'airtable_generate_automation_script' instead.

Operational Disclosures

  • Side Effects: 'create' registers a persistent HTTP webhook endpoint on Airtable's infrastructure. 'delete' permanently revokes delivery to that endpoint.

  • Persistence: Webhooks persist on the base until explicitly deleted or until they expire after consecutive failed delivery attempts.

  • Auth Scopes: Requires a Personal Access Token with the 'webhook:manage' scope.

  • Rate Limits: Governed by Airtable's 5 req/sec API quota with automatic backoff retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'create' registers a new webhook, 'list' returns all registered webhooks, 'delete' removes a webhook by ID, 'payloads' retrieves change events
cursorNoPayload pagination cursor from a previous response (optional, used when action is 'payloads')
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
webhook_idNoAirtable Webhook ID (starts with ach..., required when action is 'delete' or 'payloads')
specificationNoOptional granular event filter specification (e.g. watchDataInTables, fromSources: ['client', 'publicApi', 'formSubmission', 'automation'])
notification_urlNoTarget HTTPS URL to receive POST notifications when changes occur (required when action is 'create')

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it delivers richly: it discloses side effects of create/delete, persistence and expiration behavior, required auth scopes, and rate limits. These are exactly the non-obvious behavioral traits an agent needs before invoking a mutation tool.

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 headers and bullets. The first sentence states the tool's purpose immediately, and each subsequent section earns its place by adding operational or routing context 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?

For a tool with four actions, six parameters, nested objects, and no output schema, the description covers the essential contextual gaps: side effects, persistence, auth, rate limits, and sibling routing. Combined with the fully documented input schema, an agent has enough to select and invoke this tool correctly.

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 six parameters thoroughly. The description adds some nuance about action side effects and persistence, but it does not substantially extend parameter-level meaning beyond what the input 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 states a clear verb and resource: 'Manages real-time Airtable Webhooks for bidirectional integrations.' It explicitly names the actions (create, list, delete, payloads) and distinguishes itself from sibling tools by calling out what it is not for, such as batch imports, queries, and automation scripts.

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 has explicit 'When to Use' and 'When NOT to Use' sections with concrete alternatives, e.g., 'Use airtable_batch_upsert or airtable_query_records instead' and 'Use airtable_generate_automation_script instead.' This gives an agent unambiguous routing criteria.

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

airtable_modify_schemaA

Evolves an existing Airtable schema: adds new custom fields to an existing table, updates field names/descriptions, or updates table names/descriptions via Metadata API.

When to Use

  • When adding a new column/field to an existing table without recreating the whole base.

  • When renaming a field or table to improve operational clarity.

  • When updating field or table documentation descriptions.

When NOT to Use

  • Do NOT use this tool to initialize an entire new base schema with multiple tables. Use 'airtable_create_base_schema' instead.

  • Do NOT use this tool to update row values or cell data. Use 'airtable_manage_records' instead.

Operational Disclosures

  • Side Effects: 'create_field' adds a persistent new column. 'update_field' and 'update_table' mutate existing schema metadata.

  • Persistence: Schema modifications are immediately persistent across all base views and interfaces.

  • Auth Scopes: Requires Personal Access Token with 'schema.bases:write' scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'create_field' adds a new column, 'update_field' modifies field metadata, 'update_table' modifies table metadata
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
field_idNoTarget Field ID (starts with fld, required when action is 'update_field')
field_configNoField configuration object (required when action is 'create_field')
update_configNoMetadata updates to apply (required when action is 'update_field' or 'update_table')
table_id_or_nameYesTarget Table Name or Table ID (starts with tbl)

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It explicitly states side effects per action, persistence across views and interfaces, and required auth scope ('schema.bases:write'). This is substantial behavioral disclosure beyond what the schema offers.

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 headers and bullet lists. The opening sentence summarizes the tool, followed by usage guidance, exclusions, and disclosures. Every sentence earns its place; there is no redundant or vague filler.

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 mutation tool with a rich input schema and no annotations, the description covers purpose, when to use, when not to use, side effects, persistence, and auth. It gives an agent everything needed to decide whether and how to invoke it correctly, leaving parameter details to the 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 description coverage is 100%, so the schema already documents every parameter and its constraints. The description adds operational context for actions but does not introduce new parameter-level semantics, making the baseline 3 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 opens with a specific verb and resource: it 'evolves an existing Airtable schema' and enumerates exact operations (adds fields, updates field/table names and descriptions). It also differentiates itself from sibling tools by explicitly naming what it is not for (creating new base schemas, updating row values).

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 'When to Use' section lists concrete triggers (adding a column, renaming, updating descriptions), and the 'When NOT to Use' section names the correct alternatives ('airtable_create_base_schema' and 'airtable_manage_records'). This gives an agent clear routing guidance with no ambiguity.

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

airtable_publish_interfaceA

Finalizes and publishes all Interface Designer draft changes to production, confirming any multi-page confirmation modals via Chrome CDP browser automation.

When to Use

  • When you have finished building or modifying interface pages, Kanbans, and permissions, and want live users/clients to see the updates.

  • As the final step in any automated interface creation workflow.

When NOT to Use

  • Do NOT use this tool if you are still making edits or adjusting layout elements in draft mode.

  • Do NOT use this tool for base schema changes (schema changes are live immediately without publishing).

Operational Disclosures

  • Prerequisites: Chrome running with '--remote-debugging-port=9223' on the target base.

  • Side Effects: Clicks the blue 'Publish' button in the interface header and clicks confirmation dialogs.

  • Persistence: Publishes all draft changes to all users with interface access.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
cdp_portNoChrome DevTools Protocol port (default: 9223)

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden and handles it well. It discloses concrete behavioral traits: it uses Chrome CDP browser automation, clicks the blue Publish button, confirms multi-page confirmation modals, requires Chrome running with '--remote-debugging-port=9223', and publishes all draft changes to all users with interface access. This goes well beyond generic verb phrasing.

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 structured with clear labeled sections, front-loads the primary action, and every sentence earns its place. The when-to-use, when-not-to-use, and operational disclosures are organized for quick scanning by an agent.

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 publication/finalization tool with no output schema, the description covers prerequisites, side effects, persistence scope, and the automated modal-confirmation behavior. There is no significant gap that would prevent an agent from invoking it correctly.

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 fully documents base_id and cdp_port. The description reinforces the cdp_port context by mentioning the remote debugging port prerequisite, but does not add meaningful parameter-level detail beyond the 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 opens with a specific verb and resource: 'Finalizes and publishes all Interface Designer draft changes to production.' It clearly differentiates this from sibling tools like airtable_create_interface_page or airtable_configure_kanban by framing it as the publishing/finalization step, not an editing or creation step.

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 includes explicit 'When to Use' and 'When NOT to Use' sections, stating it should be used after edits are complete and as the final workflow step, and not used while still editing or for schema changes. However, it does not name an explicit sibling alternative (e.g., airtable_modify_schema) for schema changes, though it implies the distinction by saying schema changes are live immediately without publishing.

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

airtable_query_recordsA

Queries records from an Airtable table with server-side formula filtering, field selection, sorting, and pagination.

When to Use

  • When searching for specific records matching criteria (e.g. stage, status, date range, or email).

  • When retrieving record IDs, computed formulas, or linked fields for downstream analysis or updates.

  • When inspecting current data density and values across an Airtable base.

When NOT to Use

  • Do NOT use this tool to modify or delete records. Use 'airtable_manage_records' or 'airtable_batch_upsert' instead.

  • Do NOT use this tool to inspect table column schemas. Use 'airtable_list_schema' instead.

Operational Disclosures

  • Side Effects: Read-only. Safe to invoke repeatedly with zero mutations to the base.

  • Filtering: Supports standard Airtable formula syntax (e.g. AND({Status} = 'Active', {Balance} > 0)).

  • Pagination: Automatically paginates using Airtable offset tokens up to max_records.

  • Auth Scopes: Requires Personal Access Token with 'data.records:read' scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort criteria, e.g. [{"field": "Created", "direction": "desc"}]
viewNoSpecific View name or ID to filter by view configuration
fieldsNoSpecific field names to return (saves bandwidth and token usage)
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
max_recordsNoMaximum total records to retrieve across pages (default: 100)
table_name_or_idYesTarget Table Name or Table ID
filter_by_formulaNoAirtable formula to filter records server-side, e.g. "AND({Stage} = 'Pending', {Amount} > 100)"

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it delivers: it states the tool is read-only with zero mutations, describes automatic pagination using offset tokens, discloses the required auth scope, and gives filtering syntax details. This exceeds what an agent would need to safely invoke it.

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 headings, front-loaded purpose, and compact bullet lists. Every section adds practical value: when to use, when not to use, and operational disclosures. There is no filler or repetition of schema details.

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 7-parameter tool with no output schema and no annotations, the description covers the critical operational context: read-only behavior, auth scope, pagination, filtering, and sibling routing. It stops short of explicitly describing the return shape or error/rate-limit behavior, which would make it fully complete, but the provided guidance is sufficient for correct invocation.

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 schema already documents all 7 parameters at 100% coverage, so the baseline is 3. The description adds meaningful extra semantics: it explains formula syntax with an example, clarifies pagination behavior up to max_records, and emphasizes server-side filtering, which goes beyond the raw parameter names and 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 opens with a specific verb and resource: 'Queries records from an Airtable table' and enumerates the exact capabilities: server-side formula filtering, field selection, sorting, and pagination. It clearly distinguishes itself from mutation tools and schema tools by naming those alternatives in the usage guidance.

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?

There is an explicit 'When to Use' section listing concrete scenarios, and an explicit 'When NOT to Use' section naming the correct alternatives: airtable_manage_records, airtable_batch_upsert, and airtable_list_schema. This leaves no ambiguity about when to select this tool over siblings.

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

airtable_rebrand_interfaceA

Renames the top-level interface brand title and sidebar navigation folder bundle via double-click CDP automation.

When to Use

  • When customizing an interface for a specific client brand, department, or internal application name (e.g. changing 'Untitled interface' to 'Vape Runners Merchant Portal').

  • When organizing sidebar pages into logical folders or bundles.

When NOT to Use

  • Do NOT use this tool to rename tables or fields. Use 'airtable_modify_schema' instead.

  • Do NOT use this tool to create new interface pages. Use 'airtable_create_interface_page' instead.

Operational Disclosures

  • Prerequisites: Chrome running with '--remote-debugging-port=9223'.

  • Side Effects: Selects and double-clicks the interface header title element and/or sidebar group label, committing new string values.

  • Persistence: Saved to interface draft; must be published to become visible to end-users.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew display title for the top interface header banner
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
cdp_portNoChrome DevTools Protocol port (default: 9223)
sidebar_bundle_nameNoNew title for the sidebar page navigation folder bundle

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries full burden and delivers: prerequisites (Chrome on port 9223), side effects (selects/double-clicks elements, commits strings), and persistence (saved to draft, must publish). This is more than most tool definitions 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?

Well-structured with headers and bullets; every sentence adds operational value. The main action is front-loaded, and the sections are scannable.

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 prerequisites, side effects, persistence, and exclusions, which is strong for a no-annotation, no-output-schema tool. It doesn't state what happens when only base_id is provided (both optional fields omitted) or how to verify success, so a small gap remains.

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 context for title and sidebar_bundle_name in the purpose line, but does not elaborate on cdp_port or base_id beyond the schema. It also doesn't clarify that title and sidebar_bundle_name are optional in combination.

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 opening sentence names a specific verb ('Renames'), the exact resource ('top-level interface brand title and sidebar navigation folder bundle'), and the mechanism ('double-click CDP automation'). It clearly differentiates from siblings by explicitly saying what it is not for.

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?

Dedicated 'When to Use' and 'When NOT to Use' sections give concrete scenarios and explicitly route to airtable_modify_schema and airtable_create_interface_page. This leaves no ambiguity about when to select this tool.

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

airtable_set_field_permissionsA

Sets column-level inline editing permissions on Grid and Record Review interfaces by toggling "Edit this column inline" ON or OFF via Chrome CDP browser automation.

When to Use

  • When locking permanent identifiers (e.g. ID, Receipt Number, Stripe Charge ID) so operational users cannot accidentally edit them.

  • When protecting raw intake submissions or financial calculations from tampering.

  • When keeping decision gates (e.g. Stage dropdown, Verification Checkbox, Review Notes) editable while keeping all other columns read-only.

When NOT to Use

  • Do NOT use this tool for Kanban front-of-card badges. Use 'airtable_configure_kanban' instead.

  • Do NOT use this tool to configure side-sheet popup field editability. Use 'airtable_configure_detail_sheet' instead.

Operational Disclosures

  • Prerequisites: Chrome running with '--remote-debugging-port=9223' with an open Interface Designer Grid or Review Queue page.

  • Side Effects: Selects table column headers and toggles the inline editing switch in the right-hand properties sidebar.

  • Persistence: Saved to interface draft; published live using 'airtable_publish_interface'.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_idYesAirtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)
page_idNoInterface Page ID (optional if already on the target page)
cdp_portNoChrome DevTools Protocol port (default: 9223)
locked_columnsNoColumn names to LOCK from inline editing (sets "Edit this column inline" = OFF), e.g. ["Merchant ID", "Monthly SaaS Fee"]
editable_columnsNoColumn names to ALLOW inline editing (sets "Edit this column inline" = ON), e.g. ["Stage", "Reviewer Notes"]

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It does so comprehensively under 'Operational Disclosures': prerequisites (Chrome with --remote-debugging-port=9223, open Grid/Review Queue page), side effects (selects column headers, toggles inline editing switch), and persistence (saved to draft, published separately). It also reveals the underlying CDP automation mechanism, giving agents a clear model of what the tool actually does.

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 section headers and bullet points. Every sentence earns its place: the purpose statement is front-loaded, use cases are specific, and operational disclosures are dense but non-redundant. Despite being longer than typical descriptions, there is no fluff—each section communicates distinct, necessary 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?

For a 5-parameter automation tool with no annotations and no output schema, the description covers all critical operational context: prerequisites, side effects, persistence, and relationship to publishing. It also clarifies which interface types are affected (Grid/Record Review) and which are not. Failure/return behavior is not described, but for a side-effect-driven CDP tool that is a minor gap; the provided context is otherwise 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 each parameter already has a clear description with examples (e.g., locked_columns/editable_columns explain ON/OFF toggling). The tool description reinforces these semantics through 'When to Use' examples but does not add meaning beyond what the schema already provides. Baseline 3 is appropriate for full 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 opens with a precise verb+resource statement: 'Sets column-level inline editing permissions on Grid and Record Review interfaces by toggling "Edit this column inline" ON or OFF via Chrome CDP browser automation.' It also explicitly differentiates from siblings in 'When NOT to Use', naming airtable_configure_kanban and airtable_configure_detail_sheet, so an agent can distinguish it without inspecting schemas.

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 a dedicated 'When to Use' section with concrete scenarios (locking identifiers, protecting raw intake, keeping decision gates editable) and a 'When NOT to Use' section naming exact alternative tools for Kanban badges and side-sheet popups. This is explicit, actionable guidance with zero reliance on inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updatesv1.1.1
    • Changedairtable_batch_upsert4 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / records / description
        Previous value: -"Array of record objects mapping field names to field values"New value: +"Array of record objects mapping field names to values, e.g. [{\"Merchant Name\": \"Acme\", \"Stage\": \"Onboarding\"}]"
      • changedInput schema / properties / table_name_or_id / description
        Previous value: -"Target Table Name or Table ID"New value: +"Target Table Name (e.g. \"Merchants\", \"Orders\") or Table ID (starts with tbl)"
      • changedInput schema / properties / typecast / description
        Previous value: -"Enable typecasting to automatically parse string choices/links (default true)"New value: +"When true, automatically creates new select options or converts string values to linked record arrays (default: true)"
    • Changedairtable_configure_detail_sheet6 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223)"New value: +"Chrome DevTools Protocol port (default: 9223)"
      • changedInput schema / properties / editable_fields / description
        Previous value: -"Fields inside the detail side-sheet to allow editing (Allow inline editing = ON)"New value: +"Field names to allow editing within the side-sheet"
      • changedInput schema / properties / locked_fields / description
        Previous value: -"Fields inside the detail side-sheet to lock (Allow inline editing = OFF)"New value: +"Field names to lock from editing within the side-sheet"
      • changedInput schema / properties / page_id / description
        Previous value: -"Interface Page ID (optional if already on page)"New value: +"Interface Page ID (optional if already on the target page)"
      • changedInput schema / properties / title_field / description
        Previous value: -"Field to display as main header of the side-sheet"New value: +"Field name to use as the hero title on the detail card (e.g. \"Merchant Name\")"
    • Changedairtable_configure_kanban5 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / card_fields / description
        Previous value: -"Field names to display on cards (e.g. Store Name, Plan, ID)"New value: +"Field names to display as visible front-of-card badges (e.g. [\"Store Name\", \"Plan\", \"Owner\"])"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223)"New value: +"Chrome DevTools Protocol port (default: 9223)"
      • changedInput schema / properties / page_id / description
        Previous value: -"Interface Page ID (optional if already on page)"New value: +"Interface Page ID (optional if already on the target Kanban page)"
      • changedInput schema / properties / stack_by_field / description
        Previous value: -"Single-select field to group columns by (e.g. Stage, Status)"New value: +"Single-select field name used to group columns into vertical stacks (e.g. \"Stage\", \"Status\")"
    • Changedairtable_create_base_schema8 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / tables / items / properties / description / description
        Previous value: -"Table description"New value: +"Table documentation and operational purpose description"
      • changedInput schema / properties / tables / items / properties / fields / description
        Previous value: -"Array of field definitions"New value: +"Array of field definitions for this table"
      • changedInput schema / properties / tables / items / properties / fields / items / properties / description / description
        Previous value: -"Field description"New value: +"Field description explaining data validation or usage"
      • changedInput schema / properties / tables / items / properties / fields / items / properties / name / description
        Previous value: -"Field name"New value: +"Field column name"
      • changedInput schema / properties / tables / items / properties / fields / items / properties / options / description
        Previous value: -"Field options (e.g. choices, format, linkedTableId)"New value: +"Type-specific options, e.g. choices: [{name: \"Stage 1\", color: \"blueBright\"}], precision: 2, symbol: \"$\""
      • changedInput schema / properties / tables / items / properties / fields / items / properties / type / description
        Previous value: -"Field type (e.g. singleLineText, singleSelect, currency, formula, etc.)"New value: +"Field type: singleLineText, multilineText, richText, number, currency, percent, singleSelect, multipleSelects, date, dateTime, phoneNumber, email, url, checkbox, multipleRecordLinks, formula"
      • changedInput schema / properties / tables / items / properties / name / description
        Previous value: -"Table name"New value: +"Table name, e.g. \"Merchants\", \"Orders\", \"Payouts\""
    • Changedairtable_create_interface_page5 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223 or AIRTABLE_CDP_PORT)"New value: +"Chrome DevTools Protocol port (default: 9223 or AIRTABLE_CDP_PORT)"
      • changedInput schema / properties / layout_type / description
        Previous value: -"Interface archetype layout"New value: +"Interface page archetype: \"dashboard\" (KPI metrics), \"kanban\" (status cards), \"grid\" (tabular sheet), \"record_review\" (split master-detail queue)"
      • changedInput schema / properties / page_name / description
        Previous value: -"Display name for the new interface page"New value: +"Display name for the new interface page (e.g. \"Merchant Pipeline\", \"Executive Overview\")"
      • changedInput schema / properties / table_name / description
        Previous value: -"Source table name for this page data"New value: +"Source table name feeding records to this interface page"
    • Addedairtable_generate_automation_script
    • Changedairtable_list_schema1 field changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
    • Addedairtable_manage_records
    • Addedairtable_manage_webhook
    • Addedairtable_modify_schema
    • Changedairtable_publish_interface2 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223)"New value: +"Chrome DevTools Protocol port (default: 9223)"
    • Changedairtable_query_records7 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / fields / description
        Previous value: -"Specific field names to return (saves bandwidth)"New value: +"Specific field names to return (saves bandwidth and token usage)"
      • changedInput schema / properties / filter_by_formula / description
        Previous value: -"Airtable formula to filter records server-side (e.g. AND({Status} = 'Active', {Stage} = 'Live'))"New value: +"Airtable formula to filter records server-side, e.g. \"AND({Stage} = 'Pending', {Amount} > 100)\""
      • changedInput schema / properties / max_records / description
        Previous value: -"Maximum number of records to retrieve (default 100)"New value: +"Maximum total records to retrieve across pages (default: 100)"
      • changedInput schema / properties / sort / description
        Previous value: -"Sort criteria: [{ field: string, direction?: \"asc\" | \"desc\" }]"New value: +"Sort criteria, e.g. [{\"field\": \"Created\", \"direction\": \"desc\"}]"
      • changedInput schema / properties / sort / items / properties / direction / description
        Previous value: -"Sort direction"New value: +"Sort direction: \"asc\" or \"desc\""
      • addedInput schema / properties / view
        Added value: +{
        +  "description": "Specific View name or ID to filter by view configuration",
        +  "type": "string"
        +}
    • Changedairtable_rebrand_interface4 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223)"New value: +"Chrome DevTools Protocol port (default: 9223)"
      • changedInput schema / properties / sidebar_bundle_name / description
        Previous value: -"New name for the sidebar page group/folder"New value: +"New title for the sidebar page navigation folder bundle"
      • changedInput schema / properties / title / description
        Previous value: -"New title for the interface header"New value: +"New display title for the top interface header banner"
    • Changedairtable_set_field_permissions5 fields changed
      • changedInput schema / properties / base_id / description
        Previous value: -"Airtable Base ID (starts with app...)"New value: +"Airtable Base ID (starts with app, e.g. appoorUuG6wgx8dJ1)"
      • changedInput schema / properties / cdp_port / description
        Previous value: -"Chrome DevTools Protocol port (default 9223)"New value: +"Chrome DevTools Protocol port (default: 9223)"
      • changedInput schema / properties / editable_columns / description
        Previous value: -"Column names to ALLOW inline editing (Edit this column inline = ON)"New value: +"Column names to ALLOW inline editing (sets \"Edit this column inline\" = ON), e.g. [\"Stage\", \"Reviewer Notes\"]"
      • changedInput schema / properties / locked_columns / description
        Previous value: -"Column names to LOCK from inline editing (Edit this column inline = OFF)"New value: +"Column names to LOCK from inline editing (sets \"Edit this column inline\" = OFF), e.g. [\"Merchant ID\", \"Monthly SaaS Fee\"]"
      • changedInput schema / properties / page_id / description
        Previous value: -"Interface Page ID (optional if already on page)"New value: +"Interface Page ID (optional if already on the target page)"
  2. 10 tool updatesv1.0.0
    • First observedairtable_batch_upsert
    • First observedairtable_configure_detail_sheet
    • First observedairtable_configure_kanban
    • First observedairtable_create_base_schema
    • First observedairtable_create_interface_page
    • First observedairtable_list_schema
    • First observedairtable_publish_interface
    • First observedairtable_query_records
    • First observedairtable_rebrand_interface
    • First observedairtable_set_field_permissions

TDQS

A4.4/5.0

Scored across 14 tools

Disambiguation4/5

Tools are cleanly partitioned by domain (records, schema, webhooks, automation scripts, Interface Designer), and the 'When NOT to Use' sections strongly reinforce boundaries. The only mild risks are pairs like manage_records vs batch_upsert and set_field_permissions vs configure_detail_sheet, but these are clearly distinguished in practice.

Naming Consistency4/5

All tools share an 'airtable_' prefix and mostly follow a verb_noun snake_case pattern, which is predictable. Minor deviations include 'airtable_batch_upsert' omitting an explicit object and the broad 'manage' verb used for both records and webhooks.

Tool Count5/5

At 14 tools, this is within the ideal 3-15 range and each tool earns its place across distinct sub-domains: record operations, schema management, webhooks, automation script generation, and interface design. The count feels appropriate for a 'full-stack' Airtable server.

Completeness3/5

Record CRUD and webhook lifecycles are well covered, but schema tools lack delete operations and Interface Designer tools provide no way to list or delete existing pages. These are notable gaps for a server claiming full-stack coverage and may require manual UI workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers