Airtable MCP Server

by felores

159 downloads Not rated yet
GitHub

About

An MCP server for interacting with Airtable - create, list, and search records, bases, and tables.

Explore

- πŸ” 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

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Airtable MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Node.js (v16 or higher)
- npm or yarn
- Airtable account and API key

| 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 |

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

```bash

cp .env.example .env.test

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": ""
        }
    }
}

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

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.