publicDatabaseJan 1, 20260 calls

Airtable MCP Template

Curated MCP template for bases, tables, records, and lightweight internal tools.

Hosted MCP endpoint

/api/mcp/preset-airtable

Private servers require an Astrail API key in the Authorization header.

MCP client snippets

Claude Desktop config

{
  "mcpServers": {
    "airtable-mcp-template": {
      "url": "/api/mcp/preset-airtable"
    }
  }
}

cURL initialize

curl -sS -X POST "/api/mcp/preset-airtable" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

cURL tools/list

curl -sS -X POST "/api/mcp/preset-airtable" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

cURL tools/call

curl -sS -X POST "/api/mcp/preset-airtable" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"airtable_list_records","arguments":{"base_id":1,"table_id":1}}}'

Runtime behavior

Runtime healthneeds_mapping
Endpoint healthnot_checked
Execution modemapping_required
Deterministic executionNot yet executable
Generated sourceExport only
Endpoint mapRequired
Endpoint mappedNo
Auth-required endpointsNone detected
Browser runtime endpointsNone detected
Last statusnot recorded
Last execution modenot recorded
Last toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace IDnot recorded
Error codenone
Observabilitystructured fallback
Rate limit modestandard
Missing authauth_required
Missing mappingmapping_required

Astrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.

Tools

airtable_list_records

List Airtable records from a base and table with optional filters.

airtable_create_record

Create an Airtable record using structured fields.

airtable_update_record

Update fields on an existing Airtable record.

server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "Airtable MCP Template", version: "1.0.0" });

// Curated Astrail template. Add the provider API token and replace the
// placeholder handlers with real fetch calls for: airtable_list_records, airtable_create_record, airtable_update_record.

server.tool("template_status", "Confirm this curated MCP template is installed.", z.object({}), async () => ({
  content: [{ type: "text", text: "Template installed. Add provider credentials to enable live API calls." }],
}));

const transport = new StdioServerTransport();
await server.connect(transport);