Baserow MCP Server

by ayyazzafar

368 downloads
Not rated
GitHub

About

MCP server for Baserow API integration - Enable AI assistants to interact with Baserow databases

Details

Author
ayyazzafar
Downloads
368
Categories
Other, Automation, Database, AI

- Automatic token refresh with username/password credentials
- Workspace management: list, create, get details
- Database and table management within workspaces
- Full row CRUD operations with batch support
- Advanced queries: pagination, filtering, sorting
- Natural language interaction through MCP clients

Install Node.js v22+, clone the repository, run npm install, configure authentication in .env (username/password, JWT token, or database token), build with npm run build, then add the server to your MCP client’s configuration file. Supported clients include Claude Desktop, Cursor, and Windsurf; restart the client after configuration.

Baserow MCP Server

MCP
License: MIT
TypeScript
Node.js

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
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

4. Build the project:

   npm run build

πŸ”‘ Authentication Options

Option 1: Username/Password (Recommended)

Provides automatic token refresh and full API access:
BASEROW_USERNAME=your@email.com
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

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.