on main help sign in
docs(README): add note about shell expansion in MCP config
commitd745ff590a6945c2d47bae67b304ad01a9f10dbc authorChristian Rocha <christian@rocha.is> dateSat 2 May 2026, 15:11 (6 months ago) parent240e5c2
1 file changed+11−4
README.md+11−4
README.md+11−4
@@ -292,10 +292,17 @@ like you would. LSPs can be added manually like so:
292292
293293### MCPs
294294
295−Crush also supports Model Context Protocol (MCP) servers through three
296−transport types: `stdio` for command-line servers, `http` for HTTP endpoints,
297−and `sse` for Server-Sent Events. Environment variable expansion is supported
298−using `$(echo $VAR)` syntax.
295+Crush also supports Model Context Protocol (MCP) servers through three transport
296+types: `stdio` for command-line servers, `http` for HTTP endpoints, and `sse`
297+for Server-Sent Events.
298+
299+Shell-style value expansion (`$VAR`, `${VAR:-default}`, `$(command)`, quoting,
300+and nesting (works in `command`, `args`, `env`, `headers`, and `url`, so
301+file-based secrets like work out of the box, so you can use values like
302+"$TOKEN"` and `"$(cat /path/to/secret/token)"``. Expansion runs through Crush's
303+embedded shell, so the same syntax works on all supported systems, including
304+Windows. Unset variables are an error; use `${VAR:-fallback}` to opt in to
305+a default.
299306
300307```json
301308{