Agent Skill · Airtable

airtable-cli

Lists bases, reads and writes records, manages tables and fields, filters and searches data in Airtable via the `airtable-mcp` CLI. Use when the task involves Airtable data or the user mentions airtable-mcp, bases, tables, records, or fields.

Provider: Airtable Path in repo: plugins/airtable/skills/airtable-cli/SKILL.md

Skill body

airtable-mcp

Self-discovery

Tools are fetched from the MCP server at runtime, so the CLI never has a hardcoded command list. Discover what’s available:

airtable-mcp tools            # human-readable list
airtable-mcp tools --json     # machine-parseable list
airtable-mcp <tool> --help    # show flags and descriptions for a tool

Run airtable-mcp tools before assuming a tool exists. Tool names, arguments, and output shapes can change between server releases without a CLI update.

Install

npm install -g @airtable/mcp-cli

Auth

The CLI needs an Airtable personal access token (PAT). Two paths:

Environment variable (preferred for scripts/agents):

export AIRTABLE_TOKEN=pat_xxx

Interactive configure (stores token in ~/.airtable/cli.json with 0600 permissions):

airtable-mcp configure

Create tokens at https://airtable.com/create/tokens. Ensure the token has the scopes required by the tools being called.

AIRTABLE_TOKEN takes precedence over saved profiles when no --profile flag is set. Never log or echo tokens.

Quick reference

Task Command
Set up credentials airtable-mcp configure
Add a named profile airtable-mcp configure --profile work
Check auth status airtable-mcp whoami
Remove credentials airtable-mcp logout
Remove all profiles airtable-mcp logout --all
List available tools airtable-mcp tools
Run a tool airtable-mcp <tool> --flagName value
Get tool help airtable-mcp <tool> --help
Pass args via stdin echo '{"key":"val"}' \| airtable-mcp <tool> --input -
Bypass tool cache airtable-mcp <tool> --refresh
Suppress status msgs airtable-mcp <tool> -q
Raw text output airtable-mcp <tool> --output raw
Use a specific profile airtable-mcp <tool> --profile work

Tool names use hyphens on the CLI (list-records) but underscores in MCP (list_records). The CLI translates automatically.

Workflow

  1. Auth — set AIRTABLE_TOKEN or run airtable-mcp configure
  2. Discover — run airtable-mcp tools to see available tools
  3. Inspect — run airtable-mcp <tool> --help for flags and descriptions
  4. Check access — in tools --json output, check the access field: read-only, write, or destructive. Confirm with the user before running destructive tools.
  5. Execute — run airtable-mcp <tool> --flagName value

Output & automation

Common tasks

Find a base and list its tables:

airtable-mcp search-bases --searchQuery "Project Tracker" -q
airtable-mcp list-tables-for-base --baseId appK9MtBqFw3o5jGN -q

List records with specific fields:

airtable-mcp list-records-for-table \
  --baseId appK9MtBqFw3o5jGN --tableId tblL4GpTfEz8byRsW \
  --fieldIds '["Name","Status"]' --pageSize 10 -q

Filter records — filters use structured JSON, not formula strings. Wrap conditions in an operands array; the top-level operator defaults to and if omitted:

airtable-mcp list-records-for-table \
  --baseId appK9MtBqFw3o5jGN --tableId tblL4GpTfEz8byRsW \
  --filters '{"operator":"and","operands":[{"operator":"=","operands":["Status","Done"]}]}' -q

For select fields, filter by choice ID (from get-table-schema), not the display name. The airtable-filters skill covers compound filters, date filters, and operator-by-field-type details.

Search records — use search-records for free-text/fuzzy queries on large tables. Use list-records-for-table with --filters when filtering by exact field values:

airtable-mcp search-records \
  --baseId appK9MtBqFw3o5jGN --table tblL4GpTfEz8byRsW \
  --query "acme" --fields '["Name","Notes"]' -q

Pass --fields ALL_SEARCHABLE_FIELDS to search across every indexed field. Date, rating, checkbox, and button fields are not searchable.

Update records — complex args are easier via --input -:

echo '{"baseId":"appK9MtBqFw3o5jGN","tableId":"tblL4GpTfEz8byRsW","records":[{"id":"recVnR3xPq8sD2yLk","fields":{"fld8WsrpLHHevsnW8":"Done"}}]}' \
  | airtable-mcp update-records-for-table --input - -q

Select field values are returned as objects ({"id":"sel...","name":"Done"}) but must be written as plain strings ("Done"). Record field keys in create/update currently require field IDs (fldXXX) — use get-table-schema to resolve names to IDs before writing. Note that fieldIds, sort, and filters accept both names and IDs.

Gotchas

Problem Cause Fix
Unknown tool: X Tool name doesn’t exist on the server or cache is stale Run airtable-mcp tools --refresh to refresh, then retry
Authentication failed Token expired, revoked, or wrong Run airtable-mcp configure or check AIRTABLE_TOKEN
Access denied Token missing required scopes Add scopes at https://airtable.com/create/tokens
Connection timed out Server unreachable (10s timeout) Check network; CLI falls back to stale cache if available
Boolean flags take no value --dryRun true passes "true" as next arg Use --dryRun alone (booleans are presence-based)
Array/object args fail Value isn’t valid JSON Pass as JSON string: --fieldMappings '{"a":"b"}'
Filter rejected at top level Single condition passed without operands wrapper Wrap in {"operands":[...]} (operator defaults to and)
Sort key is fieldId not field --sort '[{"field":"Name"}]' silently ignored Use {"fieldId":"Name","direction":"asc"} — accepts field IDs or names
Select filter returns no matches Filtering by display name instead of choice ID Run get-table-schema first to get sel... choice IDs
INVALID_RECORDS on batch write Batch limit is 10 records per request (default; varies by account) Split into chunks of ≤10 and check <tool> --help for the current limit
Permission error on list-records-for-table User has interface-only access to the base Use list-records-for-page / get-record-for-page instead
Endpoints restricted CLI only allows HTTPS on *.airtable.com Cannot point at arbitrary servers (security constraint)

Work with this as data

Every skill here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agent skills

4 MCP tools reach this
  • find_skillsBrowse and filter every skill in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This skill
curl "https://apis.io/api/v1/skills/airtable-cli"
All agent skills
curl "https://apis.io/api/v1/skills?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.