基线MCP服务器
   ](https://nodejs.org/)
MCP(模型上下文协议)服务器,提供MCP兼容客户端(Claude Desktop、Cursor、Windsurf等)和Baserow之间的无缝集成,通过自然语言实现AI驱动的数据库操作。
🚀 特性
- 🔐 智能身份验证:使用凭据或手动JWT/数据库令牌自动刷新令牌
- 🏢 工作空间管理:列出、创建和管理Baserow工作区
- 🗄️ 数据库操作:完全控制工作区内的数据库
- 📊 表格管理:使用字段定义创建、列出和管理表
- 📝 行CRUD操作:完成创建、读取、更新、删除功能
- ⚡ 批量操作:创建、更新和删除行的高效批量操作
- 🔍 高级查询:分页、过滤和排序支持
- 💡 自然语言:使用简单的英语与数据库交互
📋 先决条件
- Node.js v22+(通过安装 节点版本管理器)
- MCP兼容客户端:
- 克劳德桌面 - 光标 - 帆板运动 - 任何其他兼容MCP的AI编辑器
- 基线 帐户(自托管或云)
🛠️ 安装
- 克隆存储库:
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
- 添加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+ - 验证是否已安装所有依赖项
调试模式
通过设置启用调试日志记录:
export DEBUG=baserow:*📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
🔗 链接
______________________________________________________________________
由以下材料制成❤️ 开源社区
