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 | No installation required — just add this to your Claude Desktop config and restart: macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json Windows: %APPDAT
Add this skill
npx mdskills install rashidazarang/airtable-mcpComprehensive Airtable integration with 42 tools covering full CRUD, schema management, webhooks, and AI analytics.
1# Airtable MCP Server23[](https://archestra.ai/mcp-catalog/rashidazarang__airtable-mcp)4[](https://smithery.ai/server/@rashidazarang/airtable-mcp)56[](https://github.com/rashidazarang/airtable-mcp)7[](https://www.typescriptlang.org/)8[](https://github.com/rashidazarang/airtable-mcp)9[](https://github.com/rashidazarang/airtable-mcp)10[](https://modelcontextprotocol.io/)1112A Model Context Protocol (MCP) server for Airtable with full CRUD operations, schema management, record comments, webhooks, batch operations, governance controls, and AI-powered analytics.1314**Version 4.0.0** | MCP Protocol 2024-11-05 | [](https://www.npmjs.com/package/@rashidazarang/airtable-mcp)1516---1718## Quick Start (Claude Desktop)1920No installation required — just add this to your Claude Desktop config and restart:2122**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`23**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`2425```json26{27 "mcpServers": {28 "airtable": {29 "command": "npx",30 "args": ["-y", "@rashidazarang/airtable-mcp"],31 "env": {32 "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN",33 "AIRTABLE_BASE_ID": "YOUR_BASE_ID"34 }35 }36 }37}38```3940That's it. `npx` downloads and runs the server automatically. No `git clone`, no `npm install`.4142> **Get your token** at [airtable.com/create/tokens](https://airtable.com/create/tokens) — grant all scopes listed under [Token Scopes](#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).4344---4546## Quick Start (Claude Code)4748### One-command install4950```bash51curl -fsSL https://raw.githubusercontent.com/rashidazarang/airtable-mcp/main/setup.sh | bash52```5354The script checks prerequisites, prompts for your Airtable token, and writes the MCP config to `~/.claude.json`. Restart Claude Code (or run `/mcp`) to connect.5556You can also pass your token directly:5758```bash59curl -fsSL https://raw.githubusercontent.com/rashidazarang/airtable-mcp/main/setup.sh | bash -s -- YOUR_AIRTABLE_TOKEN60```6162### Manual config6364Add to `~/.claude.json` under `mcpServers`:6566```json67{68 "airtable": {69 "type": "stdio",70 "command": "/bin/bash",71 "args": ["-c", "cd /tmp && npx -y @rashidazarang/airtable-mcp"],72 "env": {73 "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN"74 }75 }76}77```7879> **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.8081---8283## Overview8485This 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.8687### Key Features8889- **Full CRUD Operations** — Create, read, update, and delete records with filtering and pagination90- **Record Comments** — List, create, update, and delete comments on records91- **Schema Management** — Create and modify tables, fields, and views programmatically92- **Batch Operations** — Process up to 10 records per operation for improved performance93- **Webhook Management** — Set up real-time notifications for data changes94- **Governance & Compliance** — Allow-list governance, PII masking, and exception tracking95- **User Identity** — Verify token identity with the `whoami` tool96- **AI Analytics** — 10 prompt templates for predictive analytics, natural language queries, and automated insights97- **Multi-Base Support** — Discover and work with multiple bases dynamically98- **Type Safety** — Full TypeScript support with comprehensive type definitions99100---101102## Prerequisites103104- Node.js 18 or later105- An Airtable account with a Personal Access Token106- Your Airtable Base ID (optional — can be discovered via the `list_bases` tool)107108---109110## Token Scopes111112Create a Personal Access Token at [airtable.com/create/tokens](https://airtable.com/create/tokens) with these scopes:113114| Scope | Purpose |115|-------|---------|116| `data.records:read` | Read records |117| `data.records:write` | Create, update, delete records |118| `data.recordComments:read` | Read record comments |119| `data.recordComments:write` | Create, update, delete comments |120| `schema.bases:read` | View table schemas |121| `schema.bases:write` | Create and modify tables and fields |122| `user.email:read` | Read user identity (whoami) |123| `webhook:manage` | Manage webhooks (optional) |124125---126127## Usage128129Once configured, interact with your Airtable data using natural language:130131### Basic Operations132133- "List all my accessible Airtable bases"134- "Show me all records in the Projects table"135- "Create a new task with priority 'High' and due date tomorrow"136- "Update the status of task ID rec123 to 'Completed'"137- "Search for records where Status equals 'Active'"138139### Schema Management140141- "Show me the complete schema for this base"142- "Create a new table called 'Tasks' with Name, Priority, and Due Date fields"143- "Add a Status field to the Projects table"144145### Record Comments146147- "Show me all comments on record rec123"148- "Add a comment to this record: 'Reviewed and approved'"149- "Update my comment to say 'Needs revision'"150151### Batch Operations152153- "Create 5 new records at once in the Tasks table"154- "Update multiple records with new status values"155- "Delete these 3 records in one operation"156157### Webhooks158159- "List all active webhooks in my base"160- "Create a webhook for changes to my Projects table"161162---163164## Available Tools (42)165166### Core Operations (4 tools)167168| Tool | Description |169|------|-------------|170| `list_bases` | List all accessible bases with permissions |171| `describe` | Describe base or table schema (supports detail levels) |172| `query` | Query records with filtering, sorting, and pagination |173| `search_records` | Advanced search with Airtable formulas |174175### Record CRUD (5 tools)176177| Tool | Description |178|------|-------------|179| `list_records` | List records with field selection and pagination |180| `get_record` | Retrieve a single record by ID |181| `create` | Create new records (requires dryRun diff review) |182| `update` | Update existing records (requires dryRun diff review) |183| `delete_record` | Remove a record from a table |184185### Upsert (2 tools)186187| Tool | Description |188|------|-------------|189| `upsert` | Update or create records based on merge fields |190| `batch_upsert_records` | Batch upsert with merge-on fields |191192### Schema Discovery (4 tools)193194| Tool | Description |195|------|-------------|196| `list_tables` | Get all tables in a base with schema info |197| `get_base_schema` | Get complete schema for any base |198| `list_field_types` | Reference guide for available field types |199| `get_table_views` | List all views for a table |200201### Table Management (3 tools)202203| Tool | Description |204|------|-------------|205| `create_table` | Create tables with custom field definitions |206| `update_table` | Modify table names and descriptions |207| `delete_table` | Remove tables (requires confirmation) |208209### Field Management (3 tools)210211| Tool | Description |212|------|-------------|213| `create_field` | Add fields to existing tables |214| `update_field` | Modify field properties and options |215| `delete_field` | Remove fields (requires confirmation) |216217### Batch Operations (3 tools)218219| Tool | Description |220|------|-------------|221| `batch_create_records` | Create up to 10 records at once |222| `batch_update_records` | Update up to 10 records simultaneously |223| `batch_delete_records` | Delete up to 10 records in one operation |224225### Webhook Management (5 tools)226227| Tool | Description |228|------|-------------|229| `list_webhooks` | View all configured webhooks |230| `create_webhook` | Set up real-time notifications |231| `delete_webhook` | Remove webhook configurations |232| `get_webhook_payloads` | Retrieve notification history |233| `refresh_webhook` | Extend webhook expiration |234235### Views & Attachments (3 tools)236237| Tool | Description |238|------|-------------|239| `create_view` | Create views (grid, form, calendar, etc.) |240| `get_view_metadata` | Get view details including filters |241| `upload_attachment` | Attach files from URLs |242243### Base Management (3 tools)244245| Tool | Description |246|------|-------------|247| `create_base` | Create new bases with initial structure |248| `list_collaborators` | View collaborators and permissions |249| `list_shares` | List shared views and configurations |250251### Record Comments (4 tools)252253| Tool | Description |254|------|-------------|255| `list_comments` | List comments on a record |256| `create_comment` | Add a comment to a record |257| `update_comment` | Edit an existing comment |258| `delete_comment` | Remove a comment |259260### User Info (1 tool)261262| Tool | Description |263|------|-------------|264| `whoami` | Get current user identity and scopes |265266### Governance & Administration (2 tools)267268| Tool | Description |269|------|-------------|270| `list_governance` | Return governance allow-lists and PII masking policies |271| `list_exceptions` | List recent exceptions and remediation proposals |272273---274275## AI Intelligence Suite276277Ten AI prompt templates for advanced analytics:278279| Prompt | Description |280|--------|-------------|281| `analyze_data` | Statistical analysis with anomaly detection |282| `create_report` | Intelligent report generation |283| `data_insights` | Business intelligence and pattern discovery |284| `optimize_workflow` | Automation recommendations |285| `smart_schema_design` | Database optimization suggestions |286| `data_quality_audit` | Quality assessment and remediation |287| `predictive_analytics` | Forecasting and trend prediction |288| `natural_language_query` | Process questions with context awareness |289| `smart_data_transformation` | AI-assisted data processing |290| `automation_recommendations` | Workflow optimization with cost-benefit analysis |291292---293294## Advanced Configuration295296### Smithery Cloud297298```json299{300 "mcpServers": {301 "airtable": {302 "command": "npx",303 "args": [304 "@smithery/cli",305 "run",306 "@rashidazarang/airtable-mcp"307 ],308 "env": {309 "AIRTABLE_TOKEN": "YOUR_TOKEN",310 "AIRTABLE_BASE_ID": "YOUR_BASE_ID"311 }312 }313 }314}315```316317### Environment Variables318319| Variable | Required | Description |320|----------|----------|-------------|321| `AIRTABLE_TOKEN` | Yes | Personal Access Token |322| `AIRTABLE_BASE_ID` | No | Default base ID (discoverable via `list_bases`) |323| `LOG_LEVEL` | No | Logging level (default: `info`) |324| `MCP_HTTP_PORT` | No | Enable HTTP transport for hosted deployments |325326---327328## Development329330> **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.331332```bash333git clone https://github.com/rashidazarang/airtable-mcp.git334cd airtable-mcp335npm install336npm run build337```338339### Testing340341```bash342npm run test:types # Type checking343npm test # Run test suite344```345346### Project Structure347348```349airtable-mcp/350├── src/typescript/ # TypeScript implementation351│ ├── app/352│ │ ├── tools/ # 42 tool implementations353│ │ ├── prompts/ # 10 AI prompt registrations354│ │ ├── airtable-client.ts355│ │ ├── governance.ts356│ │ └── context.ts357│ └── airtable-mcp-server.ts358├── dist/ # Compiled output359├── docs/ # Documentation360├── types/ # TypeScript definitions361└── bin/ # CLI executables362```363364---365366## Troubleshooting367368**Connection Issues**369- Verify the MCP server is running370- Restart your MCP client371- Check that your token has the required scopes372373**Invalid Token**374- Verify your Personal Access Token is correct375- Confirm the token has the required scopes376- Check for extra whitespace in credentials377378**Base Not Found**379- Confirm your Base ID is correct380- Verify your token has access to the base381- Use `list_bases` to discover accessible bases382383---384385## Documentation386387- [Changelog](docs/CHANGELOG.md)388- [Release Notes](docs/releases/)389390---391392## Contributing393394Contributions are welcome. Please open an issue first to discuss major changes.395396---397398## License399400MIT License — see [LICENSE](LICENSE) for details.401402---403404## Support405406- [GitHub Issues](https://github.com/rashidazarang/airtable-mcp/issues)407- [GitHub Discussions](https://github.com/rashidazarang/airtable-mcp/discussions)408
Full transparency — inspect the skill content before installing.