MCP ExplorerExplorer

Airtable

@feloreson 13 days ago
46 MIT
FreeCommunity
Databases
#Airtable#Database#API
Airtable Model Context Protocol Server.

Overview

What is Airtable

The Airtable MCP Server is a specialized Model Context Protocol server designed for programmatic management of Airtable bases, tables, fields, and records through interfaces such as Claude Desktop. It facilitates easy interaction with the Airtable API and allows for the construction of complex tables in stages, aiming to reduce the failure rate commonly faced in other implementations.

Use cases

This server is suitable for various tasks, including creating and managing Airtable bases, tables, and fields, as well as performing operations on records like creating, updating, or deleting them. It’s particularly useful for developers and users looking to automate their workflows, integrate with other systems, or create custom data management solutions within Airtable.

How to use

To use the Airtable MCP Server, install Node.js and set up your Airtable API key. Configure the Claude Desktop application by either directly modifying the JSON configuration file to include the server details or using the mcp-installer to automate this process. Once set up, you can interact with Airtable using commands to list bases, manage tables and records, and utilize various field types and operations.

Key features

Key features of the Airtable MCP Server include base and table management, field operations, and robust record handling capabilities. It supports multiple field types, such as single line text, multi-select options, and date fields. Additionally, it provides options for field color customization and allows complex table creation with minimal errors, enhancing user experience with Airtable’s API.

Where to use

The Airtable MCP Server can be used in any environment where Airtable is utilized, especially in settings that require automation, integration with other applications, or streamlined data management processes. It’s ideal for software developers, data analysts, and organizations that need to handle data dynamically within Airtable without manual input.

Content

Airtable MCP Server

A Model Context Protocol server that provides tools for interacting with Airtable’s API. This server enables programmatic management of Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.

This MCP server features a specialized implementation that allows it to build tables in stages, leveraging Claude’s agentic capabilities and minimizing the failure rate typically seen in other MCP servers for Airtable when building complex tables. It also includes system prompt and project knowledge markdown files to provide additional guidance for the LLM when leveraging projects in Claude Desktop.

Requirements: Node.js

  1. Install Node.js (version 18 or higher) and npm from nodejs.org
  2. Verify installation:
    node --version
    npm --version
    

⚠️ Important: Before running, make sure to setup your Airtable API key

Obtaining an Airtable API Key

  1. Log in to your Airtable account at airtable.com
  2. Create a personal access token at Airtable’s Builder Hub
  3. In the Personal access token section select these scopes:
    • data.records:read
    • data.records:write
    • schema.bases:read
    • schema.bases:write
  4. Select the workspace or bases you want to give access to the personal access token
  5. Keep this key secure - you’ll need it for configuration

Installation

Method 1: Using npx (Recommended)

  1. Navigate to the Claude configuration directory:

    • Windows: C:\Users\NAME\AppData\Roaming\Claude
    • macOS: ~/Library/Application Support/Claude/

    You can also find these directories inside the Claude Desktop app: Claude Desktop > Settings > Developer > Edit Config

  2. Create or edit claude_desktop_config.json:

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "@felores/airtable-mcp-server"
      ],
      "env": {
        "AIRTABLE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Note: For Windows paths, use double backslashes (\) or forward slashes (/).

Method 2: Using mcp-installer:

mcp-installer is a MCP server to install other MCP servers.

  1. Install mcp-installer
  2. Install the Airtable MCP server by prompting Claude Desktop:
Install @felores/airtable-mcp-server set the environment variable AIRTABLE_API_KEY to 'your_api_key'

Claude will install the server, modify the configuration file and set the environment variable AIRTABLE_API_KEY to your Airtable API key.

Method 3: Local Development Installation

If you want to contribute or modify the code run this in your terminal:

# Clone the repository
git clone https://github.com/felores/airtable-mcp.git
cd airtable-mcp

# Install dependencies
npm install

# Build the server
npm run build

# Run locally
node build/index.js

Then modify the Claude Desktop configuration file to use the local installation:

{
  "mcpServers": {
    "airtable": {
      "command": "node",
      "args": [
        "path/to/airtable-mcp/build/index.js"
      ],
      "env": {
        "AIRTABLE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Verifying Installation

  1. Start Claude Desktop
  2. The Airtable MCP server should be listed in the “Connected MCP Servers” section
  3. Test with a simple command:
List all bases

Features

Available Operations

Base Management

  • list_bases: List all accessible Airtable bases
  • list_tables: List all tables in a base
  • create_table: Create a new table with fields
  • update_table: Update a table’s name or description

Field Management

  • create_field: Add a new field to a table
  • update_field: Modify an existing field

Record Operations

  • list_records: Retrieve records from a table
  • create_record: Add a new record
  • update_record: Modify an existing record
  • delete_record: Remove a record
  • search_records: Find records matching criteria
  • get_record: Get a single record by its ID

Field Types

  • singleLineText: Single line text field
  • multilineText: Multi-line text area
  • email: Email address field
  • phoneNumber: Phone number field
  • number: Numeric field with optional precision
  • currency: Money field with currency symbol
  • date: Date field with format options
  • singleSelect: Single choice from options
  • multiSelect: Multiple choices from options

Field Colors

Available colors for select fields:

  • blueBright, redBright, greenBright
  • yellowBright, purpleBright, pinkBright
  • grayBright, cyanBright, orangeBright
  • blueDark1, greenDark1

Contributing

We welcome contributions to improve the Airtable MCP server! Here’s how you can contribute:

  1. Fork the Repository

  2. Create a Feature Branch

    git checkout -b feature/your-feature-name
    
  3. Make Your Changes

    • Follow the existing code style
    • Add tests if applicable
    • Update documentation as needed
  4. Commit Your Changes

    git add .
    git commit -m "feat: add your feature description"
    
  5. Push to Your Fork

    git push origin feature/your-feature-name
    
  6. Create a Pull Request

    • Go to your fork on GitHub
    • Click “New Pull Request”
    • Select your feature branch
    • Describe your changes in detail

Development Guidelines

  • Use TypeScript for new code
  • Follow semantic commit messages
  • Update documentation for new features
  • Add examples for new functionality
  • Test your changes thoroughly

Getting Help

  • Open an issue for bugs or feature requests
  • Join discussions in existing issues
  • Ask questions in pull requests

Your contributions help make this tool better for everyone. Whether it’s:

  • Adding new features
  • Fixing bugs
  • Improving documentation
  • Suggesting enhancements

We appreciate your help in making the Airtable MCP server more powerful and user-friendly!

License

MIT


Made with ❤️ by the Airtable MCP community

Tools

list_bases
List all accessible Airtable bases
list_tables
List all tables in a base
create_table
Create a new table in a base
update_table
Update a table's schema
create_field
Create a new field in a table
update_field
Update a field in a table
list_records
List records in a table
create_record
Create a new record in a table
update_record
Update an existing record in a table
delete_record
Delete a record from a table
search_records
Search for records in a table
get_record
Get a single record by its ID

Comments