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. 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”. Desktop and CLI apps 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.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.