Skip to main content
Glama

Airtable MCP Server

by cipher416
README.md•2.97 kB
# 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. ## 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: ```bash git clone <repository-url> cd airtable-mcp ``` 2. Install dependencies: ```bash npm install ``` 3. Set up environment variables: Create a `.env` file in the root directory with: ```env AIRTABLE_API_KEY=your_airtable_api_key_here AIRTABLE_API_URL=https://api.airtable.com ``` ## Getting Started Run the development server: ```bash npm run dev ``` Build for production: ```bash 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: ```typescript 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 - [xmcp Documentation](https://xmcp.dev/docs) - [Airtable API Documentation](https://airtable.com/developers/web/api/introduction)

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