Airtable MCP Server
Airtable records and database schemas accessed directly by your AI assistant.
Data last scanned today · Reviewed today
Overview
The Airtable MCP Server enables LLMs to perform both read and write operations directly against Airtable databases. By providing tools to list bases, describe table schemas, and retrieve or search specific records, the server allows your AI agent to interact with your structured data dynamically.
Our verdict
This server carries a high risk level with a security score of 48/100. Because it is community-maintained rather than official and lacks an independent editorial review of its read-only and authentication implementations, users should exercise caution when connecting it to production Airtable environments.
- Supports both reading and writing to Airtable records
- Minimalist architecture with only three direct dependencies
- Maintains active development with a recent commit history
- Not maintained or verified by the official Airtable organization
- Read-only mode and authentication methods lack external security review
Setup
{
"mcpServers": {
"airtable-mcp-server": {
"args": [
"-y",
"airtable-mcp-server"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| list_records | Lists records from a specified Airtable table | low |
| search_records | Search for records containing specific text | low |
| list_bases | Lists all accessible Airtable bases | low |
| list_tables | Lists all tables in a specific base | low |
| describe_table | Gets detailed information about a specific table | low |
| get_record | Gets a specific record by ID | low |
| create_record | Creates a new record in a table | medium |
| update_records | Updates one or more records in a table | medium |
| delete_records | Deletes one or more records from a table | high |
| create_table | Creates a new table in a base | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What are the minimum Airtable API token permissions required?
You must create a personal access token with at least schema.bases:read and data.records:read scopes for the bases you intend to access.
›Can I perform write operations on my Airtable data?
Yes, if you grant your personal access token the additional schema.bases:write and data.records:write scopes.
›How do I configure the server for my MCP client?
You must set the AIRTABLE_API_KEY environment variable in your client's configuration file with your personal access token.
›Are there limits to how many records I can retrieve?
The list_records and search_records tools default to returning 100 records, but you can adjust this using the optional maxRecords parameter.
›How can I filter records during a search?
You can use the filterByFormula parameter with the list_records tool to apply Airtable formulas to your queries.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.