Airtable MCP Server
About
An MCP server for interacting with Airtable - create, list, and search records, bases, and tables.
Details
- Author
- felores
- Downloads
- 159
- Categories
- Other
Jump to
- List accessible bases and view table schemas
- Create, list, and search records with Airtable formulas
- Secure API key management and rate limiting
- Input validation and comprehensive error handling
- TypeScript support with robust test suite
- Configurable request timeout and pagination
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Airtable MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install Node.js v16+, clone the repo, install dependencies, configure .env with your Airtable API key, build, then start with npm start. Integrate with Claude Desktop by adding a server configuration in claude_desktop_config.json.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"airtable mcp server": {
"airtable": {
"command": "node",
"args": [
"/path/to/airtable-mcp-server/dist/index.js"
],
"env": {
"AIRTABLE_API_KEY": ""
}
}
}
}
}
McpServers
{
"airtable": {
"command": "node",
"args": [
"/path/to/airtable-mcp-server/dist/index.js"
],
"env": {
"AIRTABLE_API_KEY": ""
}
}
}
Airtable MCP Server
An MCP (Model Context Protocol) server that enables AI models to interact with Airtable databases. This server provides a bridge between Large Language Models (LLMs) and Airtable, allowing for operations like creating records, listing tables, and searching data.
Features
- π Base & Table Management
- List accessible bases
- Browse tables within bases
- View table schemas
- π Record Operations
- Create new records
- List existing records
- Search records using Airtable formulas
- Filter and paginate results
- π Security
- Secure API key management
- Rate limiting protection
- Input validation
- Error handling
- π Developer Features
- TypeScript support
- Comprehensive testing suite
- Detailed logging
- Easy configuration
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- Airtable account and API key
Installation
1. Clone the repository
git clone https://github.com/your-username/airtable-mcp-server.git
cd airtable-mcp-server
2. Install dependencies
npm install
3. Configure environment variables
cp .env.example .env
Edit
.env with your Airtable API key and other configuration options.
4. Build the server
npm run build
Configuration
Environment Variables
| Variable | Description | Required | Default |
|----------|-------------|----------|---------|
| AIRTABLE_API_KEY | Your Airtable API key | Yes | - |
| DEBUG | Enable debug logging | No | false |
| MAX_RECORDS_PER_REQUEST | Maximum records per request | No | 100 |
| REQUEST_TIMEOUT | API request timeout (ms) | No | 30000 |
| RATE_LIMIT | Requests per minute | No | 5 |
Airtable API Key Setup
1. Log in to your Airtable account
2. Go to your account page
3. Under the API section:
- Generate a new API key or use an existing one
- Copy the API key
4. Add the key to your .env file
Usage
Starting the Server
npm start
Integration with Claude Desktop
1. Open your Claude Desktop configuration:
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
2. Add the server configuration:
{
"mcpServers": {
"airtable": {
"command": "node",
"args": ["/path/to/airtable-mcp-server/dist/index.js"],
"env": {
"AIRTABLE_API_KEY": "your_api_key_here"
}
}
}
}
3. Restart Claude Desktop
Available Tools
create-record
Creates a new record in an Airtable table.{
baseId: string; // Airtable base ID
tableId: string; // Table ID or name
fields: object; // Record fields
}
list-records
Lists records from a table.{
baseId: string; // Airtable base ID
tableId: string; // Table ID or name
maxRecords?: number; // Maximum records to return
view?: string; // Optional view name
}
search-records
Searches records using Airtable formula.{
baseId: string; // Airtable base ID
tableId: string; // Table ID or name
filterFormula: string; // Search formula
}
Available Resources
- airtable://bases - List accessible bases
- airtable://bases/{baseId}/tables - List tables in a base
- airtable://bases/{baseId}/tables/{tableId}/schema - Get table schema
Development
Project Structure
airtable-mcp-server/
βββ src/
β βββ index.ts # Entry point
β βββ server.ts # MCP server implementation
β βββ airtable/
β β βββ client.ts # Airtable client wrapper
β β βββ types.ts # TypeScript types
β βββ utils/
β βββ error-handler.ts
β βββ validators.ts
βββ test/
β βββ integration.test.ts
β βββ server.test.ts
β βββ airtable.test.ts
βββ dist/ # Compiled JavaScript
Running Tests
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



