Read and change Baserow tables.
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.
https://api.baserow.io/mcp/mcp, for example https://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.
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.
/mcp or sign-in; use an endpoint key there.BASEROW_MCP_OAUTH_ENABLED=true on the backend. It's off by default./mcp and paths under /mcp/, /oauth/, /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource to the backend. Match /mcp exactly, not as a prefix: the frontend serves the sign-in page at /mcp-authorize/.See MCP OAuth sign-in for self-hosted Baserow.
| 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.
/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.
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.
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 plugin marketplace add baserow/baserow-mcp
codex plugin add baserow@baserow
codex mcp login baserow
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.
To add only the server, without the plugin:
~/.cursor/mcp.json:
{ "mcpServers": { "baserow": { "url": "https://api.baserow.io/mcp" } } }
.vscode/mcp.json:
{ "servers": { "baserow": { "type": "http", "url": "https://api.baserow.io/mcp" } } }
opencode.json, then opencode mcp auth baserow:
{ "mcp": { "baserow": { "type": "remote", "url": "https://api.baserow.io/mcp" } } }
~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "baserow": { "serverUrl": "https://api.baserow.io/mcp" } } }
{ "context_servers": { "baserow": { "url": "https://api.baserow.io/mcp" } } }
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:
/mcp, pick plugin:baserow:baserow and authenticate.codex mcp login baserow./mcp auth baserow.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.
/mcp, with no trailing slash.claude mcp list shows the plugin's plugin:baserow:baserow and a baserow server you added by hand, keep the one that connects. claude plugin disable baserow@baserow turns off the plugin's; claude mcp remove baserow removes yours.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.
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.
MIT
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.