Baserow MCP Server
About
MCP server for Baserow API integration - Enable AI assistants to interact with Baserow databases
Details
- License
- MIT license
Explore
- π Smart Authentication: Automatic token refresh with credentials or manual JWT/database tokens
- π’ Workspace Management: List, create, and manage Baserow workspaces
- ποΈ Database Operations: Full control over databases within workspaces
- π Table Management: Create, list, and manage tables with field definitions
- π Row CRUD Operations: Complete Create, Read, Update, Delete functionality
- β‘ Batch Operations: Efficient bulk operations for creating, updating, and deleting rows
- π Advanced Queries: Pagination, filtering, and sorting support
- π‘ Natural Language: Use plain English to interact with your databases
- Node.js v22+ (install via nvm)
- An MCP-compatible client:
- Claude Desktop
- Cursor
- Windsurf
- Any other MCP-compatible AI editor
- Baserow account (self-hosted or cloud)
1. Clone the repository:
git clone https://github.com/ayyazzafar/mcp-baserow.git
cd mcp-baserow
2. Install dependencies:
npm install
3. Configure authentication:
cp .env.example .env
Edit
.env and add your credentials:
<details>
<summary>Claude Desktop</summary>
1. Open configuration:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json
2. Add the Baserow server:
json{
"mcpServers": {
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
}
</details>
<details>
<summary>Cursor</summary>
1. Open Cursor settings
2. Navigate to MCP Servers section
3. Add:
json{
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
</details>
<details>
<summary>Windsurf</summary>
1. Open Windsurf configuration
2. Add to MCP servers:
json{
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
</details>
3. Restart your MCP client
bash
npm install
1. Fork the repository
2. Create your feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add some amazing feature')
4. Push to the branch (git push origin feature/amazing-feature)
5. Open a Pull Request
baserow_auth_status
Check authentication status and capabilities
baserow_auth_login
Login with credentials
baserow_auth_set_token
Manually set JWT or database token
baserow_list_workspaces
List all workspaces
baserow_get_workspace
Get workspace details
baserow_create_workspace
Create new workspace
baserow_set_workspace
Set active workspace for operations
baserow_list_databases
List databases in workspace
baserow_get_database
Get database details
baserow_create_database
Create new database
baserow_list_tables
List tables in database
baserow_get_table
Get table with field definitions
baserow_create_table
Create new table
baserow_list_rows
List rows with pagination/filtering
baserow_get_row
Get single row by ID
baserow_create_row
Create new row
baserow_update_row
Update existing row
baserow_delete_row
Delete row
baserow_batch_create_rows
Create multiple rows
baserow_batch_update_rows
Update multiple rows
baserow_batch_delete_rows
Delete multiple rows
<details>
<summary>Authentication Tools (3)</summary>
- baserow_auth_status - Check authentication status and capabilities
- baserow_auth_login - Login with credentials
- baserow_auth_set_token - Manually set JWT or database token
</details>
<details>
<summary>Workspace Tools (4)</summary>
- baserow_list_workspaces - List all workspaces
- baserow_get_workspace - Get workspace details
- baserow_create_workspace - Create new workspace
- baserow_set_workspace - Set active workspace for operations
</details>
<details>
<summary>Database Tools (3)</summary>
- baserow_list_databases - List databases in workspace
- baserow_get_database - Get database details
- baserow_create_database - Create new database
</details>
<details>
<summary>Table Tools (3)</summary>
- baserow_list_tables - List tables in database
- baserow_get_table - Get table with field definitions
- baserow_create_table - Create new table
</details>
<details>
<summary>Row Operations (8)</summary>
- baserow_list_rows - List rows with pagination/filtering
- baserow_get_row - Get single row by ID
- baserow_create_row - Create new row
- baserow_update_row - Update existing row
- baserow_delete_row - Delete row
- baserow_batch_create_rows - Create multiple rows
- baserow_batch_update_rows - Update multiple rows
- baserow_batch_delete_rows - Delete multiple rows
</details>
An MCP (Model Context Protocol) server that provides seamless integration between MCP-compatible clients (Claude Desktop, Cursor, Windsurf, etc.) and Baserow, enabling AI-powered database operations through natural language.
π Features
- π Smart Authentication: Automatic token refresh with credentials or manual JWT/database tokens
- π’ Workspace Management: List, create, and manage Baserow workspaces
- ποΈ Database Operations: Full control over databases within workspaces
- π Table Management: Create, list, and manage tables with field definitions
- π Row CRUD Operations: Complete Create, Read, Update, Delete functionality
- β‘ Batch Operations: Efficient bulk operations for creating, updating, and deleting rows
- π Advanced Queries: Pagination, filtering, and sorting support
- π‘ Natural Language: Use plain English to interact with your databases
π Prerequisites
- Node.js v22+ (install via nvm)
- An MCP-compatible client:
- Claude Desktop
- Cursor
- Windsurf
- Any other MCP-compatible AI editor
- Baserow account (self-hosted or cloud)
π οΈ Installation
1. Clone the repository:
git clone https://github.com/ayyazzafar/mcp-baserow.git
cd mcp-baserow
2. Install dependencies:
npm install
3. Configure authentication:
cp .env.example .env
Edit
.env and add your credentials: # Recommended: Use credentials for automatic token refresh
[email protected]
BASEROW_PASSWORD=your_password
# Optional: Override default API URL for self-hosted instances
# BASEROW_API_URL=https://your-baserow-instance.com
4. Build the project:
npm run build
π Authentication Options
Option 1: Username/Password (Recommended)
Provides automatic token refresh and full API access:[email protected]
BASEROW_PASSWORD=your_password
Option 2: JWT Token
For manual token management (expires after 60 minutes):BASEROW_API_TOKEN=JWT_your_jwt_token_here
Option 3: Database Token
For database-specific operations (limited scope, never expires):BASEROW_API_TOKEN=Token_your_database_token_here
βοΈ Configuration
MCP Client Setup
<details>
<summary>Claude Desktop</summary>
1. Open configuration:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json
2. Add the Baserow server:
{
"mcpServers": {
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
}
</details>
<details>
<summary>Cursor</summary>
1. Open Cursor settings
2. Navigate to MCP Servers section
3. Add:
{
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
</details>
<details>
<summary>Windsurf</summary>
1. Open Windsurf configuration
2. Add to MCP servers:
{
"baserow": {
"command": "/path/to/mcp-baserow/start.sh"
}
}
</details>
3. Restart your MCP client
π Usage Examples
Natural Language Commands
Once configured, you can use natural language in your MCP client:
- "Show me all my Baserow workspaces"
- "Create a new database called 'Project Tracker' in my workspace"
- "List all tables in the Project Tracker database"
- "Add a new row to the Tasks table with title 'Review PR' and status 'In Progress'"
- "Update row 5 in the Tasks table to mark it as completed"
- "Delete all rows in the Archive table that are older than 30 days"
Available MCP Tools
<details>
<summary>Authentication Tools (3)</summary>
- baserow_auth_status - Check authentication status and capabilities
- baserow_auth_login - Login with credentials
- baserow_auth_set_token - Manually set JWT or database token
</details>
<details>
<summary>Workspace Tools (4)</summary>
- baserow_list_workspaces - List all workspaces
- baserow_get_workspace - Get workspace details
- baserow_create_workspace - Create new workspace
- baserow_set_workspace - Set active workspace for operations
</details>
<details>
<summary>Database Tools (3)</summary>
- baserow_list_databases - List databases in workspace
- baserow_get_database - Get database details
- baserow_create_database - Create new database
</details>
<details>
<summary>Table Tools (3)</summary>
- baserow_list_tables - List tables in database
- baserow_get_table - Get table with field definitions
- baserow_create_table - Create new table
</details>
<details>
<summary>Row Operations (8)</summary>
- baserow_list_rows - List rows with pagination/filtering
- baserow_get_row - Get single row by ID
- baserow_create_row - Create new row
- baserow_update_row - Update existing row
- baserow_delete_row - Delete row
- baserow_batch_create_rows - Create multiple rows
- baserow_batch_update_rows - Update multiple rows
- baserow_batch_delete_rows - Delete multiple rows
</details>
π§ͺ Development
Setup Development Environment
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



