Airtable User MCP

io.github.Automations-Project由 GitHub 账号 Automations-Project 发布v2.1.1更新于 Oct 24, 2026

Manage Airtable bases: schema, field CRUD, views, formula validation, extensions

发布方自己的服务:Airtable

已验证STDIO仅桌面数据库效率与工作流

概览

AI 生成的概览

本地运行的 MCP 服务器,通过 Airtable 内部网页 API 让助手管理 Airtable 基地:结构、字段、视图、记录、模板与扩展。

可以做什么
查看基地结构:基地、表、字段、视图、侧边栏分区和记录模板,含完整视图配置,并可把公式字段下载到本地文件。查询记录并返回已解析的查找、汇总和公式值,支持跨这些值搜索。创建、更新、复制和删除记录,并可通过 URL 上传附件。管理表和字段,包括创建公式、汇总、查找和计数字段,并在应用前校验公式。配置视图:筛选、排序、分组、列、行高、封面、日历日期,以及创建、复制或删除视图。管理侧边栏分区、记录模板、表单元数据和扩展,还可把基地的结构与记录同步到另一个基地。
适用场景
当你需要公共 REST API 做不到的 Airtable 操作时使用,例如创建公式或汇总字段、编辑视图筛选与排序、校验公式、管理扩展。它设计为与官方 Airtable MCP 服务器并用,而非替代。
运行要求
通过 npx 本地运行,需要 Node.js。需用普通 Airtable 账号完成一次浏览器登录(支持 SSO/2FA),登录流程需要 Chrome、Edge 或 Chromium 浏览器。可选环境变量:AIRTABLE_HEADLESS_ONLY、AIRTABLE_NO_BROWSER、AIRTABLE_USER_MCP_HOME。
安装前请注意
它用你自己的 Airtable 账号登录,凭据存于操作系统钥匙串,因此以你的完整账号权限行事,而非受限令牌。许多工具会写入、重命名或删除数据,包括 delete_records、删除表和字段,以及镜像策略下可删除表、字段、视图和记录的基地同步。工具配置档(只读、安全写入、完整)可限制暴露面。共享守护进程会让本机其他 MCP 客户端接入其会话和认证模式。项目处于活跃开发中,次要版本间可能有破坏性变更。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Airtable User MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[airtable-user-mcp — 72 Airtable tools (plus manage_tools) your AI assistant can't get from the official Airtable REST API]

Airtable Formulas, Scripts, Automation, MCP & LSP

Formula, script & automation editor · MCP server (72 tools + manage_tools) · Language server · AI skills

[CI status] [Latest release] [Last commit] [GitHub stars] [License]


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.


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 (72 tools + manage_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 (12 tools) / safe-write (54 tools) / full (72 tools) / 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.


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~1773 (72 + manage_tools)
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❌✅
Daemon self-diagnosis (session dead? browser busy? daemon gone?)❌✅ manage_daemon action=status, plus start / restart / stop / tunnel / token rotation
Tool profiles & per-tool toggles❌✅ read-only (12) / safe-write (54) / full (72) / 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

bash
npx -y airtable-user-mcp login          # one-time browser loginclaude 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:

json
{  "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:

ProductInstall
[图片]Airtable Formulas, Scripts, Automation, MCP & LSP — VS Code extensionMarketplace
[图片]airtable-user-mcp — Standalone MCP servernpx airtable-user-mcp
[图片]airtable-user-lsp — Airtable language servernpx airtable-user-lsp

Demo


Features

MCP Server (72 Tools + manage_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 Write4create_records / update_records / duplicate_records / upload_attachment (the only way to write multipleAttachments cells by URL)
Record Destructive1delete_records — batch-delete records from 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 — not part of any profile)
Base Sync1sync_base — copy a base's schema, views, and records to another base. mode=plan/diff/status are read-only; mode=apply mutates the destination and, with policy=mirror plus the confirmation flags, can delete tables, fields, views, sections and records; mode=reconcile updates local mapping state. Drift-guarded and resumable via journal.
Daemon Control1manage_daemon — action=status is read-only self-diagnosis: daemon liveness, transport, uptime, tunnel URL, and the live session state (dead session, last breaker trip with Airtable's own response body, browser busy queue) that tells "daemon gone" from "session dead" from "browser busy". Also start / restart / stop / tunnel_enable / tunnel_disable / token_rotate. full profile only.

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

One shared daemon

The extension starts the shared MCP daemon whenever a tool call needs one, so every VS Code window uses one Airtable browser session instead of one per window — that duplication is what produced most "session dead" errors. A daemon you stop from the dashboard stays stopped, and if it cannot start, the extension falls back to a per-window server so your tools keep working.

Because a daemon is usually running, other MCP clients on the same machine (Claude Desktop, Cursor, Cline, Amp) attach to it and therefore run under its auth mode and HTTP client rather than their own — deliberately, since two browsers on one Airtable profile crash. Each such client prints one stderr line saying so. See Sharing one daemon across clients.

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.

bash
# stdio mode — works standalone, no daemon needednpx 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:

[图片][图片][图片][图片][图片][图片]
Claude DesktopClaude CodeCursorWindsurfClineAmp

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

bash
npx airtable-user-mcp

Find Us


Requirements

  • VS Code ^1.100.0 (or any fork exposing the McpServerDefinitionProvider API)
  • 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 msedge on Windows and chromium on Linux. The extension shows an actionable warning if no supported browser is detected.

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)
bash
pnpm install          # install all packagespnpm build            # build shared → webview → mcp bundle → extensionpnpm package          # build + create airtable-formula-X.Y.Z.vsixpnpm test             # run all unit testspnpm 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, otpauth, impit and @ngrok/ngrok into dist/node_modules/ before vsce package runs, so an installed extension needs no npm install at runtime.

Platform-specific VSIXes. impit (the Chrome-TLS HTTP client) and @ngrok/ngrok (the ngrok tunnel provider) keep their compiled native binary in separate per-platform npm packages, and only the one matching the build machine is ever installed. A single VSIX therefore cannot carry working native binaries for every platform. Instead we publish one VSIX per platform, each vendoring only its own binaries — VS Code and Open VSX hand each user the build matching their machine. Supported targets:

Targetimpit@ngrok/ngrok
win32-x64impit-win32-x64-msvc@ngrok/ngrok-win32-x64-msvc
win32-arm64impit-win32-arm64-msvc@ngrok/ngrok-win32-arm64-msvc
darwin-x64impit-darwin-x64@ngrok/ngrok-darwin-x64
darwin-arm64impit-darwin-arm64@ngrok/ngrok-darwin-arm64
linux-x64impit-linux-x64-gnu@ngrok/ngrok-linux-x64-gnu
linux-arm64impit-linux-arm64-gnu@ngrok/ngrok-linux-arm64-gnu
alpine-x64impit-linux-x64-musl@ngrok/ngrok-linux-x64-musl
alpine-arm64impit-linux-arm64-musl@ngrok/ngrok-linux-arm64-musl

linux-armhf (32-bit ARM) is not published: impit ships no arm-gnueabihf build, so an armhf VSIX would advertise airtableFormula.mcp.httpClient: "impit" and then fail with "Cannot find native binding". No untargeted fallback is published either, for the same reason.

The matrix is defined once in scripts/vsix-targets.mjs; versions and tarball hashes are pinned to pnpm-lock.yaml. scripts/package-targets.mjs builds every target and scripts/assert-vsix-binaries.mjs verifies each artifact contains exactly its own platform's .node files and no other's — byte-for-byte, against the SHA-256 digests in scripts/native-binary-digests.json, which are recorded from tarballs verified against pnpm-lock.yaml's integrity hashes. Filenames, package.json os/cpu, and a magic number are all labels an artifact carries about itself and cannot distinguish an x64 binary from an ARM64 one, or a glibc build from a musl one; an exact digest can.

Together these are eight target artifact packaging/assertion smokes — eight .vsix files built and their contents verified on one machine. They are not runtime smokes of eight native bindings: any single host can only load the binding compiled for itself, so only the host target's binding receives a genuine runtime load. Verifying the other seven by exact content is the strongest claim a single-host build can make about them.

The standalone npm package airtable-user-mcp is unaffected and stays universal — npm resolves the right optional dependency on your own machine at install time.


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

来源:README.md,提交 1156119

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v2.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Airtable 集成