1. Conduid
  2. Developer Tools
  3. Async Bash MCP
MCP server · Developer Tools

Async Bash MCP

An MCP to overcome the issues I was having with opencode's bash tool

34Low

Scored 6 days ago · breakdown

About Async Bash MCP

Async Bash MCP is an MCP server in the Developer Tools category: an MCP to overcome the issues I was having with opencode's bash tool.

The repository has 6 stars and 0 forks.

Install

From source
git clone https://github.com/vincent-chang/async-bash-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Async Bash MCP

Powered by Claude · Grounded in docs

I know everything about Async Bash MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

async-bash-mcp

License Test

English | 中文

An MCP server for spawning and managing bash commands asynchronously. Run multiple shell commands in parallel and check their progress independently.

Background

I discovered the original async-bash-mcp project while struggling with opencode's bash execution timeouts. The original project effectively solves this problem — it's especially useful for time-consuming operations like downloading and installing project dependencies, where fixed timeouts often fall short. This Rust rewrite was built using opencode + oh-my-opencode inside OpenChamber. As a local-type MCP server, Rust offers lower startup overhead compared to Python, making it a better fit for tools that are launched on every session.

Usage with opencode

Add to your opencode.json config to replace the bash tool with async-bash-mcp:

{
  "$schema": "https://opencode.ai/config.json",
  "tools": {
    "bash": false
  },
  "mcp": {
    "async-bash": {
      "type": "local",
      "command": ["/path/to/async-bash-mcp"],
      "enabled": true
    }
  }
}

Download the latest binary from GitHub Releases or build from source with cargo build --release.

Then use commands like:

  • "Spawn a long-running build in the background"
  • "Run tests in parallel and show me the results"
  • "Start a server and tell me when it's ready"

Why async bash?

When working with long-running commands like builds, tests, or servers, the agent needs to:

  • Monitor progress incrementally without committing to a fixed timeout
  • Run multiple commands in parallel and check each independently
  • Make decisions about continuing or terminating based on partial output
  • Process real-time feedback as commands generate output

This tool provides the agent with better information for decision-making, leading to faster task completion and fewer confused responses.

Key advantages over the built-in bash tool:

  • Better decision making: Agents can see partial output and make informed choices about continuing or terminating
  • Parallel execution: Run multiple commands simultaneously
  • No timeout guessing: Check progress incrementally instead of setting timeouts upfront
  • Faster iterations: No waiting for arbitrary timeouts when errors are already visible

This tool is designed to replace opencode's bash tool for any scenario involving potentially long-running commands, giving agents the information they need to make better decisions and save you time.

Tools

spawn - Launch a bash command asynchronously

  • command (str): The bash command to run
  • cwd (str, optional): Working directory path
  • Returns a process ID for tracking

list_processes - Show all running/recent processes

  • No parameters
  • Returns array of {"ID": int, "command": str, "done": bool}

poll - Check progress of a spawned process

  • process_id (int): ID from spawn command
  • wait (int): Wait time in milliseconds
  • terminate (bool, optional): Kill process before returning results
  • Returns {"stdout": str, "stderr": str, "elapsedTime": float, "finished": bool, "exitCode": int}

Installation

Download the pre-built binary from GitHub Releases, or build from source:

cargo build --release
# Binary will be at: target/release/async-bash-mcp

macOS Note

If you downloaded the binary from GitHub Releases, macOS Gatekeeper may block it from running. Remove the quarantine attribute first:

xattr -d com.apple.quarantine /path/to/async-bash-mcp

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Async Bash MCP

How do I install Async Bash MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Async Bash MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Async Bash MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.