Labsco
Automations-Project logo

Airtable User MCP

β˜… 28

from Automations-Project

VS Code extension and MCP server for Airtable, formula editor, schema tools, and 30+ automation utilities for bases, views, and fields.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup
<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/banner-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/banner-light.svg"> <img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/banner-light.svg" alt="airtable-user-mcp β€” 66 tools your AI assistant can't get from the official Airtable REST API" width="900" /> </picture>

Airtable Formulas, Scripts, Automation, MCP & LSP

Formula, script & automation editor Β· MCP server (66 tools) Β· Language server Β· AI skills

<table align="center"> <tr> <th align="center">VS Code</th> <th align="center">Open VSX</th> <th align="center">npm Β· MCP</th> <th align="center">npm Β· LSP</th> <th align="center">MCP Registry</th> </tr> <tr> <td align="center"> <a href="https://marketplace.visualstudio.com/items?itemName=Nskha.airtable-formula"><img src="https://vsmarketplacebadges.dev/version-short/Nskha.airtable-formula.svg?style=for-the-badge&label=Version&colorB=007ACC" alt="VS Code version" /></a><br/> <a href="https://marketplace.visualstudio.com/items?itemName=Nskha.airtable-formula"><img src="https://vsmarketplacebadges.dev/installs-short/Nskha.airtable-formula.svg?style=for-the-badge&label=Installs&colorB=1E8CBE" alt="VS Code installs" /></a> </td> <td align="center"> <a href="https://open-vsx.org/extension/Nskha/airtable-formula"><img src="https://img.shields.io/open-vsx/v/Nskha/airtable-formula?style=for-the-badge&logo=eclipseide&logoColor=white&label=Version&color=C160EF" alt="Open VSX version" /></a><br/> <a href="https://open-vsx.org/extension/Nskha/airtable-formula"><img src="https://img.shields.io/open-vsx/dt/Nskha/airtable-formula?style=for-the-badge&logo=eclipseide&logoColor=white&label=Downloads&color=A855F7" alt="Open VSX downloads" /></a> </td> <td align="center"> <a href="https://www.npmjs.com/package/airtable-user-mcp"><img src="https://img.shields.io/npm/v/airtable-user-mcp?style=for-the-badge&logo=npm&logoColor=white&label=Version&color=CB3837" alt="npm version" /></a><br/> <a href="https://www.npmjs.com/package/airtable-user-mcp"><img src="https://img.shields.io/npm/dw/airtable-user-mcp?style=for-the-badge&logo=npm&logoColor=white&label=DL%2FWeek&color=F43F5E" alt="npm downloads per week" /></a> </td> <td align="center"> <a href="https://www.npmjs.com/package/airtable-user-lsp"><img src="https://img.shields.io/npm/v/airtable-user-lsp?style=for-the-badge&logo=npm&logoColor=white&label=Version&color=CB3837" alt="LSP version" /></a> </td> <td align="center"> <a href="https://registry.modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP%20Registry-Listed-1D4ED8?style=for-the-badge" alt="MCP Registry listing" /></a> </td> </tr> </table> <p align="center"> <a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Automations-Project/VSCode-Airtable-Formula/ci.yml?branch=main&style=for-the-badge&logo=githubactions&logoColor=white&label=CI" alt="CI status" /></a> <a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/releases/latest"><img src="https://img.shields.io/github/v/release/Automations-Project/VSCode-Airtable-Formula?style=for-the-badge&logo=github&logoColor=white&label=Latest%20Release&color=10B981" alt="Latest release" /></a> <a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/commits/main"><img src="https://img.shields.io/github/last-commit/Automations-Project/VSCode-Airtable-Formula?style=for-the-badge&logo=github&logoColor=white&label=Last%20Commit&color=6366F1" alt="Last commit" /></a> <a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/stargazers"><img src="https://img.shields.io/github/stars/Automations-Project/VSCode-Airtable-Formula?style=for-the-badge&logo=github&logoColor=white&label=Stars&color=FBBF24" alt="GitHub stars" /></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/Automations-Project/VSCode-Airtable-Formula?style=for-the-badge&logo=opensourceinitiative&logoColor=white&label=License&color=22C55E" alt="License" /></a> </p> <br />

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

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

</div>

Top Features

FeatureWhat it doesFile types
Formula EditorSyntax highlighting, IntelliSense, beautify / minify.formula, .min.formula
Script EditorCompletions, hover docs, diagnostics.ats, .script
Automation EditorCompletions, hover docs, diagnostics.ata, .automation
MCP Server (66 tools)Full Airtable internal API β€” schema, views, fields, records, extensions, templatesβ€”
Language Server (LSP)Standalone multi-editor support β€” Neovim, Zed, Helix, OpenCodeAll above
IDE Auto-SetupOne-click MCP config for Cursor, Windsurf, Claude Desktop, Cline, Ampβ€”
AI SkillsPre-built Airtable-specific rules and workflows for AI coding assistantsβ€”
Daemon + TunnelPersistent background server; optional Cloudflare or ngrok remote accessβ€”
Tool Profilesread-only / safe-write / full / custom permission scopesβ€”
OS Keychain AuthBrowser-based Airtable login with SSO/2FA β€” credentials in your OS keychainβ€”

Why this exists

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

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

<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/architecture-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/architecture-light.svg"> <img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/architecture-light.svg" alt="Architecture: AI Client β†’ Official MCP + airtable-user-mcp β†’ Airtable" width="900" /> </picture> </div>

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

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

CapabilityOfficial Airtable MCPairtable-user-mcp
Total tools~1766
Auth modelPersonal Access Token or OAuth, per-scope setupLog in once with your normal Airtable account (SSO/2FA supported)
TransportHTTP (remote)stdio (local, private)
Data never leaves your machine❌ Requests go through mcp.airtable.comβœ… Runs locally against Airtable's API
Schema read (bases, tables, fields, views)Partial (no view config)Full β€” filters, sorts, groups, visibility, row height, descriptions
Read records with resolved field valuesPartialβœ… query_records β€” returns lookup/rollup/formula fields fully resolved
Search records by text (incl. lookup fields)❌ filterByFormula with FIND()/SEARCH() silently fails on lookup fieldsβœ… query_records.search β€” substring match on all resolved values
Duplicate recordsβŒβœ… duplicate_records
Create formula fields❌ UNSUPPORTED_FIELD_TYPE_FOR_CREATEβœ…
Create rollup fieldsβŒβœ…
Create lookup / multipleLookupValues fieldsβŒβœ…
Create count fieldsβŒβœ…
Update formula text of an existing fieldβŒβœ…
Validate a formula before applyingβŒβœ…
Rename / duplicate / safely delete fieldsPartial (no duplicate, no dependency summary)βœ… with expectedName guard + dependency preview
Create views (grid/form/kanban/calendar/gallery/gantt/list)❌ (API has no create-view endpoint)βœ…
Set/append view filters (nested AND/OR)βŒβœ…
Set view sortsβŒβœ…
Set view groupingβŒβœ…
Change column orderβŒβœ…
Show/hide columns in a viewβŒβœ…
Change row heightβŒβœ…
Duplicate a view with its full configurationβŒβœ…
View descriptions, cell wrap, covers, color config, calendar dates, frozen columnsβŒβœ…
Sidebar sections (create, rename, move, delete)βŒβœ…
Record templates (create, pre-fill, duplicate, apply, delete)βŒβœ…
Form metadata (description, redirect, attribution, branding)βŒβœ…
Extension / block management (install, enable, rename, duplicate, remove)βŒβœ…
Create dashboard pagesβŒβœ…
Tool profiles & per-tool togglesβŒβœ… read-only / safe-write / full / custom
Destructive-action safety guardsRelies on token scopesβœ… expectedName match, dependency summary, force flag
Batch record create limit10 / requestUses the same Airtable limit; no added restriction
VS Code / Cursor / Windsurf / Cline / Amp one-click installManual JSON edit per IDEβœ… One click via the companion extension
Formula editor with IntelliSenseβŒβœ… (VS Code extension)
Credentials storageYou manage the PATOS keychain, auto-refresh
Plan requirementAirtable plan with API access + token scopesAny plan you can log into
PriceFreeFree, MIT

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


Use both MCPs together

Copy & paste β€” that's it
npx -y airtable-user-mcp login          # one-time browser login
claude mcp add airtable --scope user -- npx -y airtable-user-mcp   # Claude Code

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

Copy & paste β€” that's it
{
  "mcpServers": {
    "airtable-user-mcp": {
      "command": "npx",
      "args": ["-y", "airtable-user-mcp"]
    }
  }
}

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


What's In This Repo

This monorepo ships three products from one source tree:

<div align="center">
ProductInstall
<img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/extension/images/icon.png" width="24" />Airtable Formulas, Scripts, Automation, MCP & LSP β€” VS Code extensionMarketplace
<img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/icon.png" width="24" />airtable-user-mcp β€” Standalone MCP servernpx airtable-user-mcp
<img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/icon.png" width="24" />airtable-user-lsp β€” Airtable language servernpx airtable-user-lsp
</div>

Demo

<div align="center">

Using Claude Code to manage base views, computed fields & extensions β€” Reddit demo

</div>

Features

MCP Server (66 Tools)

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

CategoryToolsHighlights
Schema Read11Full schema inspection β€” bases, tables, fields, views, sidebar sections, record templates; download all formula fields to local files
Record Read1query_records β€” up to 1 000 records/call with resolved field values; search param works on lookup/rollup fields (REST API filterByFormula doesn't)
Record Write1duplicate_records β€” bulk copy records within a table
Table Management3create / rename / delete tables
Field Management9Create formula / rollup / lookup / count fields, validate formulas, update descriptions, delete single or bulk
View Configuration20Filters, sorts, grouping, columns, freezing, row height, covers, color rules, calendar dates, create / duplicate / rename / delete
Sidebar Sections4Create, rename, move-into-section, delete (auto-promotes contained views to ungrouped)
Record Templates8Create / rename / describe / set cells / set columns / duplicate / apply / delete saved row scaffolds
Form Metadata2Description, redirect URL, attribution, copy-to-respondent, branding (legacy form views)
Extension Management7Create, install, enable/disable, rename, duplicate, remove extensions
Tool Management1List profiles, switch profile, toggle tools/categories (meta-tool, always enabled)

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

LSP Server

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

Copy & paste β€” that's it
# stdio mode β€” works standalone, no daemon needed
npx airtable-user-lsp --stdio

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

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

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


Supported IDEs

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

<div align="center">
<img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/claude.svg" width="28" /><img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/claude-code.svg" width="28" /><img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/cursor.svg" width="28" /><img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/windsurf.svg" width="28" /><img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/cline.svg" width="28" /><img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/webview/src/assets/icons/amp.svg" width="28" />
Claude DesktopClaude CodeCursorWindsurfClineAmp
</div>

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

Copy & paste β€” that's it
npx airtable-user-mcp

Find Us

<div align="center"> </div>

Development

This is a pnpm monorepo.

PackageDescription
packages/extensionVS Code extension host (TypeScript + tsup)
packages/webviewReact dashboard webview (Vite + Tailwind v4)
packages/sharedShared types and message protocol
packages/mcp-serverairtable-user-mcp β€” ESM Node MCP server
packages/lsp-serverairtable-user-lsp β€” LSP server for formula / script / automation files
scripts/Build tooling (esbuild bundler, dep vendoring)
Copy & paste β€” that's it
pnpm install          # install all packages
pnpm build            # build shared β†’ webview β†’ mcp bundle β†’ extension
pnpm package          # build + create airtable-formula-X.Y.Z.vsix
pnpm test             # run all unit tests
pnpm dev              # start webview dev server (browser preview)

How the MCP server is bundled: scripts/bundle-mcp.mjs esbuilds packages/mcp-server/src/ into packages/extension/dist/mcp/. Then scripts/prepare-package-deps.mjs vendors patchright, patchright-core, and otpauth into dist/node_modules/ before vsce package runs. The VSIX is fully self-contained.


Support This Project

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

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


License

MIT