mcpField
A
Airtable User Mcp

Airtable User Mcp

github.com/Automations-ProjectIDE・エディタ3213 週間前に更新

Airtable User Mcp について

Airtable User Mcp は、Airtable Inc. とは無関係のコミュニティ運営による Airtable 向け MCP サーバーです。公開 REST API では扱えないスキーマ、フィールド、ビュー、エクステンションの管理を、Airtable の内部 API を使って行います。公式 Airtable MCP を補完する位置づけです。

主な機能

  1. 01数式、ロールアップ、ルックアップ、カウントフィールドの作成と更新
  2. 02フィルター、ソート、グループ化、列表示のビュー設定
  3. 03数式の検証と削除前の依存関係プレビュー
  4. 04エクステンションとレコードテンプレートの管理
  5. 05権限プロファイルによる利用可能ツールの制限

活用シーン

  1. 01複数のテーブルへの数式やロールアップフィールドの一括作成
  2. 02ビューのフィルター、ソート、グループ化設定の調整
  3. 03フィールド変更前の数式検証と依存関係の確認

MCP 対応

本プロジェクトは MCP サーバーであり、MCP クライアントに約 73 個のツール(Airtable 向け 72 個と manage_tools)を提供します。README では公式 Airtable MCP と並行して登録する構成が推奨されています。

詳細

airtable-user-mcp — Airtable ツール 72 個(および manage_tools)。公式 Airtable REST API では AI アシスタントが利用できない機能です

Airtable の数式、スクリプト、自動化、MCP、LSP

数式・スクリプト・自動化エディター · MCP サーバー(72 個のツール + manage_tools) · 言語サーバー · AI スキル

VS CodeOpen VSXnpm · MCPnpm · LSPMCP Registry
VS Code のバージョン
VS Code のインストール数
Open VSX のバージョン
Open VSX のダウンロード数
npm のバージョン
npm の週間ダウンロード数
LSP のバージョン MCP Registry の掲載

CI のステータス 最新リリース 最終コミット GitHub のスター数 ライセンス


Airtable Inc. とは提携していません。 コミュニティがメンテナンスするプロジェクトです。

開発は活発です — マイナーバージョン間で破壊的変更が加わる場合があります。安定性が必要な場合は、バージョンを固定してください。


主な機能

機能説明ファイル形式
数式エディター構文ハイライト、インテリセンス、整形/圧縮.formula、.min.formula
スクリプトエディター補完、ホバー時のドキュメント表示、診断.ats、.script
オートメーションエディター補完、ホバー時のドキュメント表示、診断.ata、.automation
MCP サーバー(72 個のツール + manage_tools)Airtable の内部 API 全体 — スキーマ、ビュー、フィールド、レコード、拡張機能、テンプレート—
言語サーバー(LSP)Neovim、Zed、Helix、OpenCode などの複数エディターに対応するスタンドアロン版上記すべて
IDE 自動セットアップCursor、Windsurf、Claude Desktop、Cline、Amp 用の MCP 設定をワンクリックで作成—
AI スキルAI コーディングアシスタント向けに事前構築された、Airtable 固有のルールとワークフロー—
デーモン + トンネル常時稼働するバックグラウンドサーバー。オプションで Cloudflare または ngrok によるリモートアクセスに対応—
ツールプロファイルread-only(12 個のツール)/safe-write(54 個のツール)/full(72 個のツール)/custom の権限スコープ—
OS キーチェーン認証SSO/2FA 対応のブラウザベースの Airtable ログイン。認証情報は OS のキーチェーンに保存—

これが存在する理由

Airtable の公開 Web API では、数式フィールドの作成、ビューのフィルター設定の調整、拡張機能のインストール、本番環境に影響が出る前の数式の検証など、ビルダーが実際に必要とする最も一般的なタスクの一部が、これまで一度も提供されていません。公式の Airtable MCP サーバーは、同じ REST API を薄くラップしたものなので、これらの制約をすべて引き継いでいます。

airtable-user-mcp は、公式 Airtable MCP のアドオンであり、置き換えるものではありません。 Airtable 独自の内部 API(Web UI が使用している API)を使って、REST API では対応できない領域を補います。AI クライアントに両方のサーバーを登録すると、アシスタントは Airtable 自動化の機能をすべて利用できるようになります。レコードは公式 MCP 経由の HTTP で操作し、スキーマ、数式、ビュー、拡張機能はこのサーバー経由で操作できます。

アーキテクチャ:AI クライアント → 公式 MCP + airtable-user-mcp → Airtable

公式 Airtable MCP に加えて airtable-user-mcp が提供する機能

これは機能範囲の比較であり、「どちらかを選ぶ」ためのものではありません。2つのサーバーは相互補完的で、並行して動作するように設計されています。

機能公式 Airtable MCPairtable-user-mcp
ツールの合計数約1773(72 + manage_tools)
認証方式Personal Access Token または OAuth、スコープごとの設定通常の Airtable アカウントで一度ログインするだけ(SSO/2FA 対応)
トランスポートHTTP(リモート)stdio(ローカル、プライベート)
データがマシンの外に出ない❌ リクエストは mcp.airtable.com を経由します✅ Airtable の API に対してローカルで実行します
スキーマの読み取り(ベース、テーブル、フィールド、ビュー)一部対応(ビュー設定は非対応)完全対応 — フィルター、並べ替え、グループ、表示設定、行の高さ、説明
解決済みのフィールド値を含むレコードの読み取り一部対応✅ query_records — ルックアップ/ロールアップ/数式フィールドを完全に解決して返します
テキストによるレコード検索(ルックアップフィールドを含む)❌ ルックアップフィールドに対する FIND()/SEARCH() を使った filterByFormula は、エラーを表示せずに失敗します✅ query_records.search — 解決済みのすべての値を部分一致で検索します
レコードの複製❌✅ duplicate_records
数式フィールドの作成❌ UNSUPPORTED_FIELD_TYPE_FOR_CREATE✅
ロールアップフィールドの作成❌✅
ルックアップ/multipleLookupValues フィールドの作成❌✅
カウントフィールドの作成❌✅
既存フィールドの数式テキストの更新❌✅
適用前の数式の検証❌✅
フィールド名の変更/複製/安全な削除一部対応(複製と依存関係の概要には非対応)✅ expectedName ガード + 依存関係のプレビュー
ビューの作成(グリッド/フォーム/カンバン/カレンダー/ギャラリー/ガント/リスト)❌(API にビュー作成エンドポイントがありません)✅
ビューのフィルター設定/追加(ネストされた AND/OR)❌✅
ビューの並べ替え設定❌✅
ビューのグループ化設定❌✅
列の順序の変更❌✅
ビュー内の列の表示/非表示❌✅
行の高さの変更❌✅
全設定を含むビューの複製❌✅
ビューの説明、セルの折り返し、カバー、色の設定、カレンダーの日付、固定列❌✅
サイドバーのセクション(作成、名前変更、移動、削除)❌✅
レコードテンプレート(作成、事前入力、複製、適用、削除)❌✅
フォームのメタデータ(説明、リダイレクト、アトリビューション、ブランディング)❌✅
拡張機能/ブロックの管理(インストール、有効化、名前変更、複製、削除)❌✅
ダッシュボードページの作成❌✅
デーモンの自己診断(セッションが切れたか、ブラウザーがビジーか、デーモンが停止したか)❌✅ manage_daemon の action=status、および起動/再起動/停止/トンネル/トークンのローテーション
ツールプロファイルとツールごとの切り替え❌✅ 読み取り専用(12)/安全な書き込み(54)/フル(72)/カスタム
破壊的操作の安全ガードトークンのスコープに依存✅ expectedName の一致、依存関係の概要、force フラグ
一括レコード作成の上限リクエストあたり10件Airtable と同じ上限を使用し、追加の制限はありません
VS Code/Cursor/Windsurf/Cline/Amp のワンクリックインストールIDE ごとに JSON を手動編集✅ 付属の拡張機能からワンクリックでインストール
IntelliSense 対応の数式エディター❌✅(VS Code 拡張機能)
認証情報の保存PAT を自分で管理OS のキーチェーン、自動更新
必要なプランAPI アクセスとトークンスコープが利用できる Airtable プランログイン可能な任意のプラン
価格無料無料、MIT

出典:Airtable の公式 MCP ドキュメント、Airtable Web API リファレンス、および UNSUPPORTED_FIELD_TYPE_FOR_CREATE ロールアップのスレッド。


2つの MCP を一緒に使う

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 は追加で利用できます。Airtable のセットアップガイドに従って公式 Airtable MCP を登録し、同じ mcpServers ブロックにこの MCP サーバーを追加してください。

{
  "mcpServers": {
    "airtable-user-mcp": {
      "command": "npx",
      "args": ["-y", "airtable-user-mcp"]
    }
  }
}

MCP クライアントには、両方のサーバーのすべてのツールが公開されます。2つのエントリーは独立しているため、ワークフローに合うようにキー(airtable、airtable-official、airtable-user-mcp など)の名前を変更できます。


このリポジトリの内容

このモノレポでは、1つのソースツリーから3つの製品を提供しています。

製品インストール
README の画像Airtable Formulas, Scripts, Automation, MCP & LSP — VS Code 拡張機能Marketplace
README の画像airtable-user-mcp — スタンドアロン MCP サーバーnpx airtable-user-mcp
README の画像airtable-user-lsp — Airtable 言語サーバーnpx airtable-user-lsp

デモ

Claude Code を使ってベースのビュー、計算フィールド、拡張機能を管理 — Reddit デモ


機能

MCP サーバー(72 個のツール+manage_tools)

公式 REST API では利用できない機能を使用して Airtable のベースを管理します。

カテゴリーツール数主な機能
スキーマの読み取り11スキーマ全体を確認できます。ベース、テーブル、フィールド、ビュー、サイドバーセクション、レコードテンプレートが対象です。すべての数式フィールドをローカルファイルにダウンロードできます
レコードの読み取り1query_records — 解決済みのフィールド値を含む最大 1 000 件のレコードを 1 回の呼び出しで取得できます。search パラメーターはルックアップ/ロールアップフィールドでも機能します(REST API の filterByFormula では機能しません)
レコードの書き込み4create_records/update_records/duplicate_records/upload_attachment(URL によって multipleAttachments セルに書き込む唯一の方法です)
レコードの破壊的操作1delete_records — テーブル内のレコードを一括削除します
テーブル管理3テーブルの作成/名前変更/削除
フィールド管理9数式/ロールアップ/ルックアップ/カウントフィールドの作成、数式の検証、説明の更新、単一または一括での削除
ビュー設定20フィルター、並べ替え、グループ化、列、固定表示、行の高さ、カバー、色ルール、カレンダーの日付、作成/複製/名前変更/削除
サイドバーセクション4作成、名前変更、セクションへの移動、削除(含まれるビューは自動的にグループ化されていない状態に移動します)
レコードテンプレート8保存済みの行のひな形を作成/名前変更/説明の設定/セルの設定/列の設定/複製/適用/削除
フォームのメタデータ2説明、リダイレクト URL、アトリビューション、回答者へのコピー、ブランディング(レガシーのフォームビュー)
拡張機能の管理7拡張機能の作成、インストール、有効化/無効化、名前変更、複製、削除
ツール管理1プロファイルの一覧表示、プロファイルの切り替え、ツール/カテゴリーの切り替え(メタツール。常に有効で、どのプロファイルにも属しません)
ベースの同期1sync_base — ベースのスキーマ、ビュー、レコードを別のベースにコピーします。mode=plan/diff/statusは読み取り専用です。mode=applyはコピー先を変更し、policy=mirrorと確認フラグを併用すると、テーブル、フィールド、ビュー、セクション、レコードを削除できます。mode=reconcileはローカルのマッピング状態を更新します。ドリフトを検出して処理を保護し、ジャーナルを使って再開できます。
デーモン制御1manage_daemon — action=statusは読み取り専用の自己診断です。デーモンの稼働状態、トランスポート、稼働時間、トンネル URL、ライブセッションの状態(デッドセッション、Airtable 自身のレスポンス本文を含む直近のブレーカートリップ、ブラウザーのビジーキュー)を確認し、「デーモンが停止」なのか「セッションが停止」なのか「ブラウザーがビジー」なのかを判別できます。また、start/restart/stop/tunnel_enable/tunnel_disable/token_rotateも利用できます。fullプロファイルのみ。

ツールの全リファレンスについては、packages/mcp-server/README.mdを参照してください。

共有デーモンは 1 つ

ツールの呼び出し時に拡張機能が共有 MCP デーモンを起動するため、各 VS Code ウィンドウはウィンドウごとに 1 つずつではなく、1 つの Airtable ブラウザーセッションを使用します。この重複が、「セッションが停止しました」というエラーの大半を引き起こしていました。ダッシュボードから停止したデーモンは停止状態を維持します。また、デーモンを起動できない場合、拡張機能はウィンドウごとのサーバーにフォールバックするため、ツールを引き続き使用できます。

通常はデーモンが稼働しているため、同じマシン上の他の MCP クライアント(Claude Desktop、Cursor、Cline、Amp)はデーモンに接続し、それぞれの認証モードや HTTP クライアントではなく、デーモンの認証モードと HTTP クライアントで動作します。これは、1 つの Airtable プロファイルで 2 つのブラウザーを使うとクラッシュするため、意図的な仕様です。各クライアントは、その旨を stderr に 1 行出力します。クライアント間で 1 つのデーモンを共有するを参照してください。

LSP サーバー

airtable-user-lsp は、Airtable の数式、スクリプト、オートメーションファイル向けのスタンドアロンの言語サーバーです。VS Code に限らず、LSP 対応エディターで動作します。

# stdio mode — works standalone, no daemon needed
npx airtable-user-lsp --stdio

.formula、.ats、.ata ファイルの診断、補完、ホバードキュメント、シグネチャヘルプに対応しています。

デーモンの実行中は、airtable-user-lsp --tcp が自動的に起動し、複数のエディターで1つの言語サーバーインスタンスを共有します。TCP ポートは ~/.airtable-user-mcp/daemon.lock の port_lsp に書き込まれます。

エディターごとの設定(Neovim、Zed、OpenCode、Helix)については、packages/lsp-server/README.md をご覧ください。


対応 IDE

この拡張機能は、主要な AI 対応エディターすべてで MCP を自動設定します。

README の画像README の画像README の画像README の画像README の画像README の画像
Claude DesktopClaude CodeCursorWindsurfClineAmp

VS Code をお使いでない場合は? スタンドアロンの MCP サーバーを直接ご利用ください。

npx airtable-user-mcp

掲載先


必要条件

  • VS Code ^1.100.0(または McpServerDefinitionProvider API を公開するフォーク)
  • Node.js — VS Code ランタイムに同梱されているため、別途インストールする必要はありません
  • Google Chrome(または Edge/Chromium)— Airtable のログインフローでは、ヘッドレスモードで Patchright を使用します。Windows では msedge、Linux では chromium にフォールバックします。対応ブラウザーが検出されない場合、拡張機能が対処方法を示す警告を表示します。

開発

これはpnpm モノレポです。

パッケージ説明
packages/extensionVS Code 拡張機能ホスト(TypeScript + tsup)
packages/webviewReact ダッシュボード Webview(Vite + Tailwind v4)
packages/shared共有型とメッセージプロトコル
packages/mcp-serverairtable-user-mcp — ESM Node MCP サーバー
packages/lsp-serverairtable-user-lsp — 数式/スクリプト/オートメーションファイル用の LSP サーバー
scripts/ビルドツール(esbuild バンドラー、依存関係の同梱)
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)

MCP サーバーのバンドル方法: scripts/bundle-mcp.mjs が packages/mcp-server/src/ を esbuild で packages/extension/dist/mcp/ にバンドルします。その後、scripts/prepare-package-deps.mjs が vsce package の実行前に patchright、patchright-core、otpauth、impit、@ngrok/ngrok を dist/node_modules/ に同梱するため、インストール済みの拡張機能では実行時に npm install が不要です。

プラットフォーム別 VSIX。 impit(Chrome-TLS HTTP クライアント)と @ngrok/ngrok(ngrok トンネルプロバイダー)は、コンパイル済みネイティブバイナリをプラットフォームごとに分かれた npm パッケージに格納しており、ビルドマシンに一致するものだけがインストールされます。そのため、1 つの VSIX にすべてのプラットフォームで動作するネイティブバイナリを含めることはできません。代わりに、プラットフォームごとに 1 つの VSIXを公開し、それぞれにそのプラットフォーム専用のバイナリだけを同梱します。VS Code と Open VSX は、各ユーザーのマシンに合ったビルドを提供します。サポート対象は次のとおりです。

ターゲットimpit@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 ビット ARM)は公開されません。impit は arm-gnueabihf ビルドを提供していないため、armhf VSIX は airtableFormula.mcp.httpClient: "impit" を指定しながら「Cannot find native binding」エラーで失敗します。同じ理由により、ターゲットを指定しないフォールバックも公開されません。

マトリックスは scripts/vsix-targets.mjs で一元的に定義され、バージョンと tarball のハッシュは pnpm-lock.yaml に固定されています。scripts/package-targets.mjs がすべてのターゲットをビルドし、scripts/assert-vsix-binaries.mjs が各成果物にそのプラットフォーム用の .node ファイルだけが含まれ、他のプラットフォーム用のファイルが含まれていないことを、scripts/native-binary-digests.json に記録された SHA-256 ダイジェストとバイト単位で照合して検証します。ダイジェストは pnpm-lock.yaml の整合性ハッシュと照合済みの tarball から記録されています。ファイル名、package.json の os/cpu、マジックナンバーはいずれも成果物自身が持つラベルであり、x64 バイナリと ARM64 バイナリ、あるいは glibc ビルドと musl ビルドを区別できません。正確なダイジェストなら区別できます。

これらを合わせると、8 つのターゲット成果物のパッケージング/アサーションスモークテストになります。1 台のマシンで 8 つの .vsix ファイルをビルドし、その内容を検証します。ただし、8 つのネイティブバインディングの実行時スモークテストではありません。1 台のホストで読み込めるのは、そのホスト用にコンパイルされたバインディングだけなので、実際に実行時ロードされるのはホストのターゲットに対応するバインディングのみです。他の 7 つについて内容を正確に照合することが、単一ホストのビルドで保証できる最も強い検証です。

スタンドアロンの npm パッケージ airtable-user-mcp は影響を受けず、引き続きユニバーサルです。npm がインストール時に、お使いのマシンに適したオプションの依存関係を解決します。


このプロジェクトを支援する

このプロジェクトは、AI コーディングツールの支援を受けて開発・保守されています。便利だと感じ、今後の開発(新しいツール、アップデート、バグ修正)を支援したい場合は、このプロジェクトの開発に主に使用している Claude Code クレジットを贈ってご支援いただけます。

ご興味がありますか?issue を作成するか、機能のリクエストやスポンサーシップについてお問い合わせください。


ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。