v0.1.5
Matrix CLI v0.1.5 — Release Notes
Highlights
- Zero-JSON one-shot:
matrix do <alias> "Your text"— runs the default tool using schema-aware mapping. - Schema-aware help:
matrix help <alias> [--tool NAME]— human-readable usage with a copy-paste “Try:” line. - Smarter
mcp call: new--wizard,--text,--kv key=val+ enhanced--args(files, stdin, optional YAML). - Instant quickstart:
matrix runprints a small, heuristic banner tailored to the server (no network I/O). - (Beta) REPL:
matrix chat <alias>keeps one MCP session open for low-latency loops (optional).
New Commands
-
matrix do— One-shot, zero-JSON call- Maps a plain string to the tool’s primary input (e.g.,
query/prompt/text). - Falls back to wizard guidance for complex tools.
- Maps a plain string to the tool’s primary input (e.g.,
-
matrix help— Usage from JSON Schema- Lists tools + 1-line descriptions, or detailed args for a single tool.
- Prints one “Try:” command (either
matrix do …ormatrix mcp call … --wizard).
-
matrix chat(beta, optional) — Tiny, persistent REPL- Keeps a single SSE session open for minimal latency.
- Built to be backend-agnostic (future hooks for Ollama, OpenAI, watsonx.ai, Gemini).
Enhancements to Existing Commands
matrix mcp call
-
New flags (backward-compatible):
--wizard | -w— prompt forstring/number/integer/boolean/enum(arrays/objects via pasted JSON).--text "…"— maps text to the default input key (schema-aware).--kv key=val(repeatable) — light coercion for bool/int/float.
-
Enhanced
--args:@file.json(existing),@-(stdin),@file.yaml|.yml(if PyYAML installed).- Conservative lenient JSON only if strict parsing fails (e.g., single→double quotes).
-
Performance: still one connect + one call; no extra round-trips or retries added.
matrix run
-
Keeps the original “Next steps (MCP)” unchanged.
-
Adds a zero-latency Quickstart banner (≤3 bullets) inferred from local
runner.json:- No-input:
matrix do <alias> - Single-string:
matrix do <alias> "Example input" - Complex:
matrix mcp call <tool> --alias <alias> --wizard
- No-input:
CLI Startup
- Lazy registration for
do,help, and optionalchatto keep cold starts fast.
Matrix SDK Installer Updates (bundled via dependency bump)
This release includes the updated matrix-sdk installer with numerous reliability and cross-platform fixes that improve first-run success and speed.
Notable Improvements
-
Stricter runner validation:
runner.jsonforpython/nodenow requiresentry; prevents broken installs early. -
Smarter runner discovery:
- Embedded
runner_b64/runner_urlhandling. - Shallow BFS search for
runner.json(depth configurable). - Synthesis from embedded manifests (v2 direct
runner, v1 connector from server URL). - Optional connector synthesis with normalized
/sseendpoints.
- Embedded
-
Robust environment prep:
- Fresh isolated venv creation; automatic fallback if symlinks fail (Windows-friendly).
- python_builder support when available; falls back to
requirements.txt/pyproject.toml/setup.py. - Poetry non-package mode handling; editable installs with safe fallback to non-editable.
- Custom pip indexes via env:
MATRIX_SDK_PIP_INDEX_URL,MATRIX_SDK_PIP_EXTRA_INDEX_URL.
-
Artifact fetch resilience:
- Git/http fetchers with clear logging; legacy
git clonecommand shim supported. - Relative URLs resolved against provenance; optional domain allow-list.
- Git/http fetchers with clear logging; legacy
-
Safer planning & paths:
- Server-safe target labels by default (no absolute path leakage).
- Early, explicit writable-target check with clear error messages.
-
Cleaner subprocess logging: Captures stdout/stderr for diagnostics without noisy normal output.
New/Notable Environment Variables
MATRIX_SDK_HTTP_TIMEOUT(default 15)MATRIX_SDK_RUNNER_SEARCH_DEPTH(default 2)MATRIX_SDK_ENABLE_CONNECTOR(default on)MATRIX_SDK_PIP_INDEX_URL,MATRIX_SDK_PIP_EXTRA_INDEX_URLMATRIX_INSTALL_SEND_ABS_TARGET(off by default; controls absolute target disclosure)MATRIX_SDK_ALLOW_MANIFEST_FETCH(on by default)MATRIX_SDK_MANIFEST_DOMAINS(comma-separated allow-list)MATRIX_SDK_PIP_EDITABLE(default on)MATRIX_SDK_DEBUG(enables detailed installer logs)
Compatibility
- No breaking changes to existing CLI behavior.
- YAML parsing in
mcp callis enabled only when PyYAML is installed (optional extra).
Examples
# One-shot, no JSON
matrix do watsonx-chat "Tell me about Genova"
# Discover arguments
matrix help image-suite
matrix help image-suite --tool resize
# Guided call for complex tools
matrix mcp call resize --alias image-suite --wizard
# Flexible args
echo '{"query":"Hello"}' | matrix mcp call chat --alias watsonx-chat --args @-
matrix mcp call search --alias suite --kv q=linux --kv top_k=5Upgrade
pip install -U matrix-cli
# optional YAML support
pip install "matrix-cli[yaml]"Thanks
Huge thanks to everyone reporting first-run issues and testing at scale. The installer and UX should feel faster and more reliable across Windows, macOS, and Linux. Keep the feedback coming!