
Airtable
STDIOAirtable API integration for natural language data management and manipulation.
Airtable API integration for natural language data management and manipulation.
🤖 Revolutionary AI Agent v3.1.0 - Advanced AI-powered Airtable MCP server with TypeScript support, comprehensive intelligence capabilities, predictive analytics, and enterprise automation features.
Enterprise-Grade Type Safety with full backward compatibility:
Complete AI-Powered Intelligence with enterprise capabilities:
Personal Access Token: Visit Airtable Account → Create a token with the following scopes:
data.records:read
- Read records from tablesdata.records:write
- Create, update, delete recordsschema.bases:read
- View table schemasschema.bases:write
- New in v1.5.0 - Create/modify tables and fieldswebhook:manage
- (Optional) For webhook featuresBase ID: Open your Airtable base and copy the ID from the URL:
https://airtable.com/[BASE_ID]/...
Choose one of these installation methods:
# Install with TypeScript support npm install -g @rashidazarang/airtable-mcp # For development with types npm install --save-dev typescript @types/node
Option A: Install via NPM (Recommended)
npm install -g @rashidazarang/airtable-mcp
Option B: Clone from GitHub
git clone https://github.com/rashidazarang/airtable-mcp.git cd airtable-mcp npm install
Create a .env
file in your project directory:
AIRTABLE_TOKEN=your_personal_access_token_here AIRTABLE_BASE_ID=your_base_id_here
Security Note: Never commit .env
files to version control!
Add to your Claude Desktop configuration file with TypeScript binary:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\\Claude\\claude_desktop_config.json
{ "mcpServers": { "airtable-typescript": { "command": "npx", "args": [ "@rashidazarang/airtable-mcp", "--token", "YOUR_AIRTABLE_TOKEN", "--base", "YOUR_BASE_ID" ], "env": { "NODE_ENV": "production", "LOG_LEVEL": "INFO" } } } }
Add to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "airtable": { "command": "npx", "args": [ "@rashidazarang/airtable-mcp", "--token", "YOUR_AIRTABLE_TOKEN", "--base", "YOUR_BASE_ID" ] } } }
{ "mcpServers": { "airtable": { "command": "npx", "args": ["@rashidazarang/airtable-mcp"], "env": { "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN", "AIRTABLE_BASE_ID": "YOUR_BASE_ID" } } } }
After configuration, restart Claude Desktop or your MCP client to load the Airtable server.
Once configured, you can interact with your Airtable data naturally:
import { AirtableMCPServer, ListRecordsInput, AnalyzeDataPrompt } from '@rashidazarang/airtable-mcp/types'; const server = new AirtableMCPServer(); // Type-safe data operations const params: ListRecordsInput = { table: 'Tasks', maxRecords: 10, filterByFormula: "Status = 'Active'" }; const records = await server.handleToolCall('list_records', params); // Type-safe AI analytics const analysis: AnalyzeDataPrompt = { table: 'Sales', analysis_type: 'predictive', confidence_level: 0.95 }; const insights = await server.handlePromptGet('analyze_data', analysis);
Basic Operations
"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'"
"Delete all records where status is 'Archived'"
"What tables are in my base?"
"Search for records where Status equals 'Active'"
Webhook Operations (v1.4.0+)
"Create a webhook for my table that notifies https://my-app.com/webhook"
"List all active webhooks in my base"
"Show me the recent webhook payloads"
"Delete webhook ach123xyz"
Schema Management (v1.5.0+)
"List all my accessible Airtable bases"
"Show me the complete schema for this base"
"Describe the Projects table with all field details"
"Create a new table called 'Tasks' with Name, Priority, and Due Date fields"
"Add a Status field to the existing Projects table"
"What field types are available in Airtable?"
Batch Operations & Attachments (v1.6.0+)
"Create 5 new records at once in the Tasks table"
"Update multiple records with new status values"
"Delete these 3 records in one operation"
"Attach this image URL to the record's photo field"
"Who are the collaborators on this base?"
"Show me all shared views in this base"
Tool | Description |
---|---|
list_tables | Get all tables in your base with schema information |
list_records | Query records with optional filtering and pagination |
get_record | Retrieve a single record by ID |
create_record | Add new records to any table |
update_record | Modify existing record fields |
delete_record | Remove records from a table |
search_records | Advanced search with Airtable formulas and sorting |
Tool | Description |
---|---|
list_webhooks | View all webhooks configured for your base |
create_webhook | Set up real-time notifications for data changes |
delete_webhook | Remove webhook configurations |
get_webhook_payloads | Retrieve webhook notification history |
refresh_webhook | Extend webhook expiration time |
Tool | Description |
---|---|
list_bases | List all accessible Airtable bases with permissions |
get_base_schema | Get complete schema information for any base |
describe_table | Get detailed table info including all field specifications |
list_field_types | Reference guide for all available Airtable field types |
get_table_views | List all views for a specific table with configurations |
Tool | Description |
---|---|
create_table | Create new tables with custom field definitions |
update_table | Modify table names and descriptions |
delete_table | Remove tables (with safety confirmation required) |
Tool | Description |
---|---|
create_field | Add new fields to existing tables with all field types |
update_field | Modify field properties, names, and options |
delete_field | Remove fields (with safety confirmation required) |
Tool | Description |
---|---|
batch_create_records | Create up to 10 records at once for better performance |
batch_update_records | Update up to 10 records simultaneously |
batch_delete_records | Delete up to 10 records in a single operation |
batch_upsert_records | Update existing or create new records based on key fields |
Tool | Description |
---|---|
upload_attachment | Attach files from public URLs to attachment fields |
Tool | Description |
---|---|
create_view | Create new views (grid, form, calendar, etc.) with custom configurations |
get_view_metadata | Get detailed view information including filters and sorts |
Tool | Description |
---|---|
create_base | Create new Airtable bases with initial table structures |
list_collaborators | View base collaborators and their permission levels |
list_shares | List shared views and their public configurations |
Prompt | Description | Enterprise Features |
---|---|---|
analyze_data | Advanced statistical analysis with ML insights | Confidence intervals, anomaly detection |
create_report | Intelligent report generation with recommendations | Multi-stakeholder customization, ROI analysis |
data_insights | Business intelligence and pattern discovery | Cross-table correlations, predictive indicators |
optimize_workflow | AI-powered automation recommendations | Change management, implementation roadmaps |
smart_schema_design | Database optimization with best practices | Compliance-aware (GDPR, HIPAA), scalability planning |
data_quality_audit | Comprehensive quality assessment and fixes | Automated remediation, governance frameworks |
predictive_analytics | Forecasting and trend prediction | Multiple algorithms, uncertainty quantification |
natural_language_query | Process human questions intelligently | Context awareness, confidence scoring |
smart_data_transformation | AI-assisted data processing | Quality rules, audit trails, optimization |
automation_recommendations | Workflow optimization suggestions | Technical feasibility, cost-benefit analysis |
For cloud-hosted MCP servers:
{ "mcpServers": { "airtable": { "command": "npx", "args": [ "@smithery/cli", "run", "@rashidazarang/airtable-mcp", "--token", "YOUR_TOKEN", "--base", "YOUR_BASE_ID" ] } } }
If you cloned the repository:
{ "mcpServers": { "airtable": { "command": "node", "args": [ "/path/to/airtable-mcp/airtable_simple.js", "--token", "YOUR_TOKEN", "--base", "YOUR_BASE_ID" ] } } }
Run the comprehensive TypeScript test suite:
# Install dependencies first npm install # Run TypeScript type checking npm run test:types # Run full TypeScript test suite npm run test:ts # Build and test TypeScript server npm run build npm run start:ts
Run the comprehensive test suite to verify all 33 tools:
# Set environment variables first export AIRTABLE_TOKEN=your_token export AIRTABLE_BASE_ID=your_base_id # Start the server node airtable_simple.js & # Run comprehensive tests (v1.6.0+) ./test_v1.6.0_comprehensive.sh
The TypeScript test suite validates:
The JavaScript test suite validates:
If port 8010 is in use:
lsof -ti:8010 | xargs kill -9
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
MIT License - see LICENSE file for details
Version: 3.1.0 | Status: 🔷 TypeScript + 🤖 AI Agent | MCP Protocol: 2024-11-05 Complete | Type Safety: Enterprise-Grade | Intelligence: 10 AI Prompts | Last Updated: August 16, 2025