Skip to content

Releases: jayashankarvr/execkit

execkit-mcp-v0.10.1

Choose a tag to compare

@jayashankarvr jayashankarvr released this 26 Sep 04:48
31e7a55

Fixed

  • (watch) print each --follow batch in time order
  • (viewer) count shown History sessions and sort sessions with no start time last
  • (watch) show local times and date lines in the terminal viewers
  • (cli) exit cleanly when stdout is closed early

Other

  • (changelog) explain the 0.10.0 minor bump and the new ssh session ids

execkit-mcp-v0.10.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 25 Sep 19:58
5c09ee1

Added

  • (viewer) collapsible History section at the bottom of the sidebar
  • (viewer) per-command timestamps and transport/host session groups

Fixed

  • (mcp) label ssh sessions with the user and port resolved from ssh config

execkit-mcp-v0.9.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 25 Sep 18:42
680abca

Added

  • (cli) setup for codex/vscode/windsurf, fuller help, unique session ids, constant-time viewer token
  • (mcp) per-call timeout, session_list, enum schemas, tool annotations, clearer descriptions
  • (mcp) resolve ssh host aliases, users, ports and keys from ~/.ssh/config
  • [breaking] interrupt and resync on timeout instead of poisoning the session

Fixed

  • (mcp) touch a session's last_used when its exec finishes
  • (mcp) redact operator-policy-blocked commands in audit and notifications
  • (cli,viewer) escape setup snippet paths, make live-viewer run-prefix optional
  • (mcp) key session_exec truncation hint on the effective budget
  • (mcp) close Host scope on Match, resolve relative IdentityFile against home
  • (ssh) [breaking] execkit-managed known_hosts with host:port keys; connect timeout
  • (mcp) close dead sessions, actionable errors for unknown sessions, transports and containers

Other

  • (mcp) note the last_used/session lock-order invariant at both sites
  • port-keyed pin migration, portable mkdir, restore needs git 2.22, absolute execkit link
  • (redact) Bearer coverage, code-shaped values, and that redacted output is not file-accurate
  • (mcp) say only the first existing SSH key is used, with no fallback
  • (dist) MCP registry server.json and publish job, crate metadata, npm pointer README
  • README hero and positioning, pip/uvx quickstart, v0.9 behaviour

execkit-mcp-v0.8.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 25 Jun 18:28
e24db48

Added

  • (mcp) viewer transcript search, legend filter, copy-id, auto-refresh
  • (mcp) viewer status bar persistently shows the selected session's details
  • (mcp) viewer history relative times refresh every 30s (no manual refresh needed)
  • (mcp) viewer UX - bottom status bar, command-count labels, color legend, action feedback
  • (mcp) viewer session screenshot - canvas to PNG
  • (mcp) viewer session export - txt/log/md/json
  • (mcp) viewer history panel - browse past sessions from the audit dir
  • (mcp) GET /sessions + /session/ - dir history, id-validated, no traversal
  • (mcp) viewer 3-dots menu - rename/pin/keep + persisted sidebar width
  • (mcp) GET/POST /state route - token-gated, validated, no-store
  • (mcp) viewer metadata store (validated, capped, 0600 display-only state)
  • (mcp) viewer sidebar redesign - transport groups, labels, active, resize, branding
  • (mcp) stable+configurable auto-start web endpoint; link by default, opt-in open, reconnect recovery
  • (mcp) EXECKIT_MCP_WATCH_WEB auto-starts the browser viewer
  • (mcp) watch --serve [--open] - browser-view any audit log
  • (mcp) web viewer browser-open helper (per-OS, best-effort)
  • (mcp) web viewer page - session sidebar + transcript panes
  • (mcp) web viewer HTTP/SSE core - token-gated, loopback, replay+live
  • (mcp) web viewer scaffolding - URL token + SSE wire JSON

Fixed

  • (mcp) viewer export/screenshot filenames + add blinking favicon
  • (mcp) viewer history addresses past sessions by unique file key
  • (mcp) valid export/screenshot downloads - defer object-URL revoke, append anchor
  • (mcp) inline session rename in the sidebar (replace the prompt dialog)
  • (mcp) history title respects alias; clear history selection on reconnect
  • (mcp) viewer history - fix stale live-sel on hist click; avoid DOM thrash per SSE event
  • (mcp) cap /state body pre-fill to Content-Length; hermetic HOME in test
  • (mcp) web viewer resets state on (re)connect so reconnect replay does not duplicate
  • (mcp) web viewer renderTranscript scopes the session; dedupe disconnect note
  • (mcp) web viewer title tracks the selected session as it streams

Other

  • (mcp) document the browser viewer UX (sidebar command counts, colors, status bar, history, actions)
  • (mcp) use sort_by_key for /sessions ordering (clippy 1.96 unnecessary_sort_by)
  • (mcp) cargo fmt the viewer-ux changes (incl. alpha-ordered module decl)
  • (mcp) stabilize web_viewer e2e - non-discarding harness, token I/O off the executor, settle before tool calls
  • Merge pull request #29 from blinkingbit-oss/feat/docs-site
  • link the docs site from crates.io and PyPI metadata

execkit-mcp-v0.7.2

Choose a tag to compare

@jayashankarvr jayashankarvr released this 19 Jun 16:25
207baf8

Added

  • (mcp) operator onboarding CLI (--version, --help, setup, doctor) + robust ~ resolution (#27)

execkit-mcp-v0.7.1

Choose a tag to compare

@jayashankarvr jayashankarvr released this 18 Jun 20:12
52f3e5d

Added

  • (mcp) per-session audit files, retention, watch dir/follow, and live notifications (#25)

execkit-mcp-v0.7.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 17 Jun 20:16
93adaa2

Added

  • (mcp) execkit-mcp watch - live read-only session viewer (#21)

execkit 0.6.1: Python SDK

Choose a tag to compare

@jayashankarvr jayashankarvr released this 17 Jun 16:16

execkit 0.6: now with a Python SDK

This release brings execkit to Python and ships the MCP server as a pip-installable binary, alongside the Rust crates.

Python SDK: pip install execkit

Native PyO3 bindings to the Rust core (no Rust toolchain needed): stateful, structured, safe shell sessions over local shells, SSH, and Docker.

from execkit import Session, Policy

with Session.local(policy=Policy(deny=["rm"]), timeout=30.0) as s:
    r = s.exec("cd /app && npm ci")
    print(r.stdout, r.exit_code, r.cwd)   # split streams, exit code, cwd
  • Session.local() / .ssh(...) / .docker(...) with Pythonic kwargs and a context manager.
  • Structured ExecResult (split stdout/stderr, exit code, duration, cwd), secret-redacted and output-bounded.
  • Per-call output budgets: exec(cmd, tail=, head=, grep=, max_chars=).
  • SSH host-key verification secure by default (TOFU known_hosts); pin= and insecure_accept_any_host_key= are explicit opt-ins.
  • Releases the GIL during exec; fully typed (PEP 561 stubs).

MCP server: pip install execkit-mcp

The MCP server now ships as a pip-installable binary wheel (Linux + macOS):

pip install execkit-mcp
claude mcp add execkit -- execkit-mcp

Install

Artifact How
Python SDK pip install execkit
MCP server pip install execkit-mcp, cargo install execkit-mcp, or the prebuilt binary below
Rust library execkit = "0.6"

Prebuilt execkit-mcp binaries for Linux (x86_64/aarch64, gnu + musl) and macOS (x86_64/arm64) are attached below, or install the latest with:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/blinkingbit-oss/execkit/releases/latest/download/execkit-mcp-installer.sh | sh

0.6.1 supersedes 0.6.0, which published to crates.io and PyPI but had an incomplete binary release.

execkit 0.6.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 17 Jun 20:23
59b9fa4

0.6.0 introduced the native Python SDK and shipped to crates.io and PyPI:

  • execkit (Rust) + execkit-mcp (Rust) on crates.io
  • pip install execkit (the SDK) and pip install execkit-mcp (the server) on PyPI

Prebuilt binaries: 0.6.0's binary build did not complete, so the execkit-mcp
prebuilt binaries and the curl | sh installer are in v0.6.1 (a same-day
superset) and later. For 0.6.0 specifically, install via pip install or
cargo install execkit-mcp.

execkit-mcp-v0.5.0

Choose a tag to compare

@jayashankarvr jayashankarvr released this 13 Jun 13:42
0255d32

Added

  • (mcp) reap idle sessions on create (EXECKIT_MCP_SESSION_TTL, default 30m)

Other

  • (mcp) widen active-session TTL margin to 3s (CI flake guard)
  • (mcp) document EXECKIT_MCP_SESSION_TTL
  • (mcp) SessionEntry with last_used + spawn_blocking destroy drop