小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
113
最近更新:2个月前

🗂️🤖 Airtable 模型上下文协议服务器,允许 AI 系统与您的 Airtable 数据库进行交互

airtable-mcp-server

smithery badge

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

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

使用方法

要在 Claude Desktop 应用程序中使用此服务器,请将以下配置添加到 claude_desktop_config.json 文件的 "mcpServers" 部分:

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

pat123.abc123 替换为您的 Airtable 个人访问令牌。您的令牌应至少具有 schema.bases:readdata.records:read 权限,并可选择相应的写入权限。

组件

工具

  • 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(字符串,可选):字段的新描述

资源

服务器提供 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 注册表。