ayyazzafar/mcp-baserow
If you are the rightful owner of mcp-baserow and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Baserow MCP Server is a Model Context Protocol server that integrates MCP-compatible clients with Baserow for AI-driven database operations using natural language.
Baserow MCP Server
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
-
Clone the repository:
git clone https://github.com/ayyazzafar/mcp-baserow.git cd mcp-baserow
-
Install dependencies:
npm install
-
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
-
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
Claude Desktop
-
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
- macOS:
-
Add the Baserow server:
{ "mcpServers": { "baserow": { "command": "/path/to/mcp-baserow/start.sh" } } }
Cursor
- Open Cursor settings
- Navigate to MCP Servers section
- Add:
{ "baserow": { "command": "/path/to/mcp-baserow/start.sh" } }
Windsurf
- Open Windsurf configuration
- Add to MCP servers:
{ "baserow": { "command": "/path/to/mcp-baserow/start.sh" } }
- 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
Authentication Tools (3)
baserow_auth_status
- Check authentication status and capabilitiesbaserow_auth_login
- Login with credentialsbaserow_auth_set_token
- Manually set JWT or database token
Workspace Tools (4)
baserow_list_workspaces
- List all workspacesbaserow_get_workspace
- Get workspace detailsbaserow_create_workspace
- Create new workspacebaserow_set_workspace
- Set active workspace for operations
Database Tools (3)
baserow_list_databases
- List databases in workspacebaserow_get_database
- Get database detailsbaserow_create_database
- Create new database
Table Tools (3)
baserow_list_tables
- List tables in databasebaserow_get_table
- Get table with field definitionsbaserow_create_table
- Create new table
Row Operations (8)
baserow_list_rows
- List rows with pagination/filteringbaserow_get_row
- Get single row by IDbaserow_create_row
- Create new rowbaserow_update_row
- Update existing rowbaserow_delete_row
- Delete rowbaserow_batch_create_rows
- Create multiple rowsbaserow_batch_update_rows
- Update multiple rowsbaserow_batch_delete_rows
- Delete multiple rows
๐งช Development
Setup Development Environment
# Install dependencies
npm install
# Run TypeScript compiler in watch mode
npm run dev
# Run tests (when available)
npm test
Project Structure
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
๐ค Contributing
We welcome contributions! Please see our for details.
Quick Start for Contributors
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
๐ Changelog
See for a list of changes in each version.
๐ Troubleshooting
Common Issues
-
"Authentication failed"
- Verify your credentials in
.env
- Ensure your Baserow account is active
- Check if you're using the correct API URL
- Verify your credentials in
-
"No workspace_id provided"
- Use
baserow_set_workspace
to set an active workspace - Or provide
workspace_id
parameter in database operations
- Use
-
"Server disconnected"
- Check your MCP client's logs:
- Claude Desktop:
~/Library/Logs/Claude/mcp-server-baserow.log
- Other clients: Check their respective log locations
- Claude Desktop:
- Ensure Node.js v22+ is installed
- Verify all dependencies are installed
- Check your MCP client's logs:
Debug Mode
Enable debug logging by setting:
export DEBUG=baserow:*
๐ License
This project is licensed under the MIT License - see the file for details.
๐ Acknowledgments
- Anthropic for the MCP specification
- Baserow for the excellent open-source database platform
- The MCP community for examples and best practices
๐ Links
Made with โค๏ธ by the open-source community