Skip to main content

A robust subprocess execution MCP

Project description

MCP spawning and managing bash tasks

tools provided:

  1. spawn : lauch a command
  • parameters:
    • command: str, the bash command to run
    • cwd: str, optional path to the cwd to use.
  • Spawns a bash command in a subshell asynchronously, returns a ID (int) of the newly launched task
  1. list :
  • parameters: none
  • Returns a list of the currently running processes each is a dictionary of [{"ID": int, "command": str, "done": bool}]. Tasks will be removed from the list when their result has been accessed via wait or poll
  1. poll, check the progress of a task
  • parameters: ID: int the command to check, wait: int wait for the process to finish executing or for wait ms to elapse. terminate: bool = false an optional parameter which triggers the command to be terminated with SIG_TERM before returning the command results
  • If poll is executed multiple times for a single process it will only return the stdout and stderr that was produced since the last call to poll (no duplicate outputs)
  • returns dictionary {"stdout": str, "stderr": str, "elapsedTime": float, "finished": bool, "exitCode": int} exitCode will only be present if finished is true. elapsedTime will be the number of milliseconds since the command started.

Requirements

  1. Must support multiple concurrent clients
  2. Each tool must have a description which is well designed to be consumed by an LLM
  3. Results should be presented in a format which is suitable for and LLM
  4. Uses the users default shell (bash, zsh, fish)

launching the MCP

This MCP is launched with uv via

uv run async-bash-mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

async_bash_mcp-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

async_bash_mcp-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file async_bash_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: async_bash_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for async_bash_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0bb2bfe0fd4de8feaabcba3442a8a327e1b39fbf626e03c2414e19a41c62a053
MD5 3d698f9dec78afffcf0d04d7185d2251
BLAKE2b-256 58dce389fb82047bdc3fb5888e61d6216115d00807d033dbba8fdb17f7bc1043

See more details on using hashes here.

File details

Details for the file async_bash_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for async_bash_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31b209c6fc96288f7e443cd64e9072b17257d2225ac7b5d1602b55aacd670ac5
MD5 232f8ac6874dc633fad43fae5a2f325f
BLAKE2b-256 661f4255a158c680e9056be1fe0e46d59d011296cef62b8ff3de0e9ba64dbd14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page