Formula editor, MCP server, and AI skills for VS Code
Not affiliated with Airtable Inc. This is a community-maintained project.
Experimental — This project is under active development and not intended for production use. APIs, tools, and behavior may change without notice.
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.
This is a coverage map, not a "pick one" decision — the two servers are complementary and designed to run side-by-side.
| Capability | Official Airtable MCP | airtable-user-mcp |
|---|---|---|
| Total tools | ~17 | 36 |
| Auth model | Personal Access Token or OAuth, per-scope setup | Log in once with your normal Airtable account (SSO/2FA supported) |
| Transport | HTTP (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 |
| 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 fields | Partial (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 | ❌ | ✅ |
| Extension / block management (install, enable, rename, duplicate, remove) | ❌ | ✅ |
| Create dashboard pages | ❌ | ✅ |
filterByFormula on record queries |
❌ Explicitly disallowed | ✅ |
| Destructive-action safety guards | Relies on token scopes | ✅ expectedName match, dependency summary, force flag |
| Batch record create limit | 10 / request | Uses the same Airtable limit; no added restriction |
| VS Code / Cursor / Windsurf / Cline / Amp one-click install | Manual JSON edit per IDE | ✅ One click via the companion extension |
| Formula editor with IntelliSense | ❌ | ✅ (VS Code extension) |
| Credentials storage | You manage the PAT | OS keychain, auto-refresh |
| Plan requirement | Airtable plan with API access + token scopes | Any plan you can log into |
| Price | Free | Free, MIT |
Sources: Airtable's official MCP docs, Airtable Web API reference, and the UNSUPPORTED_FIELD_TYPE_FOR_CREATE rollup thread.
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:
{
"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.
This monorepo ships two products from one source tree:
| Product | Install | |
|---|---|---|
| Airtable Formula — VS Code extension | Marketplace | |
| airtable-user-mcp — Standalone MCP server | npx airtable-user-mcp |
- Formula Editor — Syntax highlighting, IntelliSense, beautify / minify for
.formulafiles - MCP Server — One-click MCP registration for multiple IDEs
- AI Skills — Auto-install Airtable-specific skills, rules, and workflows for AI coding assistants
- Airtable Login — Credentials in OS keychain, browser-based auth with auto-refresh
- Dashboard — React webview with Overview, Setup, and Settings tabs
Manage Airtable bases with capabilities not available through the official REST API:
| Category | Tools | Highlights |
|---|---|---|
| Schema Read | 5 | Full schema inspection — bases, tables, fields, views |
| Field Management | 8 | Create formula / rollup / lookup / count fields, validate formulas |
| View Configuration | 11 | Filters, sorts, grouping, column visibility, row height |
| Field Metadata | 1 | Set or update field descriptions |
| Extension Management | 5 | Create, install, enable/disable, rename, remove extensions |
See the full tool reference in packages/mcp-server/README.md.
The extension auto-configures MCP for all major AI-enabled editors:
Don't use VS Code? Use the standalone MCP server directly:
npx airtable-user-mcp| Registry | Link |
|---|---|
| VS Code Marketplace | Nskha.airtable-formula |
| npm | airtable-user-mcp |
| Open VSX | Nskha.airtable-formula |
| MCP Registry | io.github.automations-project/airtable-user-mcp |
| Glama | glama.ai/mcp/servers |
| PulseMCP | pulsemcp.com |
| MCP.so | mcp.so |
- VS Code ^1.100.0 (or any fork exposing the
McpServerDefinitionProviderAPI) - Node.js — bundled via the VS Code runtime; no separate install needed
- Google Chrome (or Edge / Chromium) — the Airtable login flow uses Patchright in headless mode. Falls back to
msedgeon Windows andchromiumon Linux. The extension shows an actionable warning if no supported browser is detected.
This is a pnpm monorepo.
| Package | Description |
|---|---|
packages/extension |
VS Code extension host (TypeScript + tsup) |
packages/webview |
React dashboard webview (Vite + Tailwind v4) |
packages/shared |
Shared types and message protocol |
packages/mcp-server |
airtable-user-mcp — ESM Node MCP server |
scripts/ |
Build tooling (esbuild bundler, dep vendoring) |
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.
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.