Airtable MCP

Connect your AI tools directly to Airtable. Query, create, update, and delete records using natural language. Features include base management, table operations, schema manipulation, record filtering, and data migration—all through a standardized MCP interface compatible with Cursor, Claude Desktop, Cline, Zed, and other Claude-powered editors.
This application is a powerful Airtable integration tool that enables AI-powered applications via Anthropic's Model Context Protocol (MCP) to access and manipulate Airtable data directly from your IDE.
Features
- Base Management : List and select Airtable bases
- Table Operations : Browse tables, fields, and records
- Data Access : Read, create, update, and delete records
- Schema Management : Export, compare, and update schemas
- Command-line Configuration : Use API tokens directly through command-line parameters
- NPX Compatible : Easy installation with a single command
- Smithery Integration : One-click installation via Smithery
Architecture
There are two core components used to access and manipulate Airtable data:
- Airtable MCP Server : A Python server that provides standardized tools for AI clients to interact with Airtable.
- MCP Client : Any client that supports the Model Context Protocol (Cursor, Claude Desktop, Cline, Zed, etc.).
┌─────────────┐ ┌──────────────┐ ┌───────────────┐
│ MCP Client │ ──► │ Airtable │ ──► │ Airtable │
│ (e.g. │ ◄── │ MCP Server │ ◄── │ API │
│ Cursor) │ │ │ │ │
└─────────────┘ └──────────────┘ └───────────────┘
Model Context Protocol (MCP) is a capability supported by Anthropic AI models that allows you to create custom tools for any compatible client. MCP clients like Claude Desktop, Cursor, Cline, or Zed can run an MCP server which "teaches" these clients about new tools they can use.
Important Updates (March 2025)
This MCP has been updated to work with the latest MCP SDK version. The new implementation uses:
- inspector_server.py : A new server implementation compatible with MCP SDK 1.4.1+
- Updated configuration for both Cursor and Smithery integration
- Python 3.10+ compatibility
Installation
Prerequisites
- Node.js 14+
- Python 3.10+ (automatically detected)
- Airtable API token
- A compatible MCP client (Cursor, Claude Desktop, etc.)
Smithery Installation (Recommended)
The easiest way to install:
- Visit Smithery
- Search for "@rashidazarang/airtable-mcp"
- Click "Install" and follow the prompts
Quick Setup with NPX (Alternative)
Another fast way to get started:
# Install globally
npm install -g airtable-mcp
# Or run directly with npx
npx airtable-mcp --token "your_airtable_token" --base "your_base_id"
MCP Client Integration
For detailed instructions on integrating with specific MCP clients, see:
Configure Your MCP Client
For Cursor, update your ~/.cursor/mcp.json
file:
{
"mcpServers": {
"airtable-tools": {
"command": "npx",
"args": [
"airtable-mcp",
"--token", "your_airtable_token",
"--base", "your_base_id"
]
}
}
}
Restart your MCP client to load the new tools.
Manual Installation (Advanced)
If you prefer to clone the repository and install manually:
Clone this repository:
git clone https://github.com/rashidazarang/airtable-mcp.git
cd airtable-mcp
Install dependencies:
pip install -r requirements.txt
Run the server:
python3.10 inspector_server.py --token "your_airtable_token" --base "your_base_id"
Testing Your Setup
To verify your Airtable connection works correctly, you can use the included test script:
python3.10 test_client.py
This will directly test your Airtable API access and list your bases and table schemas.
Available Tools
Tool Name |
Description |
list_bases |
List all accessible Airtable bases |
list_tables |
List all tables in the specified or default base |
list_records |
List records from a table with optional filtering |
get_record |
Get a specific record from a table |
create_records |
Create records in a table from JSON string |
update_records |
Update records in a table from JSON string |
set_base_id |
Set the current Airtable base ID |
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.