Skip to main content
Glama
raymatos

Baserow MCP Server

by raymatos

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

Related MCP server: Supabase MCP Server

๐Ÿ“‹ Prerequisites

๐Ÿ› ๏ธ 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

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

  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"
        }
      }
    }
  1. Open Cursor settings

  2. Navigate to MCP Servers section

  3. Add:

    {
      "baserow": {
        "command": "/path/to/mcp-baserow/start.sh"
      }
    }
  1. Open Windsurf configuration

  2. Add to MCP servers:

    {
      "baserow": {
        "command": "/path/to/mcp-baserow/start.sh"
      }
    }
  1. 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

  • 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

๐Ÿงช 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 Contributing Guidelines for details.

Quick Start for Contributors

  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

๐Ÿ“ Changelog

See CHANGELOG.md for a list of changes in each version.

๐Ÿ› Troubleshooting

Common Issues

  1. "Authentication failed"

    • Verify your credentials in .env

    • Ensure your Baserow account is active

    • Check if you're using the correct API URL

  2. "No workspace_id provided"

    • Use baserow_set_workspace to set an active workspace

    • Or provide workspace_id parameter in database operations

  3. "Server disconnected"

    • Check your MCP client's logs:

      • Claude Desktop: ~/Library/Logs/Claude/mcp-server-baserow.log

      • Other clients: Check their respective log locations

    • Ensure Node.js v22+ is installed

    • Verify all dependencies are installed

Debug Mode

Enable debug logging by setting:

export DEBUG=baserow:*

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE 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


Made with โค๏ธ by the open-source community

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Enables natural language database operations and semantic document search through SQLite and vector database integration. Converts plain English instructions into SQL queries and provides RAG capabilities for uploaded documents.
  • A
    license
    A
    quality
    A
    maintenance
    Enables interaction with an Airbyte instance through natural language, supporting workspaces, sources, destinations, connections, jobs, logs, tags, streams, and connector definitions.
    36
    3
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Streamline your Attio workflows using natural language to search, create, update, and organize comโ€ฆ

  • Query PostgreSQL databases in plain English โ€” LLM-generated, safety-validated SQL.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raymatos/mcp-baserow'

If you have feedback or need assistance with the MCP directory API, please join our Discord server