awesome cli.

Work & messaging

Airtable MCP CLI for coding agents

Airtable bases and records through Airtable's MCP server, with profiles, JSON tool discovery, stdin JSON input, and changing server-side tool schemas.

Command: airtable-mcp

Open the official project ↗

This article follows the official documentation. We haven’t tested this tool for a hands-on review.

When a coding agent needs Airtable data, the official airtable-mcp command-line tool lets it discover and call tools provided by Airtable’s MCP server. MCP, or Model Context Protocol, is a standard that connects AI tools to external data sources. The CLI gets tool names and argument details from Airtable at runtime, so those details can change as Airtable updates its server.

An agent could use the CLI to find a tool that reads records, inspect a CRM table, and summarize open leads. The CLI is experimental, so tool names, arguments, and output formats can change. The commands below follow Airtable’s documentation; they have not been tested hands-on.

Install and authenticate

Install the CLI globally with npm:

npm install -g @airtable/mcp-cli

Then run its configuration command:

airtable-mcp configure

The repository also offers an install script for a standalone binary if you don’t use npm. The CLI uses an Airtable personal access token. It stores credentials in a default profile, a saved set of credentials, in ~/.airtable/cli.json. Use --profile <name> to configure or select another profile. In a continuous integration job, you can set AIRTABLE_TOKEN in the job’s environment instead of running configure. That variable overrides the saved token. Keep the token out of agent prompts and source files. Airtable explains installation and authentication in the official CLI repository.

Airtable access follows the user’s existing permissions. A read-only or commenter account can read data it can access, while creating or updating records requires appropriate Airtable permissions. For a token that can only read, Airtable’s help center lists these scopes:

  • data.records:read
  • schema.bases:read
  • data.recordComments:read
  • workspacesAndBases:read

Choose an account and token with access limited to the bases the agent needs, and verify its identity with:

airtable-mcp whoami

That command checks which Airtable identity the CLI is using. It contacts Airtable, as do commands that discover or run server tools.

Discover tools before calling them

Run the tools command to see which Airtable MCP tools are available:

airtable-mcp tools
airtable-mcp tools --json

It prints a human-readable list by default, and --json prints the same list as JSON for a script or agent. Tool calls return formatted JSON by default. The CLI also accepts tool arguments as flags or as JSON on standard input, the input stream a shell can pipe into a command. Run airtable-mcp TOOL_NAME --help to see the flags for one tool. The CLI caches the tool list for 60 seconds, and --refresh bypasses the cache. Airtable’s server supplies tool names and schemas at runtime, so consult the current listing instead of relying on a tool name or argument copied from an older script.

To explore without changing data, an agent can list the available tools and choose one whose description says it reads records. If the arguments in its current schema fit the task, pass a JSON object with the tool’s required arguments. The README’s example uses a tool named list-records:

echo '{"baseId":"appXXX","tableIdOrName":"Tasks"}' | airtable-mcp list-records --input - -q

--input - tells the CLI to read the arguments from standard input, and -q keeps status messages off standard error so the output stays clean. Replace appXXX and Tasks with your base ID and table name. If airtable-mcp tools no longer shows list-records, use the name and arguments it shows now. The CLI returns the tool result as formatted JSON. The exact fields depend on the selected tool and Airtable data, so scripts should handle missing or unexpected fields rather than assume a fixed response.

The command sends a request to Airtable; that action alone does not change a base. The tool you call determines whether the request reads or writes data. Before an agent runs a tool that creates or updates data, check its description and arguments and confirm what change it will make.

Give the agent a bounded task

A coding agent can use the discovered tools to summarize records without guessing how to navigate Airtable. For example:

Use airtable-mcp tools to find a read-only tool for listing records. In the [base name] base, inspect the [table name] table and summarize records that appear to be open leads. Use the tool’s current schema, report which fields you used, and do not create or update records.

Replace the bracketed values with real base and table names. Whether a tool supports a particular filter depends on the arguments in its current schema. If the schema does not include that filter, the agent should explain what it can retrieve rather than inventing a filter or tool.

Airtable’s MCP documentation says MCP calls use Airtable’s public API and count against its standard API rate limits, which restrict how many requests you can make over time. Each request to create records can include up to 10 records. Those service limits apply each time the CLI calls Airtable.

Account for changing schemas

Airtable describes the CLI as experimental. Tool names, arguments, and output formats can change without notice. A script should check that a tool still exists and handle changes to the returned fields. Airtable says the CLI’s own behavior is the stable part. That covers its flags and exit codes as well as how it formats output. The tool details come from the server and can change.

Runtime discovery helps an agent work with Airtable, but saved tool calls still need maintenance. Run airtable-mcp tools again when a call fails or a script no longer finds the expected fields. Then update the call to match the current listing. For more command-line tools, see Awesome CLI.

Tool details come from awesome-ai-cli.