mcp server
baserow-mcp
Connect your AI agent to Baserow: MCP server config and a skill for Claude, ChatGPT, Codex, Cursor, VS Code, Copilot and Gemini CLI.
Set up
Hosted by its author. Add the URL to your agent — nothing to install.
Settings → Connectors → Add custom connector
Name: baserow-mcp
URL: https://api.baserow.io/mcpsame format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 16, 2026Baserow MCP
Connect your AI agent to Baserow. Your agent can read and change tables in one Baserow workspace, using only the tools you allow when you sign in.
This repo installs Baserow's MCP server and a short skill that teaches the agent how to use it. It works with Claude, ChatGPT, Codex, Cursor, VS Code, GitHub Copilot, Gemini CLI, OpenCode, Zed, Goose, Windsurf, Pi and other agents.
Server URL
- baserow.io:
https://api.baserow.io/mcp - Self-hosted: your backend URL followed by
/mcp, for examplehttps://baserow.example.com/mcp. Copy it from My settings → MCP server in Baserow.
The examples below use the baserow.io URL. On self-hosted Baserow, use your own URL instead.
Quick start
npx add-mcp https://api.baserow.io/mcp -n baserow -g
npx skills add baserow/baserow-mcp
add-mcp finds the agents you have installed and asks which ones to add Baserow to. Untick Claude Desktop if it's listed and add Baserow there as a custom connector instead. skills add copies the baserow-basics skill into your agents' skill folders. On self-hosted Baserow, run skills add too, since only the plugins below include the skill.
Self-hosted requirements
- A Baserow version newer than 2.4.1. Older versions don't have
/mcpor sign-in; use an endpoint key there. BASEROW_MCP_OAUTH_ENABLED=trueon the backend. It's off by default.- A public HTTPS backend URL, so hosted apps like Claude.ai and ChatGPT can reach it, and outbound HTTPS from the backend, which fetches the apps' client metadata.
- Your reverse proxy sends
/mcpand paths under/mcp/,/oauth/,/.well-known/oauth-authorization-serverand/.well-known/oauth-protected-resourceto the backend. Match/mcpexactly, not as a prefix: the frontend serves the sign-in page at/mcp-authorize/.
See MCP OAuth sign-in for self-hosted Baserow.
Install per agent
| Agent | baserow.io | Self-hosted |
|---|---|---|
| Claude Code | Plugin | Same plugin, enter your URL when asked |
| Claude.ai, Claude Desktop | Custom connector | Same, with your URL |
| ChatGPT | Custom MCP server | Same, with your URL |
| Codex | Plugin | codex mcp add baserow --url <your url> |
| GitHub Copilot CLI | Plugin | Server only |
| Gemini CLI | gemini extensions install https://github.com/baserow/baserow-mcp | gemini mcp add -s user -t http baserow <your url> |
| Cursor | Add to Cursor | Config file |
| VS Code | Add to VS Code | Config file |
| Goose | Add to Goose | Quick start with your URL |
| OpenCode, Windsurf, Zed | Config file | Same, with your URL |
| Any other agent | Quick start | Same, with your URL |
The Codex, Copilot and Gemini plugins and the Add to buttons always point at baserow.io, so on self-hosted Baserow add only the server for those agents.
Claude Code
/plugin marketplace add baserow/baserow-mcp
/plugin install baserow@baserow
When it asks for the URL, press Esc to keep baserow.io, or enter your self-hosted URL. To change it later, run /plugin configure baserow@baserow.
Claude.ai and Claude Desktop
Customize → Connectors → + Add → Add custom connector. Name it Baserow and enter your server URL. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.
ChatGPT
Open Plugins, select the plus button, then Add custom MCP server, and enter your server URL. Menu names change often. On Business and Enterprise plans an admin has to allow custom MCP servers first.
Codex
codex plugin marketplace add baserow/baserow-mcp
codex plugin add baserow@baserow
codex mcp login baserow
GitHub Copilot CLI
copilot plugin marketplace add baserow/baserow-mcp
copilot plugin install baserow@baserow
On self-hosted Baserow, add only the server: copilot mcp add --transport http baserow <your url>. If the plugin is installed, uninstall it first with copilot plugin uninstall baserow; its server replaces yours without a warning.
Config files
To add only the server, without the plugin:
- Cursor,
~/.cursor/mcp.json:{ "mcpServers": { "baserow": { "url": "https://api.baserow.io/mcp" } } } - VS Code,
.vscode/mcp.json:{ "servers": { "baserow": { "type": "http", "url": "https://api.baserow.io/mcp" } } } - OpenCode,
opencode.json, thenopencode mcp auth baserow:{ "mcp": { "baserow": { "type": "remote", "url": "https://api.baserow.io/mcp" } } } - Windsurf,
~/.codeium/windsurf/mcp_config.json:{ "mcpServers": { "baserow": { "serverUrl": "https://api.baserow.io/mcp" } } } - Zed, settings:
{ "context_servers": { "baserow": { "url": "https://api.baserow.io/mcp" } } }
Signing in
Your agent opens a Baserow page in your browser. Sign in, pick the workspace and tick the tools the agent may use. Read tools let the agent browse databases, tables and rows; write tools let it create, update and delete rows. Only the read tools are ticked on a first connection.
Where the sign-in starts:
- Claude Code: run
/mcp, pickplugin:baserow:baserowand authenticate. - Codex:
codex mcp login baserow. - Gemini CLI:
/mcp auth baserow. - Claude.ai, ChatGPT, Cursor and VS Code: the Connect or Sign in button next to the server.
To change the workspace or tools, sign in again: re-authenticate the server in your agent, or disconnect the app under My settings → MCP server in Baserow and connect again. A plain reconnect keeps the old sign-in.
Troubleshooting
- A tool is missing, or no databases are listed. The connection only has the workspace and tools you picked at sign-in. Sign in again as described above. Tools that change tables or fields aren't available over MCP.
- The sign-in never starts, or the client says the server doesn't support OAuth or client registration. On self-hosted Baserow, check the self-hosted requirements.
- The connection fails with a URL you typed. Copy the URL exactly as My settings → MCP server shows it. It ends in
/mcp, with no trailing slash. - Two Baserow servers in Claude Code. If
claude mcp listshows the plugin'splugin:baserow:baserowand abaserowserver you added by hand, keep the one that connects.claude plugin disable baserow@baserowturns off the plugin's;claude mcp remove baserowremoves yours.
Endpoint keys
Baserow 2.4.1 and older only accept an endpoint key, and the plugin doesn't set this up. Copy the endpoint URL from My settings → MCP server. It ends in /sse and contains your key. Add it by hand to an agent that supports SSE servers, such as Claude Code, Cursor or VS Code; Codex and Goose don't:
npx add-mcp "<endpoint url>" -t sse -n baserow -g -a claude-code
Newer versions also accept the key as a header on /mcp, which is useful for scripts:
npx add-mcp https://baserow.example.com/mcp -n baserow -g -a claude-code -h "Authorization: Bearer <key>"
The key gives full access to its workspace. -g writes it to your user config instead of the current folder, so it can't end up in a commit.
Privacy and support
- Privacy policy: https://baserow.io/privacy-policy
- Terms: https://baserow.io/terms-and-conditions
- Help: community forum or contact us
Developing
In scripts/, run npm install, then npm test and npm run check. CI runs the same checks. The tooling lives there so plugin installs don't install its dependencies.
The Claude Code plugin declares its server in .claude-plugin/plugin.json, so it can use the URL you enter. .mcp.json holds the baserow.io URL for other tools that read Claude-format plugins, such as GitHub Copilot CLI and Cursor.
License
MIT