JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 47
  • Score
    100M100P100Q80629F
  • License MIT

Airtable MCP for Claude Desktop - Connect directly to Airtable using natural language

Package Exports

  • @rashidazarang/airtable-mcp
  • @rashidazarang/airtable-mcp/airtable_simple.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rashidazarang/airtable-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Airtable MCP Server

smithery badge Airtable MCP

A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your Airtable bases. Query, create, update, and delete records using natural language through a secure, standardized interface.

๐Ÿ”’ Security Notice

Important: Version 1.2.4 includes critical security fixes. If you used this MCP before January 2025, please see SECURITY_NOTICE.md for important information about token rotation.

โœจ Features

  • ๐Ÿ” Natural Language Queries - Ask questions about your data in plain English
  • ๐Ÿ“Š Full CRUD Operations - Create, read, update, and delete records
  • ๐Ÿ—๏ธ Schema Management - View and understand your base structure
  • ๐Ÿ” Secure Authentication - Uses environment variables for credentials
  • ๐Ÿš€ Easy Setup - Multiple installation options available
  • โšก Fast & Reliable - Built with Node.js for optimal performance

๐Ÿ“‹ Prerequisites

  • Node.js 14+ installed on your system
  • An Airtable account with a Personal Access Token
  • Your Airtable Base ID

๐Ÿš€ Quick Start

Step 1: Get Your Airtable Credentials

  1. Personal Access Token: Visit Airtable Account โ†’ Create a token with the following scopes:

    • data.records:read
    • data.records:write
    • schema.bases:read
  2. Base ID: Open your Airtable base and copy the ID from the URL:

    https://airtable.com/[BASE_ID]/...

Step 2: Installation

Choose one of these installation methods:

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

Step 3: Set Up Environment Variables

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!

Step 4: Configure Your MCP Client

For Claude Desktop

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

For Environment Variables (More Secure)

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": ["@rashidazarang/airtable-mcp"],
      "env": {
        "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN",
        "AIRTABLE_BASE_ID": "YOUR_BASE_ID"
      }
    }
  }
}

Step 5: Restart Your MCP Client

After configuration, restart Claude Desktop or your MCP client to load the Airtable server.

๐ŸŽฏ Usage Examples

Once configured, you can interact with your Airtable data naturally:

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

๐Ÿ› ๏ธ Available Tools

Tool Description
list_tables Get all tables in your base
list_records Query records with optional filtering
create_record Add new records to a table
update_record Modify existing records
delete_record Remove records from a table

๐Ÿ”ง Advanced Configuration

Using with Smithery Cloud

For cloud-hosted MCP servers:

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "@smithery/cli",
        "run",
        "@rashidazarang/airtable-mcp",
        "--token",
        "YOUR_TOKEN",
        "--base",
        "YOUR_BASE_ID"
      ]
    }
  }
}

Direct Node.js Execution

If you cloned the repository:

{
  "mcpServers": {
    "airtable": {
      "command": "node",
      "args": [
        "/path/to/airtable-mcp/airtable_simple.js",
        "--token",
        "YOUR_TOKEN",
        "--base",
        "YOUR_BASE_ID"
      ]
    }
  }
}

๐Ÿงช Testing

Run the test suite to verify your setup:

# Set environment variables first
export AIRTABLE_TOKEN=your_token
export AIRTABLE_BASE_ID=your_base_id

# Run tests
npm test

๐Ÿ› Troubleshooting

"Connection Refused" Error

  • Ensure the MCP server is running
  • Check that port 8010 is not blocked
  • Restart your MCP client

"Invalid Token" Error

  • Verify your Personal Access Token is correct
  • Check that the token has the required scopes
  • Ensure no extra spaces in your credentials

"Base Not Found" Error

  • Confirm your Base ID is correct
  • Check that your token has access to the base

Port Conflicts

If port 8010 is in use:

lsof -ti:8010 | xargs kill -9

๐Ÿ“š Documentation

๐Ÿค Contributing

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.

๐Ÿ“„ License

MIT License - see LICENSE file for details

๐Ÿ™ Acknowledgments

๐Ÿ“ฎ Support


Version: 1.2.4 | Status: โœ… Production Ready | Last Updated: August 14, 2025