airtable-mcp
This project provides a local Model Context Protocol (MCP) server that allows AI models like Claude (via Claude for Desktop) to interact directly with your Airtable bases using natural language. You can list bases, tables, and records, fetch specific records, create, update, and delete records, all through MCP tools.
Airtable Local MCP Server
This project provides a local Model Context Protocol (MCP) server that allows AI models like Claude (via Claude for Desktop) to interact directly with your Airtable bases using natural language.
You can list bases, tables, and records, fetch specific records, create, update, and delete records, all through MCP tools.
This package is designed to be installed and run using pipx for isolated execution.
Prerequisites
- Python: Version 3.10 or higher.
- pipx: Tool for installing and running Python applications in isolated environments. Installation instructions here.
- git (for pipx installation from source)
- Airtable Account: You need an Airtable account.
Run with pipx
Run the server with pipx:
pipx run airtable-mcp
Example MCP Config
{
"mcpServers": {
"airtable-pipx": { // You can name this key anything descriptive
"command": "pipx",
"args": ["run", "airtable-mcp"] // No arguments needed as config is via environment variables
// "options": {} // Usually not needed if command is in PATH and env vars are set globally
"env": {
"AIRTABLE_PERSONAL_ACCESS_TOKEN": "XXXX",
"AIRTABLE_BASE_ID": "XXXX"
}
}
// Add other servers here if needed
}
}
Installation with pipx
Install the server with pipx:
pipx run airtable-mcp
Install the server directly from this repository:
# Example using HTTPS URL
pipx install git+https://github.com/alexbruf/airtable-mcp.git
# Or if you have cloned it locally:
pipx install ./path/to/cloned/airtable-mcp
This command installs the package and makes the airtable-mcp command available in your PATH.
Configuration
This server requires an Airtable Personal Access Token to authenticate API requests.
-
Generate an Airtable Token:
- Go to your Airtable Developer Hub.
- Create a new token with the following scopes:
data.records:readdata.records:writeschema.bases:read
- Make sure to grant access to the specific bases you want to use.
- Copy the generated token securely.
-
Set Environment Variables: The server reads the token from the
AIRTABLE_PERSONAL_ACCESS_TOKENenvironment variable. You can optionally set a defaultAIRTABLE_BASE_ID.Crucially, these environment variables must be available in the environment where
pipxruns theairtable-mcpcommand.- Recommended: Add export commands to your shell profile (
~/.bashrc,~/.zshrc,~/.profile, etc.) and restart your shell or source the file:# Example for ~/.zshrc or ~/.bashrc export AIRTABLE_PERSONAL_ACCESS_TOKEN="YOUR_SECURE_TOKEN_HERE" export AIRTABLE_BASE_ID="YOUR_DEFAULT_BASE_ID" # Optional - Alternative (Less Permanent): Export the variables in your current terminal session before running the server or configuring Claude.
export AIRTABLE_PERSONAL_ACCESS_TOKEN="YOUR_SECURE_TOKEN_HERE" export AIRTABLE_BASE_ID="YOUR_DEFAULT_BASE_ID" # Optional - Note on
.envfiles: While the server code attempts to load.envfiles usingpython-dotenv, this relies on the file being present in the current working directory when the command is run. This can be unreliable withpipxand Claude Desktop, so setting environment variables directly is the recommended approach.
- Recommended: Add export commands to your shell profile (
Running the Server
Ensure the environment variables are set in your current shell.
Simply run the command installed by pipx:
airtable-mcp
The server will start and log messages indicating it's ready and which token/base ID (if any) it's using.
Connecting with Claude for Desktop
To allow Claude for Desktop to use the tools from this server:
-
Edit Claude's Config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json - Create the file/directory if it doesn't exist.
- macOS:
-
Add Server Configuration: Add the following structure to the
mcpServersobject. Sincepipxplaces the command in your PATH, you usually don't need to specify a full path orcwd.{ "mcpServers": { "airtable-pipx": { // You can name this key anything descriptive "command": "pipx", "args": ["run", "airtable-mcp"] // No arguments needed as config is via environment variables // "options": {} // Usually not needed if command is in PATH and env vars are set globally "env": { "AIRTABLE_PERSONAL_ACCESS_TOKEN": "XXXX", "AIRTABLE_BASE_ID": "XXXX" } } // Add other servers here if needed } }- Important: Ensure the environment variables (
AIRTABLE_PERSONAL_ACCESS_TOKEN, etc.) are correctly set in the environment that Claude for Desktop uses when launching commands. Setting them globally via your shell profile is the most reliable way.
- Important: Ensure the environment variables (
-
Restart Claude for Desktop: Close and reopen the application.
-
Verify: The tool icon (hammer) should appear in Claude. Clicking it should show the tools from this server (e.g.,
list_bases,list_records).
Available Tools
The following tools are exposed by the server:
| Tool Name | Description |
|---|---|
list_bases |
Lists all Airtable bases accessible with the configured token. |
list_tables |
Lists all tables within the active (or specified) base. |
list_records |
Lists records from a specified table (supports filtering, views, fields). |
get_record |
Retrieves a single record by its ID from a specified table. |
create_records |
Creates one or more new records in a table from a JSON string. |
update_records |
Updates one or more existing records in a table from a JSON string. |
delete_records |
Deletes one or more records by their IDs (max 10 per call). |
Usage Examples (in Claude)
- "List my airtable bases."
- "Show the tables in the current base."
- "List 5 records from the 'Tasks' table."
- "Get the record with ID recYYYYYYYYYYYYYY from the 'Projects' table."
- "Create a record in 'Tasks' with fields {'Name': 'New idea', 'Status': 'Todo'}."
- "Update record recZZZZZZZZZZZZZZ in 'Tasks' with fields {'Status': 'Done'}."
- "Delete record recAAAAAAAAAAAAAA from the 'Log' table."
Troubleshooting
airtable-mcpcommand not found: Ensurepipxinstallation completed successfully. Check if thepipxbin directory is in your PATH (echo $PATHandpipx ensurepath).- Authentication errors: Verify
AIRTABLE_PERSONAL_ACCESS_TOKENis correctly set in the environment where the command runs. Useprintenv | grep AIRTABLEin your terminal to check. - Claude connection issues: Ensure environment variables are globally accessible or set in a way Claude can inherit them. Try running
airtable-mcpmanually in a terminal first. Check the server logs for connection attempts or errors when Claude tries to connect. - Tool errors: Check the server logs (
airtable-mcpoutput) for detailed error messages from the Airtable API.
Uninstallation
pipx uninstall airtable-mcp
License
MIT
Recommend MCP Servers 💡
isaac-sim-mcp
Isaac Simulation MCP Extension and Server
@mastergo/magic-mcp
A standalone MCP service connecting MasterGo design tools with AI models to retrieve DSL data from design files.
OpenMetadata
OpenMetadata's MCP server enables large language models (LLMs) and AI agents to interact with and leverage OpenMetadata's Unified Knowledge Graph, facilitating intelligent data management and automated data operations by providing crucial business context from metadata.
kaz56-t/mcp-latest-document
A Model Context Protocol server providing access to the latest documentation for various services.
wxflows-server
A MCP server example integrating watsonx.ai Flows Engine with Google Books and Wikipedia tools for context retrieval.
mcp-claude-code
MCP implementation of Claude Code capabilities and more