Install
$ agentstack add mcp-ayyazzafar-mcp-baserow ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Baserow MCP Server
[](https://modelcontextprotocol.io) [](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://nodejs.org/)
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:
``bash git clone https://github.com/ayyazzafar/mcp-baserow.git cd mcp-baserow ``
- Install dependencies:
``bash npm install ``
- Configure authentication:
``bash cp .env.example .env ``
Edit .env and add your credentials: ```env # Recommended: Use credentials for automatic token refresh BASEROWUSERNAME=your@email.com BASEROWPASSWORD=your_password
# Optional: Override default API URL for self-hosted instances # BASEROWAPIURL=https://your-baserow-instance.com ```
- Build the project:
``bash 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
- Add the Baserow server:
``json { "mcpServers": { "baserow": { "command": "/path/to/mcp-baserow/start.sh" } } } ``
Cursor
- Open Cursor settings
- Navigate to MCP Servers section
- Add:
``json { "baserow": { "command": "/path/to/mcp-baserow/start.sh" } } ``
Windsurf
- Open Windsurf configuration
- Add to MCP servers:
``json { "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 [Contributing Guidelines](CONTRIBUTING.md) 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 [CHANGELOG.md](CHANGELOG.md) 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
- "No workspace_id provided"
- Use
baserow_set_workspaceto set an active workspace - Or provide
workspace_idparameter in database operations
- "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](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
🔗 Links
Made with ❤️ by the open-source community
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ayyazzafar
- Source: ayyazzafar/mcp-baserow
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.