airtable-mcp-server
MCP server providing LLMs with read/write access to Airtable databases.
Key Features
Use Cases
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 optionallyschema.bases:write,data.records:write,data.recordComments:read, anddata.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
- Open Claude Desktop and go to Settings → Extensions
- Click 'Browse Extensions' and find 'Airtable MCP Server'
- Click 'Install' and paste in your API key
(Advanced) Alternative: Via manual .mcpb installation
- Find the latest mcpb build in the GitHub Actions history (the top one)
- In the 'Artifacts' section, download the
airtable-mcp-server-mcpbfile - Rename the
.zipfile to.mcpb - Double-click the
.mcpbfile to open with Claude Desktop - Click "Install" and configure with your API key
(Advanced) Alternative: Via JSON configuration
- Install Node.js
- Open Claude Desktop and go to Settings → Developer
- Click "Edit Config" to open your
claude_desktop_config.jsonfile - Add the following configuration to the "mcpServers" section, replacing
pat123.abc123with your API key:
{
"mcpServers": {
"airtable": {
"command": "npx",
"args": [
"-y",
"airtable-mcp-server"
],
"env": {
"AIRTABLE_API_KEY": "pat123.abc123",
}
}
}
}
- Save the file and restart Claude Desktop
Cursor
(Recommended) Via one-click install
(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:
{
"mcpServers": {
"airtable": {
"command": "npx",
"args": ["-y", "airtable-mcp-server"],
"env": {
"AIRTABLE_API_KEY": "pat123.abc123"
}
}
}
}
Cline
(Recommended) Via marketplace
- Click the "MCP Servers" icon in the Cline extension
- Search for "Airtable" and click "Install"
- Follow the prompts to install the server
(Advanced) Alternative: Via JSON configuration
- Click the "MCP Servers" icon in the Cline extension
- Click on the "Installed" tab, then the "Configure MCP Servers" button at the bottom
- Add the following configuration to the "mcpServers" section, replacing
pat123.abc123with your API key:
{
"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 basetableId(string, required): The ID of the table to querymaxRecords(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 basetableId(string, required): The ID of the table to querysearchTerm(string, required): Text to search for in recordsfieldIds(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 basedetailLevel(string, optional): The amount of detail to get about the tables (tableIdentifiersOnly,identifiersOnly, orfull)
- 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 basetableId(string, required): The ID of the table to describedetailLevel(string, optional): The amount of detail to get about the table (tableIdentifiersOnly,identifiersOnly, orfull)
- 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 basetableId(string, required): The ID of the tablerecordId(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 basetableId(string, required): The ID of the tablefields(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 basetableId(string, required): The ID of the tablerecords(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 basetableId(string, required): The ID of the tablerecordIds(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 basename(string, required): Name of the new tabledescription(string, optional): Description of the tablefields(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 basetableId(string, required): The ID of the tablename(string, optional): New name for the tabledescription(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 basetableId(string, required): The ID of the tablename(string, required): Name of the new fieldtype(string, required): Type of the fielddescription(string, optional): Description of the fieldoptions(object, optional): Field-specific options
-
update_field
- Updates a field's name or description
- Input parameters:
baseId(string, required): The ID of the Airtable basetableId(string, required): The ID of the tablefieldId(string, required): The ID of the fieldname(string, optional): New name for the fielddescription(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 basetableId(string, required): The ID of the tablerecordId(string, required): The ID of the recordtext(string, required): The comment textparentCommentId(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 basetableId(string, required): The ID of the tablerecordId(string, required): The ID of the recordpageSize(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:
- Install Git and Node.js
- Clone the repository
- Install dependencies with
npm install - Run
npm run testto run tests - Build with
npm run build
- You can use
npm run build:watchto automatically build after editingsrc/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:
- Use
npm version <major | minor | patch>to bump the version - Run
git push --follow-tagsto push with tags - Wait for GitHub Actions to publish to the NPM registry.
Star History
Repository Owner
User
Repository Details
Programming Languages
Tags
Topics
Join Our Newsletter
Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.
Related MCPs
Discover similar Model Context Protocol servers
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
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
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
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
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
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?