/ 目錄 / 演練場 / airtable-mcp-server
● 社群 domdomegg ⚡ 即開即用

airtable-mcp-server

作者 domdomegg · domdomegg/airtable-mcp-server

在對話中直接讀取和編輯 Airtable — 透過細粒度 PAT 精確限制 AI 可存取的資料庫範圍。

domdomegg 開發的 airtable-mcp-server 是社群標準的 Airtable MCP。使用 Airtable 個人存取權杖(PAT)進行驗證,提供 15+ 個工具用於操作記錄、資料表、欄位與留言,並可透過 PAT 範圍限制為唯讀模式。支援所有 Airtable 資料庫,包含企業工作區。

為什麼要用

核心特性

即時演示

實際使用效果

airtable.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "airtable",
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "airtable": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "airtable-mcp-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add airtable -- npx -y airtable-mcp-server

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: airtable-mcp-server

用自然語言查詢 Airtable CRM

👤 使用 Airtable 作為 CRM 的創辦人與營運人員 ⏱ ~10 min beginner

何時使用: 你想知道「哪些人超過 30 天沒有回覆?」卻不想特地建立一個檢視。

前置條件
  • 具備 schema.bases:read + data.records:read 的 Airtable PAT — 前往 airtable.com/create/tokens/new — 僅選取你想要開放的資料庫
步驟
  1. 讓 Claude 列出資料庫並找到正確的那個
    列出我的 Airtable 資料庫。找出看起來像銷售 CRM 的那個,並描述其資料表結構。✓ 已複製
    → 含資料表用途的 CRM 資料庫結構
  2. 提出真正的問題
    在 Contacts 資料表中,找出 Last Contacted 超過 30 天且 Status 為 Active 的聯絡人,依 Owner 分組。✓ 已複製
    → 依負責人分組的篩選記錄清單
  3. 起草後續行動
    為每位聯絡人草擬一行跟進郵件。請配合他們上次對話的語氣。✓ 已複製
    → 每位聯絡人的草稿文字

結果: 在 2 分鐘內直接從 CRM 取得下一步行動清單。

注意事項
  • 關聯記錄欄位回傳的是 ID 而非名稱 — 請 Claude 透過二次查詢解析關聯記錄,或使用 list_records 並設定 returnFieldsByFieldId=false
  • 企業資料庫通常對欄位有個別的權限限制 — 確認你的 PAT 工作區存取權限符合該資料庫的企業政策
搭配使用: notion

批次清理雜亂的 Airtable 記錄

👤 接手混亂資料庫的營運管理員 ⏱ ~45 min intermediate

何時使用: 某資料表有 3000 筆記錄,存在大小寫不一致、欄位缺失、公司名稱重複等問題。

前置條件
  • 具備 data.records:write 的 PAT — 建立權杖時新增該範圍;資料庫範圍保持最小化
步驟
  1. 審查問題所在
    在 Companies 資料表中,找出依正規化名稱重複的記錄、缺少 Domain 的記錄,以及 Website 以 http:// 而非 https:// 開頭的記錄。✓ 已複製
    → 各問題類型的數量統計
  2. 試跑修復計畫
    針對每個問題,提出修復方案並在實際寫入前展示 3 個變更範例。✓ 已複製
    → 含使用者確認關卡的預覽畫面
  3. 套用已核准的修復
    已確認。使用 update_records 以每批 50 筆的方式套用修復。✓ 已複製
    → 每批次的成功數量

結果: 一份乾淨的資料表,並附上可稽核的變更清單。

注意事項
  • 大量更新會觸發 Airtable 的每權杖自動化配額限制 — 最多每秒 10 次請求;批次操作期間暫停相關資料表的自動化
  • 一個錯誤的更新規則可能破壞 500 筆記錄 — 第一次寫入前先備份資料表(匯出為 CSV)
搭配使用: filesystem

將 Airtable 作為網站的 Headless CMS

👤 獨立開發者與內容團隊 ⏱ ~30 min intermediate

何時使用: 你希望編輯人員在 Airtable 中作業,並由 Agent 驅動發布邏輯。

步驟
  1. 拉取準備發布的記錄
    從 Blog 資料表列出 Status 為 'Ready' 且 PublishDate 為今天或更早的記錄。✓ 已複製
    → 待發布佇列
  2. 轉換並輸出
    對每筆記錄,將富文字的 Body 欄位轉換為 Markdown,並寫入 /site/content/posts/<slug>.md。✓ 已複製
    → 檔案出現在磁碟上
  3. 更新狀態
    將每筆記錄的 Status 更新為 'Published',並將 PublishedAt 設為現在。✓ 已複製
    → 記錄狀態已翻轉

結果: 以 Airtable 為單一資料來源的一鍵發布流程。

搭配使用: filesystem · github

組合

與其他 MCP 搭配,撬動十倍槓桿

airtable + notion

將 Airtable 報告轉換為 Notion 簡報

從 CRM 拉取本週新增的 Deals,然後在 /Sales 下建立一個含摘要表格的 Notion 頁面。✓ 已複製
airtable + filesystem

將 Airtable 作為 CMS,輸出 Markdown 檔案

對每筆 Status=Ready 的 Blog 記錄,在 ./content/posts/ 下寫入一個 .md 檔案,並將記錄狀態翻轉為 Published。✓ 已複製
airtable + github

從 Airtable 錯誤待辦清單自動建立 GitHub Issue

對 Triage 檢視中每筆 Severity=High 的 Bug,在 acme/api 中建立含標題與重現步驟的 GitHub Issue。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
list_bases (none) 初次探索時使用 1 API call
list_tables baseId: str, detailLevel?: str 查詢前先了解資料庫結構 1 API call
describe_table baseId: str, tableId: str 篩選前先了解欄位結構 1 API call
list_records baseId, tableId, view?, filterByFormula?, sort?, pageSize? 使用篩選或排序讀取資料 1 API call (paginates)
search_records baseId, tableId, searchTerm, fieldIds? 跨欄位全文搜尋 1 API call
get_record baseId, tableId, recordId 擷取單筆已知記錄 1 API call
create_record baseId, tableId, fields 新增單筆記錄 1 API call (write)
update_records baseId, tableId, records[] 批次更新記錄 1 API call per 10 records
delete_records baseId, tableId, recordIds 破壞性操作 — 請先確認 1 API call (write)
create_table baseId, name, fields[] 初始化新的資料模型 1 API call (schema write)
list_comments baseId, tableId, recordId, offset?, pageSize? 讀取留言串歷史紀錄 1 API call

成本與限制

運行它的成本

API 配額
每個資料庫每秒 5 次請求(Team 方案),Enterprise Scale 方案每秒 50 次
每次呼叫 Token 數
結構描述:約 500 個 token。記錄回應:依欄位數量每筆約 200 個 token。
費用
Airtable 免費/Team/Enterprise — 所有付費方案均可存取 API;免費方案也提供 API 存取
提示
在伺服器端使用 pageSize 與 filterByFormula;將整個資料表載入上下文是一種浪費。

安全

權限、密鑰、影響範圍

最小權限: schema.bases:read data.records:read
憑證儲存: 細粒度 PAT 存放於環境變數 AIRTABLE_API_KEY;切勿使用舊式使用者權杖
資料出站: 所有請求均透過 HTTPS 連線至 api.airtable.com
切勿授予: All-base access when only one base is needed webhook:manage unless required

故障排查

常見錯誤與修復

401 INVALID_API_KEY

PAT 遺失或已過期。請至 airtable.com/create/tokens 重新產生。

驗證: curl -H 'Authorization: Bearer $AIRTABLE_API_KEY' https://api.airtable.com/v0/meta/bases
403 NOT_AUTHORIZED

PAT 未包含該資料庫的存取權限。請編輯權杖的範圍清單並新增該資料庫。

驗證: curl returns bases you expect
422 INVALID_REQUEST_UNKNOWN_FIELD

欄位名稱與結構描述不符。請重新描述資料表 — Airtable 在欄位重新命名後會變更欄位 ID。

驗證: call describe_table again
429 rate limit

降低速率至每個資料庫每秒最多 5 次請求;批次處理寫入操作。

驗證: retry after 30s

替代方案

airtable-mcp-server 對比其他方案

替代方案何時用它替代權衡
Notion MCP你的團隊主要使用 Notion 資料庫而非 AirtableNotion 表格結構較弱;不適合大量資料操作
Google Sheets MCP資料存放在 Sheets 中沒有結構化結構描述或關聯記錄功能
Direct Airtable REST via fetch MCP你只需要偶爾呼叫幾次,不想再安裝一個 MCP每個 URL 都要自己手動撰寫

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills