Skip to content

Configuration

Ryan James edited this page Aug 17, 2026 · 1 revision

All configuration is environment variables, set in the env block of your MCP client entry (Client-Setup). There is no .env file and no command-line flag. Every value is read once at startup — restart the server for a change to take effect.

There is no server-side default for the environment URL. dataverse_url is a required argument on every tool except dataverse_list_environments.

All variables

Variable Accepted values Default Effect
DATAVERSE_AUTH_TYPE interactive, azure_cli interactive Credential type. Any other value aborts startup. See Authentication.
DATAVERSE_ALLOW_WRITE true off Registers create/update/associate/merge/publish and schema-mutation tools. Also lets dataverse_execute_batch accept POST/PUT/PATCH.
DATAVERSE_ALLOW_DELETE true off Registers delete and disassociate tools. Also lets dataverse_execute_batch accept DELETE.
DATAVERSE_TOOLS Comma-separated category tokens (all) Registers only the listed categories. core is always added. Unknown tokens are logged and ignored. See Tool-Categories.
DATAVERSE_WHITELIST Comma-separated hostnames (empty) Rejects any dataverse_url whose host is not listed. Empty means every environment is allowed. See Safety-and-Permissions.
DATAVERSE_REQUIRE_WHITELIST true, false false true rejects every tool call while DATAVERSE_WHITELIST is empty, so a token is never minted for an unapproved host.
DATAVERSE_FILE_BASE_DIR Directory path (unset) Confines the output_path / input_path arguments on the solution export/import tools to this directory. Unset means unrestricted.
DATAVERSE_AUTH_TIMEOUT_SECONDS Positive number 30 Seconds to wait for a credential before failing the call with an auth error.
DATAVERSE_TOKEN_CACHE_PERSIST true, false true Persists the interactive MSAL token cache to disk so restarts do not re-prompt. No effect on azure_cli.
DATAVERSE_TOKEN_CACHE_ALLOW_UNENCRYPTED true, false false Permits an unencrypted on-disk token cache. Security trade-off — see Authentication.
DATAVERSE_TOKEN_CACHE_PROFILE [A-Za-z0-9_-] (empty) Isolates the token cache and its AuthenticationRecord sidecar per profile, for concurrent sign-ins to different tenants/accounts.

The server also reads standard OS variables: LOCALAPPDATA (Windows) or XDG_CONFIG_HOME for the token-cache sidecar directory, and PATH to locate az under azure_cli auth.

How invalid values behave

Not uniform — worth knowing which typos are loud and which are silent.

Variable On an unrecognised value
DATAVERSE_ALLOW_WRITE, DATAVERSE_ALLOW_DELETE Silently treated as off. Only the exact string true (any case) enables them; 1, yes, True with a stray space all mean off.
DATAVERSE_TOKEN_CACHE_PERSIST, DATAVERSE_TOKEN_CACHE_ALLOW_UNENCRYPTED, DATAVERSE_REQUIRE_WHITELIST Warning logged, default used
DATAVERSE_AUTH_TIMEOUT_SECONDS Warning logged, 30 used (also when zero or negative)
DATAVERSE_TOOLS Warning naming the unknown token, token ignored, the rest applied
DATAVERSE_WHITELIST Warning naming the entry, entry skipped, the rest applied
DATAVERSE_TOKEN_CACHE_PROFILE Startup fails. Sanitising could collapse two profiles onto one cache, so it refuses instead.
DATAVERSE_AUTH_TYPE Startup fails with the supported values listed

Warnings go to stderr, where your client shows them as server output.

Timeouts

DATAVERSE_AUTH_TIMEOUT_SECONDS covers credential acquisition only — the wait for a browser sign-in or an az token fetch. Raise it to 120 or more when interactive MFA regularly outruns the default 30 seconds.

It does not cover HTTP requests to Dataverse. Those use fixed timeouts — 10 s connect, 60 s read/write — with $batch requests allowed 120 s. None of them are configurable.

Token cache

DATAVERSE_TOKEN_CACHE_PERSIST, _PROFILE and _ALLOW_UNENCRYPTED apply to interactive auth only and are covered in full under Authentication — what is cached, where it is written, and why the unencrypted flag is a trade-off rather than a convenience.

See also

Clone this wiki locally