Execkit logo

Execkit

by blinkingbit-oss

Runs stateful, structured shell sessions locally, over SSH, or in Docker with policy checks, redaction, output limits, and remote file checkpoints.

Install Execkit

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "blinkingbit-oss-execkit": {
      "command": "uvx",
      "args": [
        "execkit-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 6 tools correctly (1mo ago).

Overview

The blinkingbit-oss/execkit MCP server gives agents persistent shell sessions across local hosts, SSH connections, and running Docker containers. Commands return structured results with separate output streams, exit status, duration, working directory, truncation status, and optional output-budget reports. It applies advisory command policies, redacts secrets before returning output, verifies SSH host keys, and can checkpoint or restore remote workspace files when Git and an explicit workspace are configured. Reach for it when an agent needs multi-step command execution with consistent state and bounded, auditable output rather than isolated terminal calls.

Use cases

  • Run multi-step shell workflows while preserving working-directory state
  • Execute commands on SSH hosts with host-key verification
  • Operate inside running Docker containers through a consistent MCP interface
  • Limit large command output before it reaches an agent context
  • Restore remote workspace files after an unsuccessful command

Key features

  • Stateful local, SSH, and Docker sessions
  • Structured stdout, stderr, exit code, duration, and working directory
  • Advisory command allow and deny policies
  • Secret redaction and bounded output
  • Git-backed remote workspace checkpoints
  • SSH host-key fingerprint verification

Tools6

What Execkit lets your agent do. Expand a tool for its parameters.

Verified live~2.0k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

18/18 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · execkit-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars12Stargazers on the source repository.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed6Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Execkit works

What blinkingbit-oss/execkit MCP server does

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.

How it works

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.

Setup and configuration

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.

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.

Tools and capabilities

  • 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.

Limitations and notes

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Execkit

Install the `execkit-mcp` package with pip, use the project's prebuilt release installer, or install it with Cargo. The MCP executable is named `execkit-mcp`.

Yes. Create an SSH session with a host, user, and password or key path. A host-key fingerprint can also be supplied for verification.

It can restore files from a remote workspace checkpoint when Git and an explicit workspace are available. It does not undo database, network, installation, or other external side effects.

No. Its command policy is an advisory, bypassable string-matching fence. The documentation recommends running the agent and SSH user with minimal privileges.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewExeckit AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/blinkingbit-oss-execkit?style=directory)](https://allmcps.com/mcp/blinkingbit-oss-execkit)
HTML Embed
<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>