Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Airtable

БесплатноНе проверен

Enables AI assistants to perform complete CRUD operations on Airtable bases, tables, records, fields, and comments, with batch processing and file attachment su

GitHubEmbed

Описание

Enables AI assistants to perform complete CRUD operations on Airtable bases, tables, records, fields, and comments, with batch processing and file attachment support, plus enterprise-grade reliability features.

README


MCP Airtable


Production-ready MCP server for Airtable integration


TypeScript Node.js Tests License


Built with FastMCP — Works with Claude Desktop & Claude.ai




Overview

A minimal, enterprise-grade MCP server enabling AI assistants to interact with Airtable. Features 21 tools covering complete CRUD operations, batch processing, schema management, and file attachments—built with meticulous precision and strategic clarity.


Δ Capabilities

Core

21 Tools — Full CRUD, batch operations, attachments Streamable HTTP — Claude Desktop 2025+ native support Header Auth — Multi-tenant ready architecture

Reliability

Circuit Breaker — Cascading failure prevention Auto-Retry — Exponential backoff with jitter Health Checks — K8s liveness & readiness probes

Security

Input Validation — Zod schemas everywhere Injection Prevention — Formula & path attacks blocked Audit Ready — Full security documentation

Performance

Connection Pooling — Keep-alive via undici Request Deduplication — Shares concurrent results Response Caching — 5-10min TTL for metadata


Quick Start

npm install && npm run build
npm start

Server runs at http://localhost:3000/mcp


Configuration

Local Development (stdio)
{
  "mcpServers": {
    "mcp-airtable": {
      "command": "node",
      "args": ["/path/to/mcp-airtable/dist/index.js", "--stdio"],
      "env": {
        "AIRTABLE_API_KEY": "patXXXXX.XXXXX..."
      }
    }
  }
}
Remote HTTP (mcp-remote)
{
  "mcpServers": {
    "mcp-airtable": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://your-server.com/mcp",
        "--header", "x-airtable-api-key:patXXXXX.XXXXX...",
        "--header", "x-airtable-workspace-id:wspXXXXXXXXXXX"
      ]
    }
  }
}
Claude.ai Web
  1. Deploy: npm start
  2. Claude.ai → Settings → Connectors
  3. Add URL: https://your-server.com/mcp
  4. Add header: x-airtable-api-key: patXXXXX...

Platform Config Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json

Get your API key


β Tools

Category Tools
Bases & Workspaces list_workspaces° · list_bases · get_base_schema · create_base
Tables list_tables · create_table · update_table
Fields create_field · update_field · upload_attachment
Records get_records · get_record · create_records · update_record · delete_record
Batch upsert_records · delete_records
Comments list_comments · create_comment · update_comment · delete_comment
Health health_check · liveness · readiness

° Enterprise Scale plan required


Usage

"List all my Airtable bases"

"Get records from Tasks where Status = 'Active'"

"Create a task with Name='Review PR' and Priority='High'"

"Upload the PDF to the Attachments field on record rec123"

Authentication

Priority API Key Workspace ID
1 x-airtable-api-key header x-airtable-workspace-id header
2 Authorization: Bearer header workspaceId parameter
3 airtableApiKey parameter AIRTABLE_WORKSPACE_ID env
4 AIRTABLE_API_KEY env

Airtable Plan Requirements

API Scopes by Plan
Scope Free Team Business Enterprise
data.records:read
data.records:write
data.recordComments:read
data.recordComments:write
schema.bases:read
schema.bases:write
webhook:manage
user.email:read
workspacesAndBases:read
enterprise.* scopes
API Rate Limits by Plan
Plan Monthly Calls Rate Limit Overage Behavior
Free 1,000/month 5 req/sec 30-day grace period (once), then blocked
Team 100,000/month 5 req/sec Throttled to 2 req/sec until reset
Business Unlimited 5 req/sec
Enterprise Unlimited 5 req/sec
Tool Compatibility
Tool Required Scope Min Plan
list_workspaces workspacesAndBases:read Enterprise°
list_bases schema.bases:read Free
get_base_schema schema.bases:read Free
create_base schema.bases:write Free
list_tables schema.bases:read Free
create_table schema.bases:write Free
update_table schema.bases:write Free
create_field schema.bases:write Free
update_field schema.bases:write Free
get_records data.records:read Free
get_record data.records:read Free
create_records data.records:write Free
update_record data.records:write Free
delete_record data.records:write Free
upsert_records data.records:write Free
delete_records data.records:write Free
upload_attachment data.records:write Free
list_comments data.recordComments:read Free
create_comment data.recordComments:write Free
update_comment data.recordComments:write Free
delete_comment data.recordComments:write Free

° Returns 404 on non-Enterprise plans. Workaround: Get workspace ID from Airtable UI URL (airtable.com/wspXXX/...)


Stability & Resilience

Retry with Exponential Backoff
  • Auto-retries on HTTP 429, 500, 502, 503, 504
  • Handles network errors (ECONNRESET, ETIMEDOUT, ECONNREFUSED)
  • Respects Retry-After headers
  • Configurable max retries, delays, jitter
Circuit Breaker Pattern

Prevents cascading failures:

  • CLOSED — Normal operation
  • OPEN — Fast-fail mode
  • HALF_OPEN — Recovery testing
Request Management
  • Timeout: 30s default (AbortController)
  • Deduplication: Shares identical concurrent GETs
  • Queue: Limits to 5 concurrent requests
  • Keep-Alive: Connection pooling via undici
Health Checks

Kubernetes-ready probes:

  • health_check — Full status report
  • liveness — Alive check
  • readiness — Traffic ready

Deployment

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY dist ./dist
EXPOSE 3000
CMD ["node", "dist/index.js"]
docker build -t mcp-airtable .
docker run -p 3000:3000 mcp-airtable
Environment Variables
# Server
PORT=3000
NODE_ENV=production

# Auth (prefer headers in production)
AIRTABLE_API_KEY=
AIRTABLE_WORKSPACE_ID=

# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_REQUESTS_PER_MINUTE=60

# Caching
CACHE_ENABLED=true
CACHE_TTL_BASES=300
CACHE_TTL_SCHEMA=600
CACHE_TTL_TABLES=300

# Logging
LOG_LEVEL=info

# Sentry (Optional)
SENTRY_DSN=
SENTRY_DEBUG=false
SENTRY_ENVIRONMENT=production

Architecture

src/
├── index.ts                 # Entry point
├── server.ts                # FastMCP init
├── tools/                   # 21 tools
│   ├── bases.ts
│   ├── tables.ts
│   ├── fields.ts
│   ├── records.ts
│   ├── batch.ts
│   └── comments.ts
└── lib/                     # Core
    ├── airtable/            # API client
    ├── retry.ts             # Backoff
    ├── circuit-breaker.ts   # Failure prevention
    ├── health.ts            # K8s probes
    ├── deduplication.ts     # Request dedup
    └── ...

~2,500 lines · 272 unit tests · 25 e2e tests


References

MCP Specification modelcontextprotocol.io
FastMCP github.com/punkpeye/fastmcp
mcp-remote npmjs.com/package/mcp-remote
Airtable API airtable.com/developers



Security · Examples · Changelog


MIT License


DELTΔ & βETΑ

From Change to What's Next


from github.com/delta-and-beta/mcp-airtable

Установка Airtable

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/delta-and-beta/mcp-airtable

FAQ

Airtable MCP бесплатный?

Да, Airtable MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Airtable?

Нет, Airtable работает без API-ключей и переменных окружения.

Airtable — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Airtable в Claude Desktop, Claude Code или Cursor?

Открой Airtable на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Airtable with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai