← Back to directory
A

Airtable MCP Server

Community
Full Airtable CRUD, schema, and automation access for AI applications over MCP
Category
Database #16 of 58
Stars
★ 87 Popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js 20+
Credentials
API key / credential required
License
MIT
Last commit
Tools
42
61FMRS · C

A comprehensive third-party Airtable MCP server offering 42 tools across records, schema, batch operations, webhooks, comments, and governance, supporting both stdio and streamable HTTP transports across modern and legacy MCP protocol clients; well suited for teams already on Airtable wanting deep AI integration, though as a community-maintained project it warrants attention to token security and the impact of its write/delete operations.

Strongest · Documentation 16/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
11/20
Maintenance
13/20
Documentation
16/20
Setup experience
13/20
Why each score
Reliability 8/20
This is a static review with no cached manifest and no CI workflow files or actual test source shown — only references to `npm test`/`npm run test:types` commands in the README, so the declared behavior of the 42 tools cannot be cross-checked against real implementation. The README itself discloses a known npx binary-resolution bug requiring a `cd /tmp &&` workaround, indicating a known fragility in the startup path. It also claims dual-protocol support (2026-07-28 plus legacy eras, stateless core) without verifiable evidence. Per the static calibration rule, without real CI plus committed tests covering key paths, the score cannot exceed 12; overall this sits at 'happy path plausible but evidence thin.'
Security and permissions 11/20
Credentials are passed via the `AIRTABLE_TOKEN` env var and examples use placeholders rather than real secrets — a positive sign. A scopes table is provided, but the Quick Start instructs users to 'grant all scopes listed' rather than the minimum needed, weakening least-privilege guidance. `create`/`update` are documented as requiring a dryRun diff review, and `delete_table`/`delete_field` require confirmation, but destructive operations like `delete_record`, `batch_delete_records`, `delete_webhook`, and `delete_comment` have no documented confirmation mechanism — an inconsistent safety design and a clear gap. Additionally, the one-command Claude Code installer uses `curl -fsSL ... | bash`, a common but risky pattern of executing an unreviewed remote script. These issues do not rise to the clear red-line bar of 'irreversible actions defaulting with no confirmation whatsoever' (since higher-impact table/field deletions do require confirmation), so this was not scored 0-4, but it warrants deductions into the 10-12 range.
Maintenance 13/20
The repo is MIT licensed, versioned at 5.1.0, and the README links to a CHANGELOG and a release-notes directory, indicating some release/version discipline. 87 stars and 0 open issues could reflect either low engagement or fast triage — insufficient evidence to distinguish. No SECURITY.md or explicit vulnerability-reporting channel is mentioned, and there is no verifiable recent commit/release timeline. Overall this shows signs of ongoing maintenance but with governance and security-response gaps.
Documentation 16/20
The README is fairly comprehensive: install examples for multiple clients (Claude Desktop, Claude Code, Codex, Cursor, Windsurf, VS Code), a token-scope table, an environment-variable table, the full list of 42 tools with brief descriptions, 10 AI prompt templates, a troubleshooting section, and project structure — reasonably well layered. However, tool-level input/output schemas are not documented (only one-line descriptions), there is no discussion of Airtable API rate limits, quotas, or cost implications, and the troubleshooting section is generic rather than tied to specific tool error conditions, so it falls short of full marks.
Setup experience 13/20
The project offers a no-install npx path and a one-command curl installer, with concrete configuration examples for several mainstream clients — overall a clear, low-step path to a working connection. However, per the static calibration rule, setup cannot score above 15 absent verifiable execution evidence (real CI plus tests covering key paths). The README's own disclosure of an npx binary-resolution issue and its workaround also signals the install path is not fully robust, warranting a further deduction within that ceiling.

Static review · not runListed 2026-08-26

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account dataConnects to a database

Best for

  • Teams already using Airtable for projects, tasks, or customer data who want AI assistants to operate on it directly
  • Developers integrating Airtable automation into Claude, Codex, Cursor, or other MCP clients
  • Use cases needing governance and PII-masking controls over AI access to base data

Not for

  • Users who don't use Airtable
  • Organizations requiring guaranteed official vendor support (this is a third-party, community-maintained project, not an Airtable product)
  • Environments that can't accept running a remote npm package fetched fresh via npx on each launch

Required permissions

  • data.records:read — read records
  • data.records:write — create, update, delete records
  • data.recordComments:read — read record comments
  • data.recordComments:write — create, update, delete comments
  • schema.bases:read — view table schemas
  • schema.bases:write — create and modify tables and fields
  • user.email:read — read user identity (whoami)
  • webhook:manage — manage webhooks (optional)

Risks and side effects

  • The server can write, modify, and delete Airtable data and schema; misuse or prompt injection could cause data loss, though create/update require a dryRun diff review
  • The Personal Access Token is stored in plaintext in client config environment variables, so config file access must be protected
  • This is a third-party project (not maintained by Airtable) fetched fresh from npm via npx on each run, introducing a supply-chain trust dependency on the maintainer
  • Destructive operations like delete_table, delete_field, and batch_delete_records exist; some require confirmation but scopes should still be reviewed carefully before granting

Setup

Before you start

Runtime:Node.js 20+

AIRTABLE_TOKEN requiredsecret Required Airtable Personal Access Token, created at airtable.com/create/tokens with all scopes listed in the README.
Other optional settings (4)
AIRTABLE_BASE_ID optional Optional default base ID, taken from the base's URL or omitted to discover bases dynamically via list_bases.
AIRTABLE_TOOLSET optional Optional tool registration profile: full (default, all 42), core (18 record-centric tools, fits Cursor's 40-tool cap), or a comma-separated allowlist of tool names.
LOG_LEVEL optional Optional logging level, defaults to info.
MCP_HTTP_PORT optional Optional; set to enable HTTP transport for hosted deployments.
  1. Create a Personal Access Token at airtable.com/create/tokens and grant all the Token Scopes listed in the docs.
  2. Note your Base ID (from the base URL) or skip it and discover bases dynamically via list_bases.
  3. Claude Desktop: edit the config file (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json), add the airtable entry under mcpServers with AIRTABLE_TOKEN (and optional AIRTABLE_BASE_ID), then restart Claude Desktop.
  4. Claude Code: run the one-command installer curl -fsSL https://raw.githubusercontent.com/rashidazarang/airtable-mcp/main/setup.sh | bash, or edit ~/.claude.json manually.
  5. Codex/Cursor/Windsurf/VS Code: add the equivalent npx-based server entry and environment variables to each client's MCP config file.
  6. For clients that cap enabled tools (e.g. Cursor's 40-tool limit), set AIRTABLE_TOOLSET=core or a comma-separated tool allowlist.
claude_desktop_config.json
{"mcpServers":{"airtable":{"command":"npx","args":["-y","@rashidazarang/airtable-mcp"],"env":{"AIRTABLE_TOKEN":"YOUR_AIRTABLE_TOKEN","AIRTABLE_BASE_ID":"YOUR_BASE_ID"}}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "@rashidazarang/airtable-mcp"
      ],
      "env": {
        "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN",
        "AIRTABLE_BASE_ID": "YOUR_BASE_ID"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add airtable -e AIRTABLE_TOKEN=YOUR_AIRTABLE_TOKEN -e AIRTABLE_BASE_ID=YOUR_BASE_ID -- npx -y @rashidazarang/airtable-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After adding the config to Claude Desktop and restarting, whoami and list_bases should appear in the client's tool list; asking "List all my accessible bases" confirms the connection works.

Troubleshooting

  1. Connection issues: verify the MCP server is running and restart your MCP client
  2. Invalid token: confirm the Personal Access Token is correct, has the required scopes, and has no extra whitespace
  3. Base not found: confirm the Base ID is correct, verify the token has access, or use list_bases to discover accessible bases
  4. Clients with tool caps (e.g. Cursor): set AIRTABLE_TOOLSET=core or a comma-separated allowlist to reduce the number of registered tools

Things to try

Once connected, you can ask your AI assistant things like:

  • List all my accessible Airtable bases
  • Show me all records in the Projects table
  • Create a new task with priority 'High' and due date tomorrow
  • Add a comment to record rec123: Reviewed and approved

Tools 42

list_bases read-only
List all accessible bases with permissions
describe read-only
Describe base or table schema (supports detail levels)
query read-only
Query records with filtering, sorting, and pagination
search_records read-only
Advanced search with Airtable formulas
list_records read-only
List records with field selection and pagination
get_record read-only
Retrieve a single record by ID
create writes
Create new records (requires dryRun diff review)
update writes
Update existing records (requires dryRun diff review)
Show 34 more tools
delete_record destructive
Remove a record from a table
upsert writes
Update or create records based on merge fields
batch_upsert_records writes
Batch upsert with merge-on fields
list_tables read-only
Get all tables in a base with schema info
get_base_schema read-only
Get complete schema for any base
list_field_types read-only
Reference guide for available field types
get_table_views read-only
List all views for a table
create_table writes
Create tables with custom field definitions
update_table writes
Modify table names and descriptions
delete_table destructive
Remove tables (requires confirmation)
create_field writes
Add fields to existing tables
update_field writes
Modify field properties and options
delete_field destructive
Remove fields (requires confirmation)
batch_create_records writes
Create up to 10 records at once
batch_update_records writes
Update up to 10 records simultaneously
batch_delete_records destructive
Delete up to 10 records in one operation
list_webhooks read-only
View all configured webhooks
create_webhook writes
Set up real-time notifications
delete_webhook destructive
Remove webhook configurations
get_webhook_payloads read-only
Retrieve notification history
refresh_webhook writes
Extend webhook expiration
create_view writes
Create views (grid, form, calendar, etc.)
get_view_metadata read-only
Get view details including filters
upload_attachment writes
Attach files from URLs
create_base writes
Create new bases with initial structure
list_collaborators read-only
View collaborators and permissions
list_shares read-only
List shared views and configurations
list_comments read-only
List comments on a record
create_comment writes
Add a comment to a record
update_comment writes
Edit an existing comment
delete_comment destructive
Remove a comment
whoami read-only
Get current user identity and scopes
list_governance read-only
Return governance allow-lists and PII masking policies
list_exceptions read-only
List recent exceptions and remediation proposals

Use cases

Query, filter, and update Airtable records using natural language
Create and modify table schemas, fields, and views conversationally
Batch create, update, or delete records for automation workflows
Set up webhooks for real-time notifications on data changes
Add, edit, and manage comments on records
Use built-in AI prompt templates for data insights, quality audits, and predictive analytics

Supported clients

Claude Desktop
Claude Code
Codex
CursorPartial support
Windsurf
VS Code

Listed from the project's documentation, not tested by this site.

Overview

Airtable MCP Server is a Model Context Protocol server that gives any MCP client — Claude, Codex, Cursor, Windsurf, VS Code — comprehensive access to Airtable. It provides 42 tools covering record CRUD, schema and table/field management, batch operations (up to 10 records per call), webhook management, record comments, governance/compliance controls (allow-lists, PII masking), and 10 AI prompt templates for analytics. It runs over local stdio or streamable HTTP for remote deployments, and serves both the modern 2026-07-28 MCP protocol and legacy 2025-era clients.

Similar servers

Source revision 19f7cd772f78 Data synced 2026-10-19 Read the FMRS scoring method