airtable-mcp

rashidazarang/airtable-mcp

3.6

If you are the rightful owner of airtable-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Connect your AI tools directly to Airtable. Query, create, update, and delete records using natural language.

Tools
7
Resources
0
Prompts
0

Airtable MCP Server

Trust Score Airtable MCP TypeScript AI Agent Security Protocol

A Model Context Protocol (MCP) server for Airtable with full CRUD operations, schema management, record comments, webhooks, batch operations, governance controls, and AI-powered analytics.

Version 4.0.0 | MCP Protocol 2024-11-05 | npm


Quick Start (Claude Desktop)

No installation required — just add this to your Claude Desktop config and restart:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\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"
      }
    }
  }
}

That's it. npx downloads and runs the server automatically. No git clone, no npm install.

Get your token at airtable.com/create/tokens — grant all scopes listed under Token Scopes below. Get your Base ID from the URL when viewing your base: https://airtable.com/[BASE_ID]/... (or omit it and use list_bases to discover bases dynamically).


Quick Start (Claude Code)

One-command install

curl -fsSL https://raw.githubusercontent.com/rashidazarang/airtable-mcp/main/setup.sh | bash

The script checks prerequisites, prompts for your Airtable token, and writes the MCP config to ~/.claude.json. Restart Claude Code (or run /mcp) to connect.

You can also pass your token directly:

curl -fsSL https://raw.githubusercontent.com/rashidazarang/airtable-mcp/main/setup.sh | bash -s -- YOUR_AIRTABLE_TOKEN

Manual config

Add to ~/.claude.json under mcpServers:

{
  "airtable": {
    "type": "stdio",
    "command": "/bin/bash",
    "args": ["-c", "cd /tmp && npx -y @rashidazarang/airtable-mcp"],
    "env": {
      "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN"
    }
  }
}

Why the bash wrapper? npx can fail to resolve the binary when run from a directory that contains a package.json with the same package name. The cd /tmp && prefix avoids this edge case.


Overview

This server provides comprehensive Airtable integration through the Model Context Protocol, enabling natural language interactions with your Airtable data. It includes 42 tools covering every Airtable PAT scope and 10 AI prompt templates for intelligent analytics.

Key Features

  • Full CRUD Operations — Create, read, update, and delete records with filtering and pagination
  • Record Comments — List, create, update, and delete comments on records
  • Schema Management — Create and modify tables, fields, and views programmatically
  • Batch Operations — Process up to 10 records per operation for improved performance
  • Webhook Management — Set up real-time notifications for data changes
  • Governance & Compliance — Allow-list governance, PII masking, and exception tracking
  • User Identity — Verify token identity with the whoami tool
  • AI Analytics — 10 prompt templates for predictive analytics, natural language queries, and automated insights
  • Multi-Base Support — Discover and work with multiple bases dynamically
  • Type Safety — Full TypeScript support with comprehensive type definitions

Prerequisites

  • Node.js 18 or later
  • An Airtable account with a Personal Access Token
  • Your Airtable Base ID (optional — can be discovered via the list_bases tool)

Token Scopes

Create a Personal Access Token at airtable.com/create/tokens with these scopes:

ScopePurpose
data.records:readRead records
data.records:writeCreate, update, delete records
data.recordComments:readRead record comments
data.recordComments:writeCreate, update, delete comments
schema.bases:readView table schemas
schema.bases:writeCreate and modify tables and fields
user.email:readRead user identity (whoami)
webhook:manageManage webhooks (optional)

Usage

Once configured, interact with your Airtable data using natural language:

Basic Operations

  • "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"
  • "Update the status of task ID rec123 to 'Completed'"
  • "Search for records where Status equals 'Active'"

Schema Management

  • "Show me the complete schema for this base"
  • "Create a new table called 'Tasks' with Name, Priority, and Due Date fields"
  • "Add a Status field to the Projects table"

Record Comments

  • "Show me all comments on record rec123"
  • "Add a comment to this record: 'Reviewed and approved'"
  • "Update my comment to say 'Needs revision'"

Batch Operations

  • "Create 5 new records at once in the Tasks table"
  • "Update multiple records with new status values"
  • "Delete these 3 records in one operation"

Webhooks

  • "List all active webhooks in my base"
  • "Create a webhook for changes to my Projects table"

Available Tools (42)

Core Operations (4 tools)

ToolDescription
list_basesList all accessible bases with permissions
describeDescribe base or table schema (supports detail levels)
queryQuery records with filtering, sorting, and pagination
search_recordsAdvanced search with Airtable formulas

Record CRUD (5 tools)

ToolDescription
list_recordsList records with field selection and pagination
get_recordRetrieve a single record by ID
createCreate new records (requires dryRun diff review)
updateUpdate existing records (requires dryRun diff review)
delete_recordRemove a record from a table

Upsert (2 tools)

ToolDescription
upsertUpdate or create records based on merge fields
batch_upsert_recordsBatch upsert with merge-on fields

Schema Discovery (4 tools)

ToolDescription
list_tablesGet all tables in a base with schema info
get_base_schemaGet complete schema for any base
list_field_typesReference guide for available field types
get_table_viewsList all views for a table

Table Management (3 tools)

ToolDescription
create_tableCreate tables with custom field definitions
update_tableModify table names and descriptions
delete_tableRemove tables (requires confirmation)

Field Management (3 tools)

ToolDescription
create_fieldAdd fields to existing tables
update_fieldModify field properties and options
delete_fieldRemove fields (requires confirmation)

Batch Operations (3 tools)

ToolDescription
batch_create_recordsCreate up to 10 records at once
batch_update_recordsUpdate up to 10 records simultaneously
batch_delete_recordsDelete up to 10 records in one operation

Webhook Management (5 tools)

ToolDescription
list_webhooksView all configured webhooks
create_webhookSet up real-time notifications
delete_webhookRemove webhook configurations
get_webhook_payloadsRetrieve notification history
refresh_webhookExtend webhook expiration

Views & Attachments (3 tools)

ToolDescription
create_viewCreate views (grid, form, calendar, etc.)
get_view_metadataGet view details including filters
upload_attachmentAttach files from URLs

Base Management (3 tools)

ToolDescription
create_baseCreate new bases with initial structure
list_collaboratorsView collaborators and permissions
list_sharesList shared views and configurations

Record Comments (4 tools)

ToolDescription
list_commentsList comments on a record
create_commentAdd a comment to a record
update_commentEdit an existing comment
delete_commentRemove a comment

User Info (1 tool)

ToolDescription
whoamiGet current user identity and scopes

Governance & Administration (2 tools)

ToolDescription
list_governanceReturn governance allow-lists and PII masking policies
list_exceptionsList recent exceptions and remediation proposals

AI Intelligence Suite

Ten AI prompt templates for advanced analytics:

PromptDescription
analyze_dataStatistical analysis with anomaly detection
create_reportIntelligent report generation
data_insightsBusiness intelligence and pattern discovery
optimize_workflowAutomation recommendations
smart_schema_designDatabase optimization suggestions
data_quality_auditQuality assessment and remediation
predictive_analyticsForecasting and trend prediction
natural_language_queryProcess questions with context awareness
smart_data_transformationAI-assisted data processing
automation_recommendationsWorkflow optimization with cost-benefit analysis

Advanced Configuration

Smithery Cloud

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "@smithery/cli",
        "run",
        "@rashidazarang/airtable-mcp"
      ],
      "env": {
        "AIRTABLE_TOKEN": "YOUR_TOKEN",
        "AIRTABLE_BASE_ID": "YOUR_BASE_ID"
      }
    }
  }
}

Environment Variables

VariableRequiredDescription
AIRTABLE_TOKENYesPersonal Access Token
AIRTABLE_BASE_IDNoDefault base ID (discoverable via list_bases)
LOG_LEVELNoLogging level (default: info)
MCP_HTTP_PORTNoEnable HTTP transport for hosted deployments

Development

Not required for users. Clone the repo only if you want to contribute or modify the server. End users should use npx as shown in the Quick Start sections above.

git clone https://github.com/rashidazarang/airtable-mcp.git
cd airtable-mcp
npm install
npm run build

Testing

npm run test:types     # Type checking
npm test               # Run test suite

Project Structure

airtable-mcp/
├── src/typescript/          # TypeScript implementation
│   ├── app/
│   │   ├── tools/           # 42 tool implementations
│   │   ├── prompts/         # 10 AI prompt registrations
│   │   ├── airtable-client.ts
│   │   ├── governance.ts
│   │   └── context.ts
│   └── airtable-mcp-server.ts
├── dist/                    # Compiled output
├── docs/                    # Documentation
├── types/                   # TypeScript definitions
└── bin/                     # CLI executables

Troubleshooting

Connection Issues

  • Verify the MCP server is running
  • Restart your MCP client
  • Check that your token has the required scopes

Invalid Token

  • Verify your Personal Access Token is correct
  • Confirm the token has the required scopes
  • Check for extra whitespace in credentials

Base Not Found

  • Confirm your Base ID is correct
  • Verify your token has access to the base
  • Use list_bases to discover accessible bases

Documentation


Contributing

Contributions are welcome. Please open an issue first to discuss major changes.


License

MIT License — see for details.


Support