With BASEROW_MCP_OAUTH_ENABLED=true, MCP clients such as Claude, ChatGPT, Cursor and
VS Code connect to <PUBLIC_BACKEND_URL>/mcp and sign the user in with OAuth instead
of a pasted endpoint key. Setup steps for each client are in the
baserow-mcp README. A few things to check on
a self-hosted install:
PUBLIC_BACKEND_URL (or BASEROW_PUBLIC_URL) must be the public HTTPS
URL. Otherwise the app fails early, claude.ai for example only says “Couldn’t
register”. CLI apps such as Claude Code on the same machine also work with
localhost./api/ and /ws/, the reverse proxy must send /mcp,
/oauth/, /.well-known/oauth-authorization-server and
/.well-known/oauth-protected-resource to the backend. /mcp must reach the ASGI
backend. The Caddyfile,
the Nginx, Apache and
K8S guides already do this. To submit your own ChatGPT app
to OpenAI, also send /.well-known/openai-apps-challenge to the backend and set
BASEROW_MCP_OPENAI_APPS_CHALLENGE. Only the Caddyfile routes it already.HTTPS_PROXY. Without direct outbound
HTTPS, set BASEROW_MCP_OAUTH_CIMD_ENABLED=false; those apps then register
themselves instead (DCR).X-Forwarded-For entry. The proxy in front of Baserow must replace that
header rather than append to what the client sent, or a client can pick its own IP.
Behind a proxy that doesn’t set it at all, every client shares one limit.BASEROW_MCP_OAUTH_ENABLED=false pauses the connected
apps, it doesn’t revoke them. Their grants and tokens are kept and work again when
the flag is turned back on. Users can disconnect apps in My settings → MCP server.