返回市场
空气表-MCP服务器

空气表-MCP服务器

作者:domdomegg351 星标更新:2025-11-20

项目介绍

airtable-mcp-server

这是一个提供对Airtable数据库读写访问的Model Context Protocol服务器。此服务器使LLMs能够检查数据库模式,然后读取和写入记录。

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

安装

步骤 1点击这里创建一个Airtable个人访问令牌。详情如下:

  • 名称:任何你喜欢的名字,例如“Airtable MCP Server Token”。
  • 范围:schema.bases:readdata.records:read,以及可选的schema.bases:writedata.records:writedata.recordComments:read,和data.recordComments:write
  • 访问:你想要访问的基础。如果你不确定,选择“添加所有资源”。

请保留该令牌,下一步会用到它。它看起来像这样pat123.abc123(但更长)。

步骤 2:根据你的客户端偏好,遵循以下说明:

Claude Desktop

(推荐)通过扩展浏览器

  1. 打开Claude Desktop并进入设置 → 扩展
  2. 点击“浏览扩展”,找到“Airtable MCP Server”
  3. 点击“安装”并粘贴你的API密钥

(高级)替代方案:通过手动.mcpb安装

  1. GitHub Actions历史记录中找到最新的mcpb构建(顶部的那个)
  2. 在“工件”部分,下载airtable-mcp-server-mcpb文件
  3. .zip文件重命名为.mcpb
  4. 双击.mcpb文件以Claude Desktop打开
  5. 点击“安装”并使用你的API密钥进行配置

(高级)替代方案:通过JSON配置

  1. 安装Node.js
  2. 打开Claude Desktop并进入设置 → 开发者
  3. 点击“编辑配置”以打开你的claude_desktop_config.json文件
  4. 在“mcpServers”部分添加以下配置,将pat123.abc123替换为你的API密钥:
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123",
      }
    }
  }
}
  1. 保存文件并重启Claude Desktop

Cursor

(推荐)通过一键安装

  1. 点击 安装MCP服务器
  2. 编辑你的mcp.json文件,插入你的API密钥

(高级)替代方案:通过JSON配置

创建一个全局(~/.cursor/mcp.json)或项目特定(.cursor/mcp.json)配置文件,将pat123.abc123替换为你的API密钥:

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

Cline

(推荐)通过市场

  1. 点击Cline扩展中的“MCP服务器”图标
  2. 搜索“Airtable”并点击“安装”
  3. 按照提示安装服务器

(高级)替代方案:通过JSON配置

  1. 点击Cline扩展中的“MCP服务器”图标
  2. 点击“已安装”标签,然后点击底部的“配置MCP服务器”按钮
  3. 在“mcpServers”部分添加以下配置,将pat123.abc123替换为你的API密钥:
{
  "mcpServers": {
    "airtable": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

组件

工具

  • list_records

    • 列出指定Airtable表中的记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):要查询的表的ID
      • maxRecords(数字,可选):返回的最大记录数,默认为100。
      • filterByFormula(字符串,可选):用于过滤记录的Airtable公式
  • search_records

    • 搜索包含特定文本的记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):要查询的表的ID
      • searchTerm(字符串,必需):要在记录中搜索的文本
      • fieldIds(数组,可选):要搜索的具体字段ID。如果没有提供,则搜索所有基于文本的字段。
      • maxRecords(数字,可选):返回的最大记录数,默认为100。
  • list_bases

    • 列出所有可访问的Airtable基础
    • 不需要输入参数
    • 返回基础ID、名称和权限级别
  • list_tables

    • 列出特定基础中的所有表
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • detailLevel(字符串,可选):关于表的详细程度(tableIdentifiersOnlyidentifiersOnlyfull
    • 返回表ID、名称、描述、字段和视图(给定的detailLevel
  • describe_table

    • 获取特定表的详细信息
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):要描述的表的ID
      • detailLevel(字符串,可选):关于表的详细程度(tableIdentifiersOnlyidentifiersOnlyfull
    • 返回与list_tables相同的格式,但针对单个表
    • 用于获取特定表的详细信息,而无需获取基础中所有表的信息
  • get_record

    • 根据ID获取特定记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • recordId(字符串,必需):要检索的记录的ID
  • create_record

    • 在表中创建新记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • fields(对象,必需):新记录的字段和值
  • update_records

    • 更新表中的一条或多条记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • records(数组,必需):包含记录ID和要更新的字段的对象数组
  • delete_records

    • 删除表中的一条或多条记录
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • recordIds(数组,必需):要删除的记录ID数组
  • create_table

    • 在基础中创建新表
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • name(字符串,必需):新表的名称
      • description(字符串,可选):表的描述
      • fields(数组,必需):字段定义数组(名称、类型、描述、选项)
  • update_table

    • 更新表的名称或描述
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • name(字符串,可选):表的新名称
      • description(字符串,可选):表的新描述
  • create_field

    • 在表中创建新字段
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • name(字符串,必需):新字段的名称
      • type(字符串,必需):字段的类型
      • description(字符串,可选):字段的描述
      • options(对象,可选):字段特定的选项
  • update_field

    • 更新字段的名称或描述
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • fieldId(字符串,必需):字段的ID
      • name(字符串,可选):字段的新名称
      • description(字符串,可选):字段的新描述
  • create_comment

    • 在记录上创建评论
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • recordId(字符串,必需):记录的ID
      • text(字符串,必需):评论文本
      • parentCommentId(字符串,可选):线程回复的父评论ID
    • 返回带有ID、作者、创建时间和文本的创建评论
  • list_comments

    • 列出记录上的评论
    • 输入参数:
      • baseId(字符串,必需):Airtable基础的ID
      • tableId(字符串,必需):表的ID
      • recordId(字符串,必需):记录的ID
      • pageSize(数字,可选):要返回的评论数量(最大100,默认100)
      • offset(字符串,可选):分页偏移量,用于检索更多评论
    • 返回带有作者、文本、时间戳、反应和提及的评论数组
    • 评论按最新到最旧的顺序返回

资源

服务器提供了Airtable基础和表的模式信息:

  • 表模式 (airtable://<baseId>/<tableId>/schema)
    • 每个表的JSON模式信息
    • 包括:
      • 基础ID和表ID
      • 表名和描述
      • 主字段ID
      • 字段定义(ID、名称、类型、描述、选项)
      • 视图定义(ID、名称、类型)
    • 自动从Airtable的元数据API发现

贡献

欢迎在GitHub上提交拉取请求!开始之前:

  1. 安装Git和Node.js
  2. 克隆仓库
  3. 使用npm install安装依赖
  4. 运行npm run test执行测试
  5. 使用npm run build构建
  • 你可以使用npm run build:watch在编辑src/index.ts后自动构建。这意味着你可以保存更改,重新加载Claude Desktop(使用Ctrl/Cmd+R),更改就会生效。

发布

版本遵循语义化版本规范

发布步骤:

  1. 使用npm version <major | minor | patch>增加版本号
  2. 运行git push --follow-tags推送带标签的代码
  3. 等待GitHub Actions将代码发布到NPM注册表。