airtable-mcp-server

airtable-mcp-server

MCP server providing LLMs with read/write access to Airtable databases.

343
Stars
119
Forks
343
Watchers
7
Issues
airtable-mcp-server enables language models to inspect Airtable schemas and interact with Airtable databases through the Model Context Protocol (MCP). It provides tools for listing, reading, and writing records, allowing integration with environments like Claude Desktop, Cursor, and Cline. The solution uses user-provided Airtable API keys for authentication, supporting secure access and manipulation of Airtable data via standardized MCP-compatible clients.

Key Features

Read and write access to Airtable databases via MCP
Ability for LLMs to inspect Airtable schemas
List, retrieve, and update Airtable table records
Supports integration with Claude Desktop, Cursor, and Cline
API key-based authentication
Easy installation via marketplace and one-click workflows
Configuration through multiple clients and JSON
Supports both read and write permissions with granular scopes
Marketplace and manual installation options
Standardized protocol server interface

Use Cases

Enhancing LLMs with access to Airtable data for automated workflows
Using LLMs to inspect, query, and modify Airtable schemas and records
Connecting Airtable databases to AI-powered code editors and tools
Enabling data analysis and transformation tasks directly via LLM interfaces
Automating business processes by bridging Airtable with intelligent agents
Facilitating team collaboration with LLM-assisted database interactions
Performing bulk updates or queries on Airtable from code editor extensions
Integrating custom workflows in tools like Claude Desktop via standardized server setup
Providing AI models secure access to live enterprise data in Airtable
Remote Airtable management through standardized MCP connections

README

airtable-mcp-server

A Model Context Protocol server that provides read and write access to Airtable databases. This server enables LLMs to inspect database schemas, then read and write records.

https://github.com/user-attachments/assets/c8285e76-d0ed-4018-94c7-20535db6c944

Installation

Step 1: Create an Airtable personal access token by clicking here. Details:

  • Name: Anything you want e.g. 'Airtable MCP Server Token'.
  • Scopes: schema.bases:read, data.records:read, and optionally schema.bases:write, data.records:write, data.recordComments:read, and data.recordComments:write.
  • Access: The bases you want to access. If you're not sure, select 'Add all resources'.

Keep the token handy, you'll need it in the next step. It should look something like pat123.abc123 (but longer).

Step 2: Follow the instructions below for your preferred client:

Claude Desktop

(Recommended) Via the extensions browser

  1. Open Claude Desktop and go to Settings → Extensions
  2. Click 'Browse Extensions' and find 'Airtable MCP Server'
  3. Click 'Install' and paste in your API key

(Advanced) Alternative: Via manual .mcpb installation

  1. Find the latest mcpb build in the GitHub Actions history (the top one)
  2. In the 'Artifacts' section, download the airtable-mcp-server-mcpb file
  3. Rename the .zip file to .mcpb
  4. Double-click the .mcpb file to open with Claude Desktop
  5. Click "Install" and configure with your API key

(Advanced) Alternative: Via JSON configuration

  1. Install Node.js
  2. Open Claude Desktop and go to Settings → Developer
  3. Click "Edit Config" to open your claude_desktop_config.json file
  4. Add the following configuration to the "mcpServers" section, replacing pat123.abc123 with your API key:
json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123",
      }
    }
  }
}
  1. Save the file and restart Claude Desktop

Cursor

(Recommended) Via one-click install

  1. Click Install MCP Server
  2. Edit your mcp.json file to insert your API key

(Advanced) Alternative: Via JSON configuration

Create either a global (~/.cursor/mcp.json) or project-specific (.cursor/mcp.json) configuration file, replacing pat123.abc123 with your API key:

json
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

Cline

(Recommended) Via marketplace

  1. Click the "MCP Servers" icon in the Cline extension
  2. Search for "Airtable" and click "Install"
  3. Follow the prompts to install the server

(Advanced) Alternative: Via JSON configuration

  1. Click the "MCP Servers" icon in the Cline extension
  2. Click on the "Installed" tab, then the "Configure MCP Servers" button at the bottom
  3. Add the following configuration to the "mcpServers" section, replacing pat123.abc123 with your API key:
json
{
  "mcpServers": {
    "airtable": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

Components

Tools

  • list_records

    • Lists records from a specified Airtable table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to query
      • maxRecords (number, optional): Maximum number of records to return. Defaults to 100.
      • filterByFormula (string, optional): Airtable formula to filter records
  • search_records

    • Search for records containing specific text
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to query
      • searchTerm (string, required): Text to search for in records
      • fieldIds (array, optional): Specific field IDs to search in. If not provided, searches all text-based fields.
      • maxRecords (number, optional): Maximum number of records to return. Defaults to 100.
  • list_bases

    • Lists all accessible Airtable bases
    • No input parameters required
    • Returns base ID, name, and permission level
  • list_tables

    • Lists all tables in a specific base
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • detailLevel (string, optional): The amount of detail to get about the tables (tableIdentifiersOnly, identifiersOnly, or full)
    • Returns table ID, name, description, fields, and views (to the given detailLevel)
  • describe_table

    • Gets detailed information about a specific table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to describe
      • detailLevel (string, optional): The amount of detail to get about the table (tableIdentifiersOnly, identifiersOnly, or full)
    • Returns the same format as list_tables but for a single table
    • Useful for getting details about a specific table without fetching information about all tables in the base
  • get_record

    • Gets a specific record by ID
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record to retrieve
  • create_record

    • Creates a new record in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • fields (object, required): The fields and values for the new record
  • update_records

    • Updates one or more records in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • records (array, required): Array of objects containing record ID and fields to update
  • delete_records

    • Deletes one or more records from a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordIds (array, required): Array of record IDs to delete
  • create_table

    • Creates a new table in a base
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • name (string, required): Name of the new table
      • description (string, optional): Description of the table
      • fields (array, required): Array of field definitions (name, type, description, options)
  • update_table

    • Updates a table's name or description
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • name (string, optional): New name for the table
      • description (string, optional): New description for the table
  • create_field

    • Creates a new field in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • name (string, required): Name of the new field
      • type (string, required): Type of the field
      • description (string, optional): Description of the field
      • options (object, optional): Field-specific options
  • update_field

    • Updates a field's name or description
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • fieldId (string, required): The ID of the field
      • name (string, optional): New name for the field
      • description (string, optional): New description for the field
  • create_comment

    • Creates a comment on a record
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record
      • text (string, required): The comment text
      • parentCommentId (string, optional): Parent comment ID for threaded replies
    • Returns the created comment with ID, author, creation time, and text
  • list_comments

    • Lists comments on a record
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record
      • pageSize (number, optional): Number of comments to return (max 100, default 100)
      • offset (string, optional): Pagination offset for retrieving additional comments
    • Returns comments array with author, text, timestamps, reactions, and mentions
    • Comments are returned from newest to oldest

Resources

The server provides schema information for Airtable bases and tables:

  • Table Schemas (airtable://<baseId>/<tableId>/schema)
    • JSON schema information for each table
    • Includes:
      • Base id and table id
      • Table name and description
      • Primary field ID
      • Field definitions (ID, name, type, description, options)
      • View definitions (ID, name, type)
    • Automatically discovered from Airtable's metadata API

Contributing

Pull requests are welcomed on GitHub! To get started:

  1. Install Git and Node.js
  2. Clone the repository
  3. Install dependencies with npm install
  4. Run npm run test to run tests
  5. Build with npm run build
  • You can use npm run build:watch to automatically build after editing src/index.ts. This means you can hit save, reload Claude Desktop (with Ctrl/Cmd+R), and the changes apply.

Releases

Versions follow the semantic versioning spec.

To release:

  1. Use npm version <major | minor | patch> to bump the version
  2. Run git push --follow-tags to push with tags
  3. Wait for GitHub Actions to publish to the NPM registry.

Star History

Star History Chart

Repository Owner

domdomegg
domdomegg

User

Repository Details

Language TypeScript
Default Branch master
Size 417 KB
Contributors 6
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
96.76%
Shell
1.27%
JavaScript
1.07%
Dockerfile
0.91%

Tags

Topics

airtable mcp-server model-context-protocol

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Airtable MCP Server

    Airtable MCP Server

    Advanced AI-powered server enabling enterprise-grade automation and analytics for Airtable through MCP.

    Airtable MCP Server is an AI-enhanced MCP-compliant server designed to provide seamless integration with Airtable databases. It offers intelligent automation, predictive analytics, natural language querying, and comprehensive schema management, powered by a robust TypeScript architecture. The solution is equipped with multi-base support, enterprise-level security, and advanced governance, making it suitable for diverse workflow automation and analytics scenarios.

    • 45
    • MCP
    • rashidazarang/airtable-mcp
  • greptimedb-mcp-server

    greptimedb-mcp-server

    A Model Context Protocol (MCP) server for secure, structured AI access to GreptimeDB.

    greptimedb-mcp-server implements a Model Context Protocol (MCP) server for GreptimeDB, enabling AI assistants to securely explore and analyze database contents. It provides controlled operations such as listing tables, reading data, and executing SQL queries, ensuring responsible access. The server offers integration with Claude Desktop and supports prompt management for structured AI interactions.

    • 23
    • MCP
    • GreptimeTeam/greptimedb-mcp-server
  • dbt MCP Server

    dbt MCP Server

    Bridge dbt projects and AI agents with rich project context.

    dbt MCP Server provides an implementation of the Model Context Protocol for dbt projects, enabling seamless integration between dbt and AI agents. It allows agents to access and understand the context of dbt Core, dbt Fusion, and dbt Platform projects. The tool supports connection to external AI products and offers resources for building custom agents. Documentation and examples are provided to facilitate adoption and integration.

    • 420
    • MCP
    • dbt-labs/dbt-mcp
  • CipherTrust Manager MCP Server

    CipherTrust Manager MCP Server

    Enables AI assistants to access CipherTrust Manager securely via the Model Context Protocol.

    CipherTrust Manager MCP Server provides an implementation of the Model Context Protocol (MCP), offering AI assistants such as Claude and Cursor a unified interface to interact with CipherTrust Manager resources. Communication is facilitated through JSON-RPC over stdin/stdout, enabling key management, CTE client management, user management, and connection management functionalities. The tool is configurable via environment variables and integrates with existing CipherTrust Manager instances using the ksctl CLI for secure resource access.

    • 7
    • MCP
    • sanyambassi/ciphertrust-manager-mcp-server
  • BigQuery MCP Server

    BigQuery MCP Server

    MCP server enabling LLMs to access and interact with BigQuery databases.

    BigQuery MCP Server provides a Model Context Protocol-compliant interface that allows large language models to inspect database schemas and execute SQL queries on BigQuery. It exposes tools for executing queries, listing tables, and describing table schemas, supporting both CLI and environment-based configuration. The server integrates with Claude Desktop and can be easily installed via Smithery, facilitating seamless interaction between LLMs and BigQuery data sources.

    • 120
    • MCP
    • LucasHild/mcp-server-bigquery
  • MCP MongoDB Server

    MCP MongoDB Server

    A Model Context Protocol server for LLM interaction with MongoDB databases.

    MCP MongoDB Server enables large language models to interact with MongoDB databases through the standardized Model Context Protocol interface. It provides schema inspection, document querying, aggregation, and write operations with intelligent ObjectId handling and flexible read-only configurations. Designed for seamless integration with tools like Claude Desktop, it offers collection completions, schema inference, and robust support for both development and production environments.

    • 267
    • MCP
    • kiliczsh/mcp-mongo-server
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results