Skip to main content
Glama
cipher416

Airtable MCP Server

by cipher416

Airtable MCP

An MCP (Model Context Protocol) server that provides tools for interacting with Airtable bases and schemas.

Overview

This project implements an xMCP application that allows AI assistants to interact with Airtable.

Related MCP server: Metabase MCP Server

Features

  • πŸ—ƒοΈ List all accessible Airtable bases

  • πŸ“‹ Retrieve detailed schema information for any base

  • πŸ”’ Secure authentication using Airtable API keys

  • πŸš€ Built with TypeScript and xMCP framework

  • πŸ”§ HTTP server support for easy integration

Prerequisites

  • Node.js >= 20.0.0

  • Airtable API key

  • Access to Airtable bases

Installation

  1. Clone the repository:

git clone <repository-url> cd airtable-mcp
  1. Install dependencies:

npm install
  1. Set up environment variables: Create a .env file in the root directory with:

AIRTABLE_API_KEY=your_airtable_api_key_here AIRTABLE_API_URL=https://api.airtable.com

Getting Started

Run the development server:

npm run dev

Build for production:

npm run build npm start

Available Tools

listBases

  • Description: List all Airtable bases owned by the user

  • Parameters: None

  • Returns: JSON array of bases with their metadata

getBaseSchema

  • Description: Get the schema of a specific Airtable base

  • Parameters:

    • baseId (string): The ID of the Airtable base

  • Returns: JSON object containing the base's table schemas

Scripts

  • npm run dev - Start development server with hot reload

  • npm run build - Build the project for production

  • npm start - Start the production HTTP server

  • npm run lint - Run TypeScript type checking

Project Structure

airtable-mcp/ β”œβ”€β”€ src/ β”‚ └── tools/ β”œβ”€β”€ package.json β”œβ”€β”€ xmcp.config.ts # xMCP configuration └── tsconfig.json # TypeScript configuration

This project uses the structured approach where tools are automatically discovered from the src/tools directory. Each tool is defined in its own file with the following structure:

import { type ToolMetadata, InferSchema } from "xmcp"; import { z } from "zod"; // Define the schema for tool parameters (optional) export const schema = { baseId: z.string(), }; // Define tool metadata export const metadata: ToolMetadata = { name: "getBaseSchema", description: "List the schema of the base owned by the user", annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, }; // Tool implementation export default async function getBaseSchema(args: InferSchema<typeof schema>) { // Implementation here }

Dependencies

  • airtable: Official Airtable JavaScript client

  • xmcp: xMCP framework for building MCP servers

  • zod: Runtime type validation

Learn More

-
security - not tested
F
license - not found
-
quality - not tested

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/cipher416/airtable-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server