npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@airtable/mcp-cli

v0.2.1

Published

Airtable MCP CLI — auto-discovers commands from the MCP server

Readme

Airtable MCP CLI

Manage your Airtable bases from the terminal.

This CLI discovers commands from the Airtable MCP server at runtime. airtable-mcp tools shows whatever the server exposes at that moment. If the server adds, removes, or renames a tool, the CLI reflects that without a client release. See DESIGN.md for the design rationale.

Install

curl -fsSL https://raw.githubusercontent.com/Airtable/airtable-mcp-cli/main/install.sh | sh

Also available on npm: npm install -g @airtable/mcp-cli

Quick start

Set up your personal access token. Credentials are stored in a default profile. Use --profile <name> to create additional profiles.

airtable-mcp configure

Discover what you have access to:

airtable-mcp tools
airtable-mcp list-bases

Then act on it:

airtable-mcp list-records --baseId appXXX --tableIdOrName Tasks

The first time you run a tool, the CLI fetches the tool list from the server and caches it for 60 seconds. After that, subsequent commands are fast. Use --refresh on any tool command to bypass the cache.

This CLI is experimental and tool names, arguments, and output formats may change without notice. The tools you see today may be renamed, removed, or have their arguments changed in a future server update. If you're scripting against specific tools, check for tool existence before calling and handle missing or unexpected fields in output.

Commands

airtable-mcp configure               Set up personal access token
airtable-mcp whoami                   Show current auth status
airtable-mcp logout                   Remove saved credentials
airtable-mcp tools                    List available tools
airtable-mcp <tool> [--flags]         Run a tool
airtable-mcp <tool> --help            Show help and flags for a tool
airtable-mcp completions <shell>      Generate shell completions (bash, zsh, fish)
airtable-mcp --help                   Show help
airtable-mcp --version                Print version

Most commands accept --profile <name> to switch between accounts.

Flags

Tool output defaults to formatted JSON. The tools command defaults to a human-readable list.

| Flag | Applies to | Description | |---|---|---| | --profile <name> | all | Use a named profile | | --json | tools | Output tool list as JSON | | --refresh | tools, <tool> | Bypass the tool cache | | --output raw | <tool> | Raw text output instead of JSON | | --input - | <tool> | Read arguments as JSON from stdin | | -q, --quiet | <tool> | Suppress status messages on stderr |

Profiles

Manage multiple accounts:

airtable-mcp configure --profile work
airtable-mcp configure --profile personal
airtable-mcp tools --profile work

Automation and agents

This CLI is meant to be driven by scripts and agents. Flags, output behavior, and exit codes are the stable part. Tool names and schemas are not; they come from the server at runtime.

Useful pieces:

  • AIRTABLE_TOKEN: skip configure, useful in CI
  • tools --json: discover tools programmatically
  • --input -: pass arguments as JSON on stdin
  • -q: keep stdout clean
  • --output raw: return the server response without JSON formatting

Example:

export AIRTABLE_TOKEN=pat_xxx
airtable-mcp tools --json
echo '{"baseId":"appXXX","tableIdOrName":"Tasks"}' | airtable-mcp list-records --input - -q

Environment variables

| Variable | Description | |---|---| | AIRTABLE_TOKEN | Personal access token. Overrides airtable-mcp configure. | | AIRTABLE_MCP_ENDPOINT | MCP server URL (default: https://mcp.airtable.com/mcp). |

Endpoints are restricted to HTTPS on *.airtable.com to prevent token exfiltration to arbitrary servers.

Configuration

Config is stored in ~/.airtable/cli.json with restricted file permissions (0600). The config directory is created with 0700 permissions. Tool definitions are cached in ~/.airtable/cache-{profile}.json with a 60-second TTL. The cache is integrity-checked on read.

Development

npm install
npm run build
npm run typecheck
npm test

Install locally as the airtable-mcp command:

npm run build
npm link

After npm link, only re-run npm run build to pick up changes — no need to re-link.

Unlink when done:

npm unlink -g @airtable/mcp-cli

License

MIT