Effect Airtable MCP Server
Provides tools for managing Airtable bases, tables, fields, and records.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Effect Airtable MCP ServerList all bases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Effect Airtable MCP Server
A production-ready Model Context Protocol server for Airtable, built with Effect for type-safe, composable, and robust API interactions. This server enables programmatic management of Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.
Why Effect?
This server leverages the Effect library to provide:
Type Safety: Full end-to-end type safety from input validation to output serialization
Error Handling: Structured error types with automatic validation and retries
Composability: Modular tool architecture with reusable validation pipelines
Testability: Pure functions and Effect-based testing without mocking
Reliability: Contract-driven design catches API changes at validation boundaries
Unlike traditional implementations, this server features:
Staged Table Creation: Builds complex tables incrementally to minimize API failures
Schema Validation: Zod schemas ensure correctness at runtime
Automatic Retries: Effect-based retry logic for transient failures
Developer Experience: Comprehensive error messages and type inference
Related MCP server: Airtable MCP Server
Requirements: Node.js
Install Node.js (version 18 or higher) and npm from nodejs.org
Verify installation:
node --version npm --version
⚠️ Important: Before running, make sure to setup your Airtable API key
Obtaining an Airtable API Key
Log in to your Airtable account at airtable.com
Create a personal access token at Airtable's Builder Hub
In the Personal access token section select these scopes:
data.records:read
data.records:write
schema.bases:read
schema.bases:write
Select the workspace or bases you want to give access to the personal access token
Keep this key secure - you'll need it for configuration
Installation
Method 1: Using npx (Recommended)
Navigate to the Claude configuration directory:
Windows:
C:\Users\NAME\AppData\Roaming\ClaudemacOS:
~/Library/Application Support/Claude/
You can also find these directories inside the Claude Desktop app: Claude Desktop > Settings > Developer > Edit Config
Create or edit
claude_desktop_config.json:
{
"mcpServers": {
"airtable-effect": {
"command": "npx",
"args": ["@kastalien-research/effect-airtable-mcp"],
"env": {
"AIRTABLE_API_KEY": "your_api_key_here"
}
}
}
}Note: For Windows paths, use double backslashes (\) or forward slashes (/).
Method 2: Local Development Installation
If you want to contribute or modify the code:
# Clone the repository
git clone https://github.com/glassBead-tc/effect-airtable-mcp.git
cd effect-airtable-mcp
# Install dependencies
npm install
# Build the server
npm run build
# Run tests
npm test
# Run locally
node build/index.jsThen modify the Claude Desktop configuration file to use the local installation:
{
"mcpServers": {
"airtable-effect": {
"command": "node",
"args": ["/absolute/path/to/effect-airtable-mcp/build/index.js"],
"env": {
"AIRTABLE_API_KEY": "your_api_key_here"
}
}
}
}Verifying Installation
Start Claude Desktop
The Airtable MCP server should be listed in the "Connected MCP Servers" section
Test with a simple command:
List all basesArchitecture
Effect-Based Design
This server uses a contract-driven architecture powered by Effect:
// Every tool follows this pattern:
ToolExecutor {
1. Validate Input (Zod schema)
2. Execute Operation (Effect workflow)
3. Validate Output (Zod schema)
4. Check Postconditions (business rules)
→ Return typed result or structured error
}Key Components:
ToolExecutor: Generic execution framework with validation pipelinemcp-adapter: Bridges Effect workflows to MCP protocolSchema Modules: Zod schemas for all inputs/outputs (bases, tables, fields, records)
Tool Modules: Pure Effect-based operations with no side effects until execution
Error Handling:
InputValidationError: Invalid tool argumentsOutputValidationError: Unexpected API response (catches breaking changes)AirtableApiError: HTTP errors with context and retry logicPostconditionError: Business rule violations
See src/docs/effect-architecture.md for detailed documentation.
Features
Available Operations
Base Management
list_bases: List all accessible Airtable baseslist_tables: List all tables in a basecreate_table: Create a new table with fieldsupdate_table: Update a table's name or description
Field Management
create_field: Add a new field to a tableupdate_field: Modify an existing field
Record Operations
list_records: Retrieve records from a tablecreate_record: Add a new recordupdate_record: Modify an existing recorddelete_record: Remove a recordsearch_records: Find records matching criteriaget_record: Get a single record by its ID
Field Types
singleLineText: Single line text fieldmultilineText: Multi-line text areaemail: Email address fieldphoneNumber: Phone number fieldnumber: Numeric field with optional precisioncurrency: Money field with currency symboldate: Date field with format optionssingleSelect: Single choice from optionsmultiSelect: Multiple choices from options
Field Colors
Available colors for select fields:
blueBright,redBright,greenBrightyellowBright,purpleBright,pinkBrightgrayBright,cyanBright,orangeBrightblueDark1,greenDark1
Contributing
We welcome contributions to improve the Effect Airtable MCP server!
Quick Start
Fork and clone:
git clone https://github.com/your-username/effect-airtable-mcp.git cd effect-airtable-mcp npm installCreate a feature branch:
git checkout -b feature/your-feature-nameMake your changes following Effect patterns (see
src/docs/effect-architecture.md)Run tests and linting:
npm test npm run lint npm run format:checkCommit and push:
git add . git commit -m "feat: add your feature description" git push origin feature/your-feature-nameOpen a Pull Request at https://github.com/glassBead-tc/effect-airtable-mcp
Development Guidelines
Use Effect patterns: All tools use
ToolExecutorwith Zod validationType safety: No
anytypes, strict TypeScript enabledTesting: Write Effect-based tests (no mocking needed)
Error handling: Use structured
ToolErrortypesDocumentation: Update schemas and tool descriptions
Commits: Follow semantic commit messages (feat/fix/docs/refactor)
Getting Help
Open an issue for bugs or feature requests
Join discussions in existing issues
Ask questions in pull requests
Your contributions help make this tool better for everyone. Whether it's:
Adding new features
Fixing bugs
Improving documentation
Suggesting enhancements
We appreciate your help in making the Airtable MCP server more powerful and user-friendly!
License
Made with ❤️ by the Airtable MCP community
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/glassBead-tc/effect-airtable-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server