Airtable数据库协议服务器

一个提供Airtable数据库读写访问的模型上下文协议服务器,支持LLM检查数据库架构并读写记录。

  • by clikvn
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 clikvn/airtable_mcp

使用说明

Airtable-MCP-服务器

一个模型上下文协议服务器,提供对Airtable数据库的读写访问权限。该服务器使大型语言模型(LLMs)能够检查数据库架构,然后读取和写入记录。

这个链接是 GitHub 上的一个用户附件资源地址,直接翻译其网址形式为中文并不常见,但可以解释其含义为:“GitHub 用户附件资源页面,具体资源标识为 c8285e76-d0ed-4018-94c7-20535db6c944”。不过,通常我们不会直接翻译网址,而是直接使用原网址或根据上下文进行描述

安装

第一步: 点击此处创建Airtable个人访问令牌详情:

  • 名称:任意您想要的,例如“Airtable MCP 服务器令牌”。
  • 范围: schema.bases:read, data.records:read,以及(可选地) schema.bases:write, data.records:write, data.recordComments:read,和 data.recordComments:write。
  • 访问:您想要访问的基座。如果您不确定,请选择“添加所有资源”。

随身携带这个令牌,下一步你会需要用到它。它应该看起来像这样: pat123.abc123 (但更长)。

第二步按照以下针对您所选客户端的说明操作:

Claude Desktop(可译为“Claude桌面版”或根据具体语境简化为“Claude桌面应用”)

(推荐)通过浏览器扩展程序

  1. 打开Claude桌面版,然后进入设置 → 扩展
  2. 点击“浏览扩展”并找到“Airtable MCP 服务器”
  3. 点击“安装”并粘贴您的API密钥

(高级)备选方案:通过手动安装.mcpb文件

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

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

  1. 安装 Node.js
  2. 打开Claude桌面版,进入设置 → 开发者选项
  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桌面版

光标

(推荐)通过一键安装

  1. 点击
  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"
      }
    }
  }
}

组件

工具

  • 列出记录

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

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

    • 列出所有可访问的Airtable数据库
    • 无需输入参数
    • 返回基础ID、名称和权限级别
  • 列出表(或:显示表列表)

    • 列出特定数据库中的所有表
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • detailLevel (字符串,可选):获取有关表格的详细程度(tableIdentifiersOnly, identifiersOnly或者 full)
    • 返回表ID、名称、描述、字段和视图(针对给定的 detailLevel)
  • 描述表

    • 获取特定表的详细信息
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • tableId (字符串,必填):要描述的表的ID
      • detailLevel (字符串,可选):获取关于表格的详细程度(tableIdentifiersOnly, identifiersOnly,或者 full)
    • 返回与 `list_tables` 相同的格式,但针对单个表
    • 有助于获取特定表的详细信息,而无需获取数据库中所有表的信息
  • 获取记录

    • 通过ID获取特定记录
    • 输入参数:
      • baseId (字符串,必填):Airtable 基础的ID
      • tableId (字符串,必填): 表的ID
      • recordId (字符串,必填):要检索的记录的ID
  • 创建记录

    • 在表中创建一条新记录
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • tableId (字符串,必填):表格的ID
      • fields (对象,必需):新记录的字段和值
  • 更新记录

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

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

    • 在数据库中创建一个新表
    • 输入参数:
      • baseId (字符串,必填):Airtable 基本信息的ID
      • name (字符串,必填):新表的名称
      • description (字符串,可选):表的描述
      • fields (数组,必需):字段定义的数组(名称、类型、描述、选项)
  • 更新表

    • 更新表的名称或描述
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • tableId (字符串,必填):表格的ID
      • name (字符串,可选):表的新名称
      • description (字符串,可选):表的新描述
  • 创建字段

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

    • 更新字段的名称或描述
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • tableId (字符串,必填):表的ID
      • fieldId (字符串,必填):字段的ID
      • name (字符串,可选):字段的新名称
      • description (字符串,可选):字段的新描述
  • 创建评论

    • 在记录上创建一个评论
    • 输入参数:
      • baseId (字符串,必填):Airtable 数据库的 ID
      • tableId (字符串,必填):表格的ID
      • recordId (字符串,必填):记录的ID
      • text (字符串,必填):评论文本
      • parentCommentId (字符串,可选):用于线程回复的父级评论ID
    • 返回创建的评论,包含ID、作者、创建时间和文本
  • 列出评论

    • 列出记录上的评论
    • 输入参数:
      • 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 注册表。