使用说明
无线mcp服务器
一个模型上下文协议服务器,提供对Airtable数据库的读写访问。此服务器使LLM能够检查数据库模式,然后读取和写入记录。
https://github.com/user-attachments/assets/c8285e76-d0ed-4018-94c7-20535db6c944
安装
按照以下说明操作 安装mcp,它为您的MCP客户端生成正确的配置(Claude Code、Claude Desktop、Cursor、Cline、VS Code等)。
您需要一个Airtable个人访问令牌-- 在此处创建一个 带示波器 schema.bases:read 和 data.records:read (以及可选 schema.bases:write, data.records:write, data.recordComments:read, data.recordComments:write),并访问您要使用的基地。它看起来有点像 pat123.abc123 (但时间更长)。设置为 AIRTABLE_API_KEY (替换生成的配置中的占位符)。
组件
工具
-
list_records
- 列出指定Airtable表中的记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):要查询的表的IDmaxRecords(number,可选):要返回的最大记录数。默认值为100。filterByFormula(字符串,可选):用于过滤记录的Airtable公式
-
搜索记录
- 搜索包含特定文本的记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):要查询的表的IDsearchTerm(字符串,必填):要在记录中搜索的文本fieldIds(数组,可选):要搜索的特定字段ID。如果没有提供,则搜索所有基于文本的字段。maxRecords(number,可选):要返回的最大记录数。默认值为100。
-
列表基
- 列出所有可访问的Airtable基地
- 无需输入参数
- 返回基本ID、名称和权限级别
-
list_tables
- 列出特定库中的所有表
- 输入参数:
baseId(string,必填):Airtable基座的IDdetailLevel(string,可选):要获取的有关表格的详细信息量(tableIdentifiersOnly,identifiersOnly,或full)
- 返回表ID、名称、描述、字段和视图(到给定的
detailLevel)
-
describe_table
- 获取特定表的详细信息
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):要描述的表的IDdetailLevel(string,可选):要获取的关于表格的详细信息量(tableIdentifiersOnly,identifiersOnly,或full)
- 返回与list_tables相同的格式,但针对单个表
- 有助于获取特定表的详细信息,而无需获取基中所有表的信息
-
获取记录
- 按ID获取特定记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDrecordId(string,必填):要检索的记录的ID
-
create_record
- 在表中创建新记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDfields(object,必填):新记录的字段和值
-
update_records
- 更新表中的一个或多个记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDrecords(array,必填):包含记录ID和要更新的字段的对象数组
-
删除记录
- 从表中删除一条或多条记录
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDrecordIds(array,必填):要删除的记录ID数组
-
create_table
- 在基中创建新表
- 输入参数:
baseId(string,必填):Airtable基座的IDname(string,必填):新表的名称description(字符串,可选):表的描述fields(array,必填):字段定义数组(名称、类型、描述、选项)
-
update_table
- 更新表的名称或描述
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDname(字符串,可选):表的新名称description(字符串,可选):表的新描述
-
create_field
- 在表中创建新字段
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDname(string,必填):新字段的名称type(string,必填):字段类型description(字符串,可选):字段描述options(对象,可选):特定于字段的选项
-
update_field
- 更新字段的名称或描述
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDfieldId(string,必填):字段的IDname(字符串,可选):字段的新名称description(字符串,可选):字段的新描述
-
创建注释
- 在记录上创建注释
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDrecordId(string,必填):记录的IDtext(string,必填):评论文本parentCommentId(字符串,可选):线程回复的父注释ID
- 返回创建的注释,包括ID、作者、创建时间和文本
-
list_注释
- 列出对记录的评论
- 输入参数:
baseId(string,必填):Airtable基座的IDtableId(string,必填):表的IDrecordId(string,必填):记录的IDpageSize(number,可选):要返回的评论数(最大100,默认100)offset(字符串,可选):用于检索其他注释的分页偏移量
- 返回包含作者、文本、时间戳、反应和提及的注释数组
- 评论从最新到最旧返回
HTTP传输
服务器还可以在HTTP模式下运行,以便与远程MCP客户端一起使用:
MCP_TRANSPORT=http PORT=3000 npx airtable-mcp-server
这将在以下位置启动无状态HTTP服务器 http://localhost:3000/mcp.
[!警告] HTTP传输没有内置身份验证,并且绑定到 本地主机或专用网络 不 安全边界 浏览器:恶意网站可以使用 DNS重新绑定 使访问者的浏览器向发送请求
http://localhost:3000/mcp并调用工具,包括读取、写入和删除记录-- 使用此服务器的Airtable令牌。仅在不受信任的调用者(包括 同一台机器或网络)无法连接
/mcp无需认证。 在实践中,这意味着将其置于反向代理或网关之后 这需要一个浏览器不会跨源附加的凭据,例如 作为一个Authorization头球如果您只想在同一台服务器上使用MCP客户端 机器,改用默认的stdio传输——它不会打开 港口。
贡献
GitHub上欢迎拉取请求!开始:
- 安装Git和Node.js
- 克隆存储库
- 安装依赖项
npm install - 跑
npm run test运行测试 - 建立
npm run build
- 你可以使用
npm run build:watch编辑后自动构建src/index.ts。这意味着您可以点击保存,重新加载Claude Desktop(使用Ctrl/Cmd+R),然后应用更改。
发布
版本遵循 语义版本规范.
要发布:
- 使用
npm version <major | minor | patch>升级版本 - 跑
git push --follow-tags使用标签推送 - 等待GitHub Actions发布到NPM注册表。