Registry / llm-agents / airtable-mcp-server

airtable-mcp-server

JSON →
library1.13.0jsnpmunverified

The `airtable-mcp-server` package provides a Model Context Protocol (MCP) server designed to enable Large Language Models (LLMs) with read and write access to Airtable databases. It exposes a set of tools allowing LLMs to inspect Airtable schemas, then read and write records. The current stable version is 1.13.0, indicating a pre-1.x release cadence focusing on feature additions and minor fixes, with frequent patch and minor updates. Key differentiators include its adherence to the Model Context Protocol, providing structured access to Airtable via LLMs, and its ease of deployment via `npx` or integration with platforms like Claude Desktop, Cursor, and Cline. It handles schema inspection, record manipulation, and attachment uploads, abstracting Airtable's API for AI agents.

llm-agentscrm-productivitydatabase
npm install airtable-mcp-server
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

startServer
import { startServer } from 'airtable-mcp-server';
const { startServer } = require('airtable-mcp-server');
Primarily an ESM module. `startServer` is the main function for programmatic server instantiation.
ServerConfig
import type { ServerConfig } from 'airtable-mcp-server';
TypeScript type for configuring the server, useful for programmatic setup.
AirtableOptions
import type { AirtableOptions } from 'airtable-mcp-server';
TypeScript type defining options for Airtable API interaction, typically part of `ServerConfig`.

This quickstart demonstrates how to programmatically start the Airtable MCP server using its `startServer` function, configuring it with an Airtable API key and an optional base ID, and setting up a basic shutdown handler.

import { startServer } from 'airtable-mcp-server'; const PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000; const AIRTABLE_API_KEY = process.env.AIRTABLE_API_KEY ?? ''; const AIRTABLE_BASE_ID = process.env.AIRTABLE_BASE_ID ?? ''; async function main() { if (!AIRTABLE_API_KEY) { console.error('AIRTABLE_API_KEY environment variable is required.'); process.exit(1); } console.log(`Starting Airtable MCP server on port ${PORT}...`); try { const server = await startServer({ port: PORT, airtableApiKey: AIRTABLE_API_KEY, airtableBaseIds: AIRTABLE_BASE_ID ? [AIRTABLE_BASE_ID] : [], // Optional: specify base IDs // Additional configuration options can be added here }); console.log(`Airtable MCP server listening at http://localhost:${PORT}`); // Optional: Graceful shutdown process.on('SIGTERM', () => { console.log('SIGTERM signal received: closing HTTP server'); server.close(() => { console.log('HTTP server closed'); }); }); } catch (error) { console.error('Failed to start server:', error); process.exit(1); } } main();
airtable-mcp-server --version
Debug
Known issues
breakingThe package underwent a 'Refactor to modern MCP SDK architecture'. Users relying on internal structures or extending the server's previous architecture may experience breaking changes.
fix
Review the new MCP SDK architecture and update any custom server logic or extensions to align with the changes introduced in v1.9.6.
affects: >=1.9.6
gotchaPreviously, the `express.json()` body size limit could cause issues with large payloads, leading to silent failures or unexpected behavior when writing extensive records or attachments.
fix
Upgrade to v1.13.0 or newer to benefit from the fix that addresses body size limits. If on an older version and unable to upgrade, manual configuration of `express.json({ limit: '...' })` might be necessary if running programmatically.
affects: <1.13.0
gotchaThe `createRecord` and `updateRecords` functions now include `typecast: true` by default. This change affects how data types are handled during write operations, potentially coercing values if the provided data does not strictly match Airtable field types.
fix
Review your data payloads for `createRecord` and `updateRecords` operations to ensure they are compatible with Airtable's typecasting behavior. Adjust data types if unintended coercions occur.
affects: >=1.12.0
deprecatedThe `server.json` schema was updated to 'MCP registry schema 2025-10-17'. While not directly breaking for the server's runtime, integrators or tools relying on the older schema for metadata may experience issues.
fix
Update any tools or configurations that consume the server's `server.json` metadata to conform to the new schema introduced in v1.9.1.
affects: <1.9.1
Errors
Common errors & fixes
AIRTABLE_API_KEY environment variable is required.
The server was started without the necessary Airtable Personal Access Token configured in the environment variables.
fix
Set the `AIRTABLE_API_KEY` environment variable with a valid Airtable Personal Access Token (e.g., `export AIRTABLE_API_KEY='pat123.abc123'`). Ensure the token has appropriate scopes and access to the desired bases.
Failed to handle large payload: Request body too large
An attempt was made to send a large data payload (e.g., many records or a large attachment) to the server, exceeding the configured `express.json()` body size limit.
fix
Upgrade to `airtable-mcp-server` v1.13.0 or newer. If running an older version programmatically, you might need to manually configure the `express.json` middleware with a larger `limit` option.
OAuth metadata startup error
An issue occurred during server startup related to the `smithery.yaml` entry point for OAuth metadata.
fix
This issue was resolved in v1.10.0. Ensure you are using `airtable-mcp-server` v1.10.0 or newer.
Upgrade
Version history
1.13.0latest on PyPI
Audit
Dependencies
@modelcontextprotocol/sdkrequiredCore dependency for implementing the Model Context Protocol, vital for server functionality.
expressrequiredUsed as the underlying web server framework for handling HTTP requests.
airtablerequiredThe official Airtable API client, essential for interacting with Airtable databases.
Agent activity
73 hits · last 30 days
node
8
claudebot
4
ahrefsbot
3
amazonbot
1
bytedance
1
Resources