Skip to main content

Environment Variables

dmx reads configuration from environment variables at startup. Pass them in your IDE's MCP server config or as shell environment variables when running dmx directly.

DMX_SKILLS_DIR

Type: String (path)
Default: None (only bundled skills are loaded)

Path to a directory of custom skill .md files. dmx loads all .md files from this directory recursively and merges them with the bundled skills.

If a custom skill has the same name as a bundled skill, the custom one wins.

{
"mcpServers": {
"dmx": {
"command": "uvx",
"args": ["--from", "deepmodel-dmx", "dmx", "serve"],
"env": {
"DMX_SKILLS_DIR": "/path/to/your/skills"
}
}
}
}

DMX_RULES_DIR

Type: String (path)
Default: None (only bundled rules are loaded)

Path to a directory of custom rule .md files. Rules are always-apply instructions injected into the AI's system context.

{
"env": {
"DMX_RULES_DIR": "/path/to/your/rules"
}
}

REQUIRE_API_KEY / MCP_API_KEY

Type: String
Default: None (authentication disabled)

Bearer token auth for HTTP+SSE transport. Set REQUIRE_API_KEY=true and MCP_API_KEY={token} to require Authorization: Bearer {token} on all HTTP requests. dmx exits at startup if REQUIRE_API_KEY=true but MCP_API_KEY is unset.

Only relevant when running with --http. Ignored for stdio transport.

REQUIRE_API_KEY=true MCP_API_KEY=your-secret-token uvx --from deepmodel-dmx dmx serve --http --port 8080

CLI arguments

These are passed as arguments to dmx serve (i.e. after uvx --from deepmodel-dmx dmx serve), not as environment variables:

ArgumentDefaultDescription
--httpoff (stdio)Use HTTP+SSE transport instead of stdio
--port8080Port for HTTP+SSE transport (--http only)
--skills-dirbundled skillsOverride the bundled skills directory (same as DMX_SKILLS_DIR, takes precedence)
--rules-dirbundled rulesOverride the bundled rules directory (same as DMX_RULES_DIR, takes precedence)
--watchoffHot-reload on file change (requires the watch extra)

The HTTP+SSE transport binds 0.0.0.0 on the given --port.

IDE config example (all options)

{
"mcpServers": {
"dmx": {
"command": "uvx",
"args": ["--from", "deepmodel-dmx", "dmx", "serve"],
"env": {
"DMX_SKILLS_DIR": "/path/to/custom/skills",
"DMX_RULES_DIR": "/path/to/custom/rules"
}
}
}
}

For HTTP transport:

{
"mcpServers": {
"dmx": {
"url": "http://your-dmx-server:8080/sse",
"headers": {
"Authorization": "Bearer your-token"
}
}
}
}