Skip to content

v0.1.8

Choose a tag to compare

@ruslanmv ruslanmv released this 12 Sep 15:28
· 8 commits to master since this release

matrix-cli v0.1.8 — Release Notes

Highlights

  • Windows stability: matrix ps no longer crashes on Windows; works the same across Windows/macOS/Linux (incl. WSL).
  • Better MCP UX: simpler ways to pass tool inputs (--text, --kv, JSON, stdin) and clearer guidance on URL trailing slashes.
  • Docs refreshed: Quickstart, MCP usage, and brand-new do command docs.
  • SDK bump: ships with matrix-python-sdk v0.1.11 (cross-platform PID checks, quieter Windows installs).

Changes

CLI commands

  • ps

    • Wrapped runtime inspection with a safety net so unexpected SDK/process issues don’t raise tracebacks on Windows.
    • Still shows PID / PORT / UPTIME / URL / TARGET with endpoint inferred from runner.json (supports transport.endpoint, sse.endpoint, flat endpoint, or env.ENDPOINT / env.MCP_SSE_ENDPOINT).
    • Honors MATRIX_PS_HOST when present; defaults to 127.0.0.1.
  • mcp

    • Clearer argument paths:

      • matrix mcp call <tool> --alias <alias> --text "..." (no JSON needed)
      • --kv key=value pairs (bool/int/float coerced when obvious)
      • --args '{...}' (quoted JSON) or --args @- (stdin)
      • --wizard to prompt from schema (strings/numbers/bools/enums)
    • Notes on trailing slash for /sse/ when using --url (servers often route strictly).

  • do (one-shot convenience)

    • Picks a sensible default tool (default → main → run → chat → first).
    • Infers the default input key from schema (e.g., query, prompt, text, …).
    • Accepts a plain text positional and/or --in PATH for path-like inputs.
    • Pretty prints text content; --json yields machine-readable output.
    • Friendly guidance to use mcp call --wizard when structured input is required.

Documentation

  • Quickstart updated with modern MCP examples (--text, --kv, JSON, stdin), explicit-URL examples, and trailing-slash tip.
  • MCP docs expanded with a “Argument forms (choose one)” section and Bash/WSL quoting tips.
  • New do docs explaining selection/inference, examples, and troubleshooting.

Dependency

  • Bundles / requires matrix-python-sdk v0.1.11:

    • Cross-platform _pid_alive (Windows: OpenProcess + GetExitCodeProcess, POSIX: os.kill(pid, 0)).
    • Installer uses venv.EnvBuilder with Windows-friendly defaults (no symlinks by default), optional MATRIX_SYMLINKS=1.

Bug Fixes

  • matrix ps no longer raises WinError 87-style tracebacks on Windows when listing processes.
  • Reduced “Unable to symlink …” noise during installs (via SDK v0.1.11).

Compatibility

  • No breaking changes in CLI flags or output formats.
  • Existing aliases, runners, and manifests continue to work.
  • Output stability maintained for --plain and --json consumers.

Upgrade Notes

  • Simply upgrade:

    pip install -U matrix-cli
  • On Windows, no special privileges needed. (Optional: MATRIX_SYMLINKS=1 to force venv symlinks if Developer Mode is enabled.)

  • For MCP URLs, prefer the server-advertised path (often /sse/) and include the trailing slash when specifying --url.

Quick usage refresher

# Probe and call by alias
matrix mcp probe --alias watsonx-chat
matrix mcp call chat --alias watsonx-chat --text "List three famous landmarks in Genoa"

# Alternative inputs
matrix mcp call chat --alias watsonx-chat --kv query="List three famous landmarks in Genoa"
matrix mcp call chat --alias watsonx-chat --args '{"query":"List three famous landmarks in Genoa"}'
echo '{"query":"List three famous landmarks in Genoa"}' | matrix mcp call chat --alias watsonx-chat --args @-

# One-shot convenience
matrix do watsonx-chat "What is the capital of Italy?"