This guide explains how to connect your Baserow workspace directly to Windsurf using the Model Context Protocol (MCP). By configuring Baserow as an MCP server, you allow Windsurf’s AI engine, Cascade, to securely interface with your live databases.
This native architecture eliminates the need to write boilerplate REST API calls, configure webhooks, or manually copy-paste JSON responses into your editor. Instead, Cascade interacts with your Baserow data using natural language and dynamic schema discovery.
The foundation of the integration is a secure MCP endpoint generated from your Baserow workspace. This unique URL routes the operations and serves as the authentication token.
Windsurf_Cascade_Access) and select the target workspace.⚠️ Critical Security Protocol: The MCP URL grants deep programmatic access to modify data within the specified workspace. Treat it as a high-privilege API secret. Never store it in version control, and regenerate it immediately if you suspect it has been exposed.
You must now provide Windsurf’s Cascade engine with your Baserow endpoint using the local configuration file.
Open Windsurf Settings and navigate to Advanced Settings (alternatively, open the Command Palette and type “Open Windsurf settings page”).
Scroll down to the Cascade section.
Click to add a new server, or directly open the raw JSON configuration file named mcp_config.json.
Add the following JSON block, ensuring you replace "YOUR_MCP_URL_HERE" with the secure endpoint copied from Baserow:
`{
"mcpServers": {
"Baserow MCP": {
"serverUrl": "YOUR_MCP_URL_HERE"
}
}
}`
Save the configuration file. Cascade is now ready to interact with your Baserow workspace.
Windsurf is designed around autonomous, agent-like coding assistance. Connecting it to Baserow via MCP turbocharges this capability.
The integration relies on real-time introspection rather than hardcoded configurations. The workflow operates as follows:
User_UUID instead of ID, Cascade automatically adapts its logic.With Cascade natively connected to Baserow, you can utilize templates like Content Management or App Configuration to drive your codebase directly from the database.
en.json and es.json localization files in my current project directory.”products.csv file in my workspace. Read the file, format the data to match the schema of my Baserow ‘Inventory’ table, and push all 500 records to the database.”Different MCP clients use slightly different JSON key structures. Windsurf explicitly requires the "serverUrl" key. If you pasted a configuration that uses "url" or "command", Windsurf will not recognize it. Ensure your mcp_config.json strictly uses "serverUrl": "https://...".
Yes. Because MCP translates natural language into direct CRUD operations, instructing Cascade to “clean up the database” might result in unintended deletions. Always apply the principle of least privilege: connect Windsurf to a staging workspace, or prompt Cascade defensively: “List the records you plan to delete from Baserow and wait for my confirmation before executing.”
You should never share a single MCP URL across a team. Each developer must generate their own unique endpoint in the Baserow MCP settings. This ensures that every database read, write, or delete operation is accurately tied to an individual user in your workspace audit logs, and allows administrators to revoke access on a per-developer basis.
If Cascade is hallucinating table structures, it simply needs a context refresh. You do not need to rewrite your JSON config. Send a prompt saying: “Please inspect the Baserow MCP server and list all columns in the ‘Customers’ table.” This forces Cascade to dynamically read the live schema, realigning its context for your subsequent requests.