Skip to main content

Configuration

colabhive-mcp is configured via environment variables, CLI flags, or a config file. Precedence: CLI flag > env var > config file > default.


Required

SettingEnv varCLI flagDefaultNotes
API keyCOLABHIVE_API_KEY--api-keyRequired unless you've run colabhive-mcp login (F2)

Common

SettingEnv varCLI flagDefaultNotes
API base URLCOLABHIVE_API_URL--api-urlhttps://api.colabhive.comUse staging: https://api.staging.colabhive.com
Account IDCOLABHIVE_ACCOUNT_ID--account-idauto-detect from keyOverride only if your key has multiple account contexts
Log levelCOLABHIVE_LOG_LEVEL--log-levelinfodebug / info / warning / error
Log formatCOLABHIVE_LOG_FORMAT--log-formatjsonjson (structured) or text (human)
Request timeoutCOLABHIVE_HTTP_TIMEOUT--http-timeout60 (s)Per-HTTP call to ColabHive API
Sync timeoutCOLABHIVE_SYNC_TIMEOUT--sync-timeout30 (s)Max wait for sync invocation before falling back to poll
Poll intervalCOLABHIVE_POLL_INTERVAL--poll-interval2 (s)Between async polls
Poll max waitCOLABHIVE_POLL_MAX_WAIT--poll-max-wait300 (s)Total time before timing out a cold-path call

Tool filtering

Limit which tools the agent sees — useful for cost control and reducing context bloat.

SettingEnv varCLI flagDefaultNotes
Allow listCOLABHIVE_ALLOW_TOOLS--allow-tools(all visible)Comma-separated slugs or globs: qwen-*,web-*
Deny listCOLABHIVE_DENY_TOOLS--deny-tools(none)Applied after allow list
Allowed kindsCOLABHIVE_ALLOW_KINDS--allow-kindsallComma list: llm,specialist,tool,trained_model,generative,model,operation
Deny side-effectsCOLABHIVE_DENY_SIDE_EFFECTS--deny-side-effects(none)Hide any tool whose manifest sideEffects include a listed value (e.g. network)
Stability floorCOLABHIVE_STABILITY--stabilitybetaexperimental ≥ all; beta ≥ beta+stable; stable ≥ stable only

Example — only let the agent use LLMs and your own trained models, never tools that hit the network:

export COLABHIVE_ALLOW_KINDS="llm,trained_model"

Example — only stable models, exclude expensive generative:

export COLABHIVE_STABILITY=stable
export COLABHIVE_ALLOW_KINDS="llm,specialist,tool" # excludes generative

Transport

SettingEnv varCLI flagDefaultNotes
Transportsub-commandstdiostdio (default if no sub-command) or serve (HTTP/SSE)
HTTP host--host127.0.0.1Bind address for serve mode
HTTP port--port8765Listen port for serve mode
SSE path--sse-path/mcpURL path for SSE endpoint
CORS originsCOLABHIVE_CORS_ORIGINS--cors(none)Comma list of allowed origins for HTTP/SSE

Caching

The server caches the manifest in memory to avoid hammering /mcp/manifest on every tools/list.

SettingEnv varCLI flagDefaultNotes
Manifest TTLCOLABHIVE_MANIFEST_TTL--manifest-ttl300 (s)Refreshes on tools/list if TTL expired
Honor ETagCOLABHIVE_USE_ETAG--use-etagtrueIf-None-Match to avoid re-downloading unchanged manifests

Config file

Instead of env vars, you can put settings in ~/.config/colabhive-mcp/config.toml (Linux/macOS) or %APPDATA%\colabhive-mcp\config.toml (Windows):

# ~/.config/colabhive-mcp/config.toml
api_key = "hive_xxx"
api_url = "https://api.colabhive.com"
log_level = "info"

[filter]
allow_kinds = ["llm", "specialist", "trained_model"]
deny_tools = ["z-image-turbo"]
stability = "stable"

[transport]
sync_timeout = 45
poll_max_wait = 600
manifest_ttl = 600

Validate it:

colabhive-mcp config --check

Multiple profiles

If you use ColabHive across staging + prod or multiple accounts:

# Profile 'prod'
colabhive-mcp --profile prod serve

# Profile 'staging'
colabhive-mcp --profile staging serve

Profiles live in ~/.config/colabhive-mcp/profiles/{name}.toml with the same shape as the main config file.


Reading current config

colabhive-mcp config --show

Prints the resolved configuration (with the API key redacted), showing where each value came from (env / flag / file / default).


Next

Manifests reference