- Home
- MCP servers
- Airtable OAuth
Airtable OAuth
- python
3
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
This MCP server provides secure OAuth 2.0 authentication to access Airtable bases through a standardized Model Context Protocol interface. It offers complete Airtable API coverage via a production‑ready, fast MCP framework, and supports both STDIO and HTTP transport modes for flexible deployment and integration.
How to use
You connect your MCP client to the Airtable OAuth MCP Server to perform Airtable operations. Start by running the local STDIO server or the HTTP server, authenticate through OAuth with Airtable, and then call the MCP tools to interact with your bases, tables, and records. All tool calls use typed parameters for clarity and IDE support.
Key usage flow after authentication: you list bases, inspect tables, and perform record operations such as creating, updating, querying, and deleting records. You can apply filters and sorting to queries, and you can request specific fields to minimize payloads. If you need to discover table schemas, use the schema discovery tools to fetch table descriptions and base details.
Note: When testing, you can use the MCP Inspector to validate the HTTP transport and OAuth flow. Start the HTTP server, then connect to the MCP URL and proceed with the OAuth sign‑in flow to authorize Airtable access.
How to install
Prerequisites you need before installation: Python 3.11 or newer, the uv package manager, and an Airtable Developer Account to create an OAuth application.
- Clone the project and install dependencies. Then install the MCP server locally using the provided tooling.
git clone https://github.com/onimsha/airtable-mcp-server-oauth.git
cd airtable-mcp-server-oauth
uv sync
Configuration and runtime
Configure OAuth and server parameters in a local environment file. The following environment variables are used to enable Airtable OAuth and to run the server, including host, port, and logging settings.
# Airtable OAuth Configuration
AIRTABLE_CLIENT_ID="your_airtable_client_id_here"
AIRTABLE_CLIENT_SECRET="your_airtable_client_secret_here"
AIRTABLE_REDIRECT_URI="http://localhost:8000/oauth/callback"
# Server Configuration
HOST="0.0.0.0"
PORT=8000
LOG_LEVEL="INFO"
Starting the server
Choose either STDIO or HTTP transport to start the server. You can run one of the following commands to start each transport.
# STDIO Transport (default)
uv run python -m airtable_mcp
# Option to run the optimized variant if provided
uv run airtable-oauth-mcp
# HTTP Transport
uv run python -m airtable_mcp http
# or with a custom host/port
uv run python -m airtable_mcp http localhost 8001
Tools and interactions
The server exposes a set of MCP tools to manage Airtable resources. Each tool uses clearly typed parameters to improve clarity and client integration.
Troubleshooting and tips
If you encounter OAuth sign‑in issues, verify that your Airtable OAuth application is configured with the correct Client ID, Client Secret, and Redirect URI. Ensure the redirect URI matches the one configured in Airtable. Check that the server host and port are reachable from your client, and review the log level for detailed messages.
Available tools
list_bases
List all accessible Airtable bases you can query and manage
list_tables
List tables within a specified base, with optional detail level
describe_table
Get detailed schema information for a specific table
list_records
List records with optional view, filter, sort, and field selection
get_record
Retrieve a specific record by its ID
create_record
Create a single record with provided fields and optional type casting
create_records
Create multiple records in bulk with optional type casting
update_records
Update multiple records with new field values and optional type casting
delete_records
Delete multiple records by their IDs
search_records
Search records using a formula, with optional view and field selections