Suggest a server AI tools directory →

Airtable MCP server

Last verified: 2026-09

Read and write Airtable bases.

Community Databases & data Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code, VS Code

What it does

CRUD on Airtable bases: list, search, get, create, update, delete records. Needs a PAT that can see those bases.

It sits in Databases & data: A database MCP is SQL or an API with your credentials.

Good for

  • list_records on one table with maxRecords of 10.
  • search_records with a filterByFormula you already know.
  • Create a record in a test base, not the customer CRM base.
  • Read a content calendar the team already keeps in Airtable.

Tools

  • list_records / search_records — Read a table, optional filterByFormula.
  • get / create / update / delete records — Single-record writes.

Config (Claude Desktop / Cursor / Windsurf)

Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets. Windows paths look like C:\\Users\\you\\project, not /path/to. Host-side steps →

Claude Desktop

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

Cursor

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json

Windsurf

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "env": {
        "AIRTABLE_API_KEY": "pat..."
      }
    }
  }
}

Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.

One-liner: npx -y airtable-mcp-server

Secrets it wants: AIRTABLE_API_KEY

Source repo →

How to get started

  1. Create an Airtable PAT with data.records:read on one base. Add write scopes only if you want them.
  2. Ask it to list_records with a maxRecords of 10.
  3. Keep the baseId/tableId out of chat logs if the base is customer data.

Access risk

delete records is real. A PAT with schema scopes can change the base itself.

When to skip it

Skip it for a real database (Postgres) or for Notion if that is where the table lives.

Instead: Notion, PostgreSQL, Google Maps.

Vs alternatives

ServerOfficial?Needs a secret?Best for
AirtableNoYesRead and write Airtable bases.
NotionNoYesSearch and update Notion pages.
PostgreSQLYesYesRun SQL against a Postgres database.
Google MapsYesYesGeocode and place search via Google Maps.

More in Databases & data

All 11 in this category →

FAQ

Which scopes?

A PAT with data.records:read on one base. Add write only if you want create/update/delete.

Can it change the schema?

If the PAT has schema scopes, yes. Keep those off.

Airtable or Notion?

Airtable if the data is a grid/CRM-ish base. Notion if it is pages.

Is delete real?

Yes. delete records removes rows.