Problem
The MCP server currently authenticates with a PAT (or OAuth for Cloud/Enterprise). Dremio Software Community edition cannot issue PATs at all:
- the
auth.personal-access-tokens.enabled support key is not registered in CE builds (querying /apiv2/settings for it returns an empty set), and
- PAT issuance endpoints return 404.
This makes dremio-mcp unusable against self-hosted Community deployments, even though the underlying REST APIs it uses work fine there.
Proposal
Add an optional dremio.basic_auth config block (username + password, supporting the existing @-file reference convention) for Software deployments. The server exchanges the credentials for a session token via POST /apiv2/login and uses it as the request token — the REST API accepts session tokens as Bearer tokens, so no transport changes are needed. The token is refreshed ahead of its server-reported expiry, mirroring the existing OAuth2 lifecycle pattern.
- Not applicable to Dremio Cloud (guarded;
is_cloud wins)
- If both
pat and basic_auth are configured, the PAT wins
- Verified end-to-end (
RunSqlQuery) against a live Dremio Software Community deployment
I have a working implementation with tests and docs — PR incoming referencing this issue.
Problem
The MCP server currently authenticates with a PAT (or OAuth for Cloud/Enterprise). Dremio Software Community edition cannot issue PATs at all:
auth.personal-access-tokens.enabledsupport key is not registered in CE builds (querying/apiv2/settingsfor it returns an empty set), andThis makes dremio-mcp unusable against self-hosted Community deployments, even though the underlying REST APIs it uses work fine there.
Proposal
Add an optional
dremio.basic_authconfig block (username+password, supporting the existing@-file reference convention) for Software deployments. The server exchanges the credentials for a session token viaPOST /apiv2/loginand uses it as the request token — the REST API accepts session tokens asBearertokens, so no transport changes are needed. The token is refreshed ahead of its server-reported expiry, mirroring the existing OAuth2 lifecycle pattern.is_cloudwins)patandbasic_authare configured, the PAT winsRunSqlQuery) against a live Dremio Software Community deploymentI have a working implementation with tests and docs — PR incoming referencing this issue.