Airtable

平台与服务

by domdomegg

提供对 Airtable 数据库 schemas、tables 与 records 的读写访问,便于管理结构与数据内容。

把 Airtable 当轻量数据库来管时很顺手,既能直接读写 schema、表和记录,也方便统一维护结构与业务数据。

什么是 Airtable

提供对 Airtable 数据库 schemas、tables 与 records 的读写访问,便于管理结构与数据内容。

README

airtable-mcp-server

A Model Context Protocol server that provides read and write access to Airtable databases. This server enables LLMs to inspect database schemas, then read and write records.

https://github.com/user-attachments/assets/c8285e76-d0ed-4018-94c7-20535db6c944

Installation

Follow the instructions on install-mcp, which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).

You'll need an Airtable personal access token — create one here with scopes schema.bases:read and data.records:read (and optionally schema.bases:write, data.records:write, data.recordComments:read, data.recordComments:write), and access to the bases you want to use. It looks something like pat123.abc123 (but longer). Set it as AIRTABLE_API_KEY (replacing the placeholder in the generated config).

Components

Tools

  • list_records

    • Lists records from a specified Airtable table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to query
      • maxRecords (number, optional): Maximum number of records to return. Defaults to 100.
      • filterByFormula (string, optional): Airtable formula to filter records
  • search_records

    • Search for records containing specific text
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to query
      • searchTerm (string, required): Text to search for in records
      • fieldIds (array, optional): Specific field IDs to search in. If not provided, searches all text-based fields.
      • maxRecords (number, optional): Maximum number of records to return. Defaults to 100.
  • list_bases

    • Lists all accessible Airtable bases
    • No input parameters required
    • Returns base ID, name, and permission level
  • list_tables

    • Lists all tables in a specific base
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • detailLevel (string, optional): The amount of detail to get about the tables (tableIdentifiersOnly, identifiersOnly, or full)
    • Returns table ID, name, description, fields, and views (to the given detailLevel)
  • describe_table

    • Gets detailed information about a specific table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table to describe
      • detailLevel (string, optional): The amount of detail to get about the table (tableIdentifiersOnly, identifiersOnly, or full)
    • Returns the same format as list_tables but for a single table
    • Useful for getting details about a specific table without fetching information about all tables in the base
  • get_record

    • Gets a specific record by ID
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record to retrieve
  • create_record

    • Creates a new record in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • fields (object, required): The fields and values for the new record
  • update_records

    • Updates one or more records in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • records (array, required): Array of objects containing record ID and fields to update
  • delete_records

    • Deletes one or more records from a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordIds (array, required): Array of record IDs to delete
  • create_table

    • Creates a new table in a base
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • name (string, required): Name of the new table
      • description (string, optional): Description of the table
      • fields (array, required): Array of field definitions (name, type, description, options)
  • update_table

    • Updates a table's name or description
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • name (string, optional): New name for the table
      • description (string, optional): New description for the table
  • create_field

    • Creates a new field in a table
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • name (string, required): Name of the new field
      • type (string, required): Type of the field
      • description (string, optional): Description of the field
      • options (object, optional): Field-specific options
  • update_field

    • Updates a field's name or description
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • fieldId (string, required): The ID of the field
      • name (string, optional): New name for the field
      • description (string, optional): New description for the field
  • create_comment

    • Creates a comment on a record
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record
      • text (string, required): The comment text
      • parentCommentId (string, optional): Parent comment ID for threaded replies
    • Returns the created comment with ID, author, creation time, and text
  • list_comments

    • Lists comments on a record
    • Input parameters:
      • baseId (string, required): The ID of the Airtable base
      • tableId (string, required): The ID of the table
      • recordId (string, required): The ID of the record
      • pageSize (number, optional): Number of comments to return (max 100, default 100)
      • offset (string, optional): Pagination offset for retrieving additional comments
    • Returns comments array with author, text, timestamps, reactions, and mentions
    • Comments are returned from newest to oldest

HTTP Transport

The server can also run in HTTP mode for use with remote MCP clients:

bash
MCP_TRANSPORT=http PORT=3000 npx airtable-mcp-server

This starts a stateless HTTP server at http://localhost:3000/mcp. Note: HTTP transport has no built-in authentication - only use behind a reverse proxy or in a secured environment.

Contributing

Pull requests are welcomed on GitHub! To get started:

  1. Install Git and Node.js
  2. Clone the repository
  3. Install dependencies with npm install
  4. Run npm run test to run tests
  5. Build with npm run build
  • You can use npm run build:watch to automatically build after editing src/index.ts. This means you can hit save, reload Claude Desktop (with Ctrl/Cmd+R), and the changes apply.

Releases

Versions follow the semantic versioning spec.

To release:

  1. Use npm version <major | minor | patch> to bump the version
  2. Run git push --follow-tags to push with tags
  3. Wait for GitHub Actions to publish to the NPM registry.

常见问题

Airtable 是什么?

提供对 Airtable 数据库 schemas、tables 与 records 的读写访问,便于管理结构与数据内容。

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描157.8k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描157.8k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描19.8k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
88.0k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
67.9k

评论