Runs stateful, structured shell sessions locally, over SSH, or in Docker with policy checks, redaction, output limits, and remote file checkpoints.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
This server is confirmed live ā we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Execkit.
session_checkpointTake a workspace checkpoint on a REMOTE session (snapshot of files you can restore). Requires git on the remote host. Undoes FILES only - not side effects (DB, network, installs). Returns { checkpoint_id }.
session_checkpointsList checkpoints (newest first) for a remote session.
session_createOpen a stateful shell session. transport is "local", "ssh", or "docker". ssh needs host, user, and password or key_path; docker needs container (a running container name/id). Optional fingerprint (pin host key), allow/deny command lists. Returns a session_id. Remote sessions support workspace checkpoints - requires git on the remote AND an explicit workspace (set 'workspace'; without it checkpoints/auto_snapshot are disabled, never defaulting to the home dir). Tune with auto_snapshot, paths, checkpoint_ignores. Pass output_budget (same shape as session_exec's budget) to default-shape every command's output.
session_destroyDestroy a session and free its resources.
session_execRun a command in a session; returns a structured ExecResult JSON (stdout, stderr, exit_code, duration_ms, cwd, truncated). Optionally pass budget to shape output: {grep:{pattern,context?}, keep:{mode:"all"|"tail"|"head"|"head_tail",n?|head?+tail?}, max_chars?}. Shaping is line-based, client-side, AFTER secret redaction; it never changes the exit code or side effects. When applied, the result includes a budget report (per-stream mode + lines_total/lines_kept).
session_restoreRestore a remote session's workspace FILES to a checkpoint (omit checkpoint_id to restore the most recent). Does not undo side effects.
The blinkingbit-oss/execkit MCP server exposes stateful command execution through MCP. An agent can create a session using a local shell, an SSH host, or an already-running Docker container, then execute multiple commands against that same session. Working-directory changes, environment state, and other shell-session state persist between calls.
Each execution produces structured data rather than terminal text that the client must parse. Results can include stdout, stderr, exit code, elapsed time, current working directory, and whether output was truncated. A loopback, read-only browser viewer is also described for streaming the live transcript.
Remote sessions can use Git-backed workspace checkpoints. Checkpoints cover files in the configured workspace and can later restore those files. They do not reverse external effects such as database changes, network activity, or package installation.
A command passes through an advisory policy check before reaching the selected transport. Allowed commands run through the local, SSH, or Docker session, after which output is secret-redacted and optionally shaped by a budget. Budgeting operates client-side after redaction and can filter lines with grep, keep the beginning or end of output, keep both ends, or impose a character limit. The command's exit code and side effects are not changed by output shaping.
SSH sessions can verify a host key using a supplied fingerprint. Session creation accepts SSH connection details, including a host, user, and password or key path. Docker sessions require the name or ID of a running container.
Install the blinkingbit-oss/execkit MCP server from the execkit-mcp Python package, a prebuilt release binary, or Cargo. An MCP client starts the execkit-mcp executable as a stdio server. The README shows Claude MCP configuration using that executable.
When creating a session, choose local, ssh, or docker as the transport. SSH requires connection credentials, while Docker requires a running container. Command allow and deny lists can be supplied. For remote checkpoints, set an explicit workspace and ensure Git is installed on the remote host; the server does not silently use the home directory. Output budgets can be configured per command or as a session default.
session_create: Open a stateful local, SSH, or Docker shell session.session_exec: Run a command and receive a structured execution result with optional output shaping.session_destroy: End a session and release its resources.session_checkpoint: Snapshot files in a remote workspace.session_checkpoints: List remote checkpoints, newest first.session_restore: Restore the latest or a selected remote checkpoint.The blinkingbit-oss/execkit MCP server is an early 0.x release and is explicitly not production-ready. Its command policy is advisory string matching, not a sandbox, so the agent and connecting SSH user still need least-privilege permissions. Local sessions require a POSIX shell, and the project is Unix-only at present.
A timed-out command makes its session unusable; create a new session after that error. The core is synchronous and is not tuned for very large numbers of concurrent sessions. SSH's AcceptAny host-key mode exists for testing but is explicitly insecure. Checkpoints restore files only and cannot undo side effects outside the workspace.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/blinkingbit-oss-execkit)<a href="https://allmcps.com/mcp/blinkingbit-oss-execkit"><img src="https://allmcps.com/api/badge/blinkingbit-oss-execkit?style=directory" alt="Execkit on AllMCPs" /></a>