使用说明
Airtable MCP 服务器
一个用于Airtable集成的全面模型上下文协议(MCP)服务器,提供工具以与Airtable数据库、表、记录和评论进行交互。
🚀 功能特性
可用工具
| 工具 | 描述 | 状态 |
|---|---|---|
AIRTABLE_CREATE_BASE |
创建基础配置(模拟) | ⚠️ 有限制 |
AIRTABLE_CREATE_COMMENT |
在记录上创建评论 | ✅ 正常工作 |
AIRTABLE_CREATE_FIELD |
在表中创建字段 | ✅ 正常工作 |
AIRTABLE_CREATE_MULTIPLE_RECORDS |
创建多条记录 | ✅ 正常工作 |
AIRTABLE_CREATE_RECORD |
创建单条记录 | ✅ 正常工作 |
AIRTABLE_CREATE_TABLE |
在数据库中创建表 | ✅ 正常工作 |
AIRTABLE_DELETE_COMMENT |
从记录中删除评论 | ✅ 工作正常 |
AIRTABLE_DELETE_MULTIPLE_RECORDS |
删除多条记录(最多10条) | ✅ 正常工作 |
AIRTABLE_DELETE_RECORD |
删除单条记录 | ✅ 正常工作 |
AIRTABLE_GET_BASE_SCHEMA |
获取基础架构信息 | ✅ 正常工作 |
AIRTABLE_GET_RECORD |
获取特定记录 | ✅ 正常工作 |
AIRTABLE_GET_USER_INFO |
获取已认证用户信息 | ✅ 正常工作 |
AIRTABLE_LIST_BASES |
列出可访问的基地 | ✅ 正常工作 |
AIRTABLE_LIST_COMMENTS |
列出记录的评论 | ✅ 正常工作 |
AIRTABLE_LIST_RECORDS |
过滤列出的记录 | ✅ 正常工作 |
AIRTABLE_UPDATE_MULTIPLE_RECORDS |
更新多条记录 | ✅ 正常工作 |
AIRTABLE_UPDATE_RECORD |
更新单条记录 | ✅ 正常工作 |
📋 先决条件
- Python 3.8 或更高版本
- 拥有API访问权限的Airtable账户
- 有效的Airtable API密钥
🛠️ 安装
-
克隆仓库:
git clone <repository-url> cd airtable-mcp -
安装依赖项:
pip install -r requirements.txt -
设置环境变量:
cp env.example .env -
配置您的
.env文件:# Airtable API Configuration AIRTABLE_API_KEY=your_airtable_api_key_here # Optional: Base ID for testing (if you have an existing base) AIRTABLE_BASE_ID=your_base_id_here
获取您的Airtable API密钥
- 首选 Airtable 账户
- 导航至“个人访问令牌”
- 点击“创建新令牌”
- 为其命名并选择范围:
data.records:readdata.records:writeschema.bases:readschema.bases:writewebhook:manage
- 将生成的令牌复制到您的
.env文件
🚀 使用方法
运行服务器
-
启动MCP服务器:
python airtable_mcp_server.py -
使用MCP Inspector:
- 安装MCP Inspector:
npm install -g @modelcontextprotocol/inspector - 运行:
mcp-inspector - 配置您的
mcp-config.json:
{ "mcpServers": { "airtable": { "command": "python", "args": ["airtable_mcp_server.py"], "cwd": "D:/clg files/PROJECTS/airtable-mcp", "env": { "AIRTABLE_API_KEY": "your_airtable_api_key_here" } } } } - 安装MCP Inspector:
示例用法
创建一条记录
{
"base_id": "appnJFyljOHYOYSji",
"table_id_or_name": "Simple Table",
"fields": "{\"Name\": \"New Task\", \"Status\": \"Pending\"}"
}
列出记录
{
"base_id": "appnJFyljOHYOYSji",
"table_id_or_name": "Simple Table",
"max_records": 10
}
更新一条记录
{
"base_id": "appnJFyljOHYOYSji",
"table_id_or_name": "Simple Table",
"record_id": "recXXXXXXXXXXXXXX",
"fields": "{\"Status\": \"Completed\"}"
}
📚 工具文档
创建AIRTABLE数据库
⚠️(警告或注意的符号,无具体文字含义,可理解为“小心”或“注意”) 重要的这个工具仅验证配置并返回模拟响应。Airtable API不支持通过编程创建数据库。
参数:
name(str): 基地名称tables(str): 包含表格配置的JSON字符串workspace_id(字符串): 工作区ID
示例:
{
"name": "My Project Base",
"tables": "[{\"name\": \"Tasks\", \"fields\": [{\"name\": \"Task Name\", \"type\": \"singleLineText\"}]}]",
"workspace_id": "wspXXXXXXXXXXXXXX"
}
AIRTABLE_CREATE_RECORD 翻译为中文是:“在AIRTABLE中创建记录”
在表中创建一条新记录。
参数:
base_id(字符串): 基本IDtable_id_or_name(str): 表ID或名称fields(str): 包含字段值的JSON字符串
示例:
{
"base_id": "appnJFyljOHYOYSji",
"table_id_or_name": "Simple Table",
"fields": "{\"Name\": \"New Task\", \"Status\": \"Pending\"}"
}
AIRTABLE列表记录
列出记录,并提供过滤和分页选项。
参数:
base_id(str): 基本IDtable_id_or_name(字符串): 表ID或名称max_records(int): 要返回的最大记录数(默认:0 = 无限制)filter_by_formula(字符串): 过滤公式sort(str): 包含排序配置的JSON字符串
示例:
{
"base_id": "appnJFyljOHYOYSji",
"table_id_or_name": "Simple Table",
"max_records": 5,
"filter_by_formula": "{Status} = 'Pending'"
}
🔧 配置
MCP 检查器配置
创建 mcp-config.json:
{
"mcpServers": {
"airtable": {
"command": "python",
"args": ["airtable_mcp_server.py"],
"cwd": "D:/clg files/PROJECTS/airtable-mcp",
"env": {
"AIRTABLE_API_KEY": "your_airtable_api_key_here"
}
}
}
}
环境变量
| 变量 | 描述 | 必需 |
|---|---|---|
AIRTABLE_API_KEY 您的Airtable API密钥 |
是 | |
AIRTABLE_BASE_ID |
测试时的默认基础ID | 否 |
🚨 重要限制
AIRTABLE_CREATE_BASE 的限制
- 无法创建真实基础 Airtable API不支持此功能
- 返回模拟响应 - 仅验证配置
- 需要手动创建 - 使用Airtable网页界面
API 速率限制
- 每秒5个请求 每碱基(或每碱基对,根据上下文具体含义可能有所不同)
- 速率限制 自动处理
- 429错误 将尝试使用退避策略重新发送
记录限制
- 删除多条记录每次请求最多可获取10条记录
- 创建多条记录没有具体限制,但需考虑性能
- 列出记录支持分页功能
offset参数
🛠️ 故障排除
常见问题
-
认证错误
Airtable API Error: AUTHENTICATION_REQUIRED- 检查你的
AIRTABLE_API_KEY在.env文件 - 验证API密钥是否具有正确的权限范围
- 检查你的
-
未找到基准
Airtable API Error: INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND- 验证基础ID是否正确
- 检查你是否能访问基础(或:底座/数据库/基础系统等,具体含义需根据上下文确定)
-
请求超时
MCP error -32001: Request timed out- 检查你的网络连接
- 验证Airtable API是否可访问
调试模式
通过设置环境变量启用调试日志记录:
export AIRTABLE_DEBUG=true
📝 字段类型参考
| 类型 | 描述 | 所需选项 |
|---|---|---|
| 项目 | 英文名称 | 中文翻译 |
| 单行文本 | 否 | multilineText |
| 多行文本 | 否 | singleSelect |
| 单选 | 是(选项) | multipleSelects |
| 多选 | 是(选项) | number |
| 序号 | 编号 | date |
| 日期 | 编号 | checkbox |
| 真/假 | 否 | email |
| 电子邮件地址 | 否 | url |
