使用说明
基线MCP服务器
MCP(模型上下文协议)服务器,提供MCP兼容客户端(Claude Desktop、Cursor、Windsurf等)和Baserow之间的无缝集成,通过自然语言实现AI驱动的数据库操作。
🚀 特性
- 🔐 智能身份验证:使用凭据或手动JWT/数据库令牌自动刷新令牌
- 🏢 工作空间管理:列出、创建和管理Baserow工作区
- 🗄️ 数据库操作:完全控制工作区内的数据库
- 📊 表格管理:使用字段定义创建、列出和管理表
- 📝 行CRUD操作:完成创建、读取、更新、删除功能
- ⚡ 批量操作:创建、更新和删除行的高效批量操作
- 🔍 高级查询:分页、过滤和排序支持
- 💡 自然语言:使用简单的英语与数据库交互
📋 先决条件
🛠️ 安装
-
克隆存储库:
git clone https://github.com/ayyazzafar/mcp-baserow.git cd mcp-baserow -
安装依赖项:
npm install -
配置身份验证:
cp .env.example .env编辑
.env并添加您的凭据:# Recommended: Use credentials for automatic token refresh BASEROW_USERNAME=your@email.com BASEROW_PASSWORD=your_password # Optional: Override default API URL for self-hosted instances # BASEROW_API_URL=https://your-baserow-instance.com -
构建项目:
npm run build
🔑 身份验证选项
选项1:用户名/密码(推荐)
提供自动令牌刷新和API完全访问:
BASEROW_USERNAME=your@email.com
BASEROW_PASSWORD=your_password
选项2:JWT代币
对于手动令牌管理(60分钟后过期):
BASEROW_API_TOKEN=JWT_your_jwt_token_here
选项3:数据库令牌
对于特定于数据库的操作(范围有限,永不过期):
BASEROW_API_TOKEN=Token_your_database_token_here
⚙️ 配置
MCP客户端设置
Claude Desktop
-
打开配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
添加Baserow服务器:
{ "mcpServers": { "baserow": { "command": "/path/to/mcp-baserow/start.sh" } } }
Cursor
- 打开光标设置
- 导航到MCP服务器部分
- 添加:
{ "baserow": { "command": "/path/to/mcp-baserow/start.sh" } }
Windsurf
- 打开Windsurf配置
- 添加到MCP服务器:
{ "baserow": { "command": "/path/to/mcp-baserow/start.sh" } }
- 重新启动MCP客户端
📚 使用示例
自然语言命令
配置后,您可以在MCP客户端中使用自然语言:
- “显示我的所有Baserow工作区”
- “在我的工作区中创建一个名为“项目跟踪器”的新数据库”
- “列出项目跟踪器数据库中的所有表”
- 在“任务”表中添加标题为“审核PR”、状态为“进行中”的新行
- “更新任务表中的第5行,将其标记为已完成”
- “删除存档表中超过30天的所有行”
可用的MCP工具
Authentication Tools (3)
baserow_auth_status-检查身份验证状态和功能baserow_auth_login-使用凭据登录baserow_auth_set_token-手动设置JWT或数据库令牌
Workspace Tools (4)
baserow_list_workspaces-列出所有工作区baserow_get_workspace-获取工作区详细信息baserow_create_workspace-创建新工作区baserow_set_workspace-为操作设置活动工作区
Database Tools (3)
baserow_list_databases-列出工作区中的数据库baserow_get_database-获取数据库详细信息baserow_create_database-创建新数据库
Table Tools (3)
baserow_list_tables-列出数据库中的表baserow_get_table-获取包含字段定义的表baserow_create_table-创建新表
Row Operations (8)
baserow_list_rows-列出具有分页/筛选功能的行baserow_get_row-按ID获取单行baserow_create_row-创建新行baserow_update_row-更新现有行baserow_delete_row-删除行baserow_batch_create_rows-创建多行baserow_batch_update_rows-更新多行baserow_batch_delete_rows-删除多行
🧪 发展
设置开发环境
# Install dependencies
npm install
# Run TypeScript compiler in watch mode
npm run dev
# Run tests (when available)
npm test
项目结构
mcp-baserow/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── auth-manager.ts # Authentication handling
│ ├── baserow-client.ts # Baserow API client
│ ├── tools/ # MCP tool implementations
│ │ ├── auth.ts # Authentication tools
│ │ ├── workspace.ts # Workspace operations
│ │ ├── database.ts # Database operations
│ │ ├── table.ts # Table operations
│ │ └── row.ts # Row CRUD operations
│ └── types/ # TypeScript type definitions
├── dist/ # Compiled JavaScript
├── examples/ # Usage examples
└── tests/ # Test files
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
贡献者快速入门
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 更新日志
看 更改日志.md 查看每个版本的更改列表。
🐛 故障排除
常见问题
-
“身份验证失败”
- 在中验证您的凭据
.env - 确保您的Baserow帐户处于活动状态
- 检查您是否使用了正确的API URL
- 在中验证您的凭据
-
“未提供workspace_id”
- 使用
baserow_set_workspace设置活动工作区 - 或提供
workspace_id数据库操作中的参数
- 使用
-
“服务器已断开连接”
- 检查您的MCP客户端的日志:
- 克劳德桌面:
~/Library/Logs/Claude/mcp-server-baserow.log - 其他客户端:检查各自的日志位置
- 克劳德桌面:
- 确保已安装Node.js v22+
- 验证是否已安装所有依赖项
- 检查您的MCP客户端的日志:
调试模式
通过设置启用调试日志记录:
export DEBUG=baserow:*
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
🔗 链接
由以下材料制成❤️ 开源社区