Airtable MCP Server for Schema-Aware Read and Write
Enable schema-aware read and write access to Airtable databases with an MCP server that lets LLMs inspect schemas and modify records.
npx -y @domdomegg/airtable-mcp-serverOverview
Airtable MCP Server for Schema-Aware Read and Write is a Model Context Protocol (MCP) server that exposes Airtable bases, tables, and records to LLM-powered clients in a schema-aware way. It lets LLMs inspect base and table schemas, enumerate and search records, and perform read/write operations while preserving structural context (field types, view definitions, field IDs). This makes it easier to build assistants that understand your Airtable layout and modify records safely.
The server runs locally (or in a container) and communicates with MCP-capable clients such as Claude Desktop, Cursor, and Cline. It uses an Airtable personal access token (PAT) to authenticate and only surfaces the resources and actions allowed by that token’s scopes. The result is a developer-friendly bridge between LLMs and Airtable data, useful for automation, data augmentation, and contextual prompts that need accurate schema knowledge.
Features
- Exposes Airtable bases, tables, fields, and views to LLMs via MCP
- Schema-aware operations: LLMs can inspect field types and IDs before modifying records
- Read operations: list bases, list tables, describe table schemas, list/search/get records
- Configurable detail levels (identifiers only vs. full schema)
- Simple integrations via npx or JSON MCP configuration for popular clients
- Respectful of Airtable PAT scopes (read/write limited by token)
Installation / Configuration
Prerequisites:
- Node.js installed (for npx installs)
- An Airtable personal access token (PAT) with the necessary scopes:
- Required scopes:
schema.bases:read,data.records:read - Optional (for write operations):
schema.bases:write,data.records:write,data.recordComments:read,data.recordComments:write
- Required scopes:
- Create a PAT at: https://airtable.com/create/tokens/new
Minimal local run (for testing):
# Runs the MCP server in-process and sets your PAT
AIRTABLE_API_KEY="pat123.yourtoken"
Example MCP JSON configuration (for Claude Desktop, Cursor, Cline or other clients that accept an mcp.json):
One-click installs:
- For Cursor: use the provided install link or add the same config to
~/.cursor/mcp.jsonor.cursor/mcp.json - For Claude Desktop: install via Extensions → Browse → Airtable MCP Server, or add to
claude_desktop_config.jsonundermcpServers - For Cline: install via the MCP Marketplace or add the config in the “Installed → Configure MCP Servers” UI
GitHub repository and issues:
- Code and releases: https://github.com/domdomegg/airtable-mcp-server
Available Tools
The MCP server exposes a set of tools (MCP components) that clients/LLMs can call. Brief summaries:
| Tool | Purpose | Key input params |
|---|---|---|
| list_bases | List accessible Airtable bases | none |
| list_tables | List tables in a base (optionally with schema) | baseId, detailLevel |
| describe_table | Get detailed schema for one table | baseId, tableId, detailLevel |
| list_records | List records from a table | baseId, tableId, maxRecords, filterByFormula |
| search_records | Search records for text | baseId, tableId, searchTerm, fieldIds, maxRecords |
| get_record | Fetch a single record by ID | baseId, tableId, recordId |
detailLevel options:
tableIdentifiersOnly— minimal info (IDs and names)identifiersOnly— includes field IDs and basic typesfull— full field metadata, views, and descriptions
Example JSON call to list_records:
Use Cases
- Schema-aware assistant that suggests field updates: an LLM can call describe_table to learn field types before producing a patch to a record.
- Data enrichment pipelines: automatically search for rows missing data, call external APIs to enrich values, and write back validated values into the proper Airtable fields.
- Controlled data migrations: export table schemas (via describe_table and list_tables) to drive automated migration scripts that map fields between bases.
- Interactive database helpers inside chat UIs: users ask an LLM to “find recent invoices over $1,000,” the assistant calls search_records/list_records and presents results or updates record statuses.
Examples
Describe a table to the model (JSON):
Search for text across text fields:
Notes and Best Practices
- Token scopes determine what the MCP server can do; grant the minimum required scopes to reduce risk.
- Consider read-only tokens in production for assistants that should not modify data.
- Airtable API rate limits still apply; batch operations may need throttling or pagination.
- The server surfaces field IDs and types — prefer using field IDs when writing records to avoid errors if field names change.
Links
- GitHub: https://github.com/domdomegg/airtable-mcp-server
- Airtable PAT creation: https://airtable.com/create/tokens/new