Test Runner

Provides a unified interface to run and parse tests across Bats, Pytest, Flutter, Jest, Go, Rust, and generic commands.
  • typescript

15

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "privsim-mcp-test-runner": {
      "command": "node",
      "args": [
        "/path/to/test-runner-mcp/build/index.js"
      ],
      "env": {
        "PATH": "/path/to/flutter/bin:/usr/local/bin:/usr/bin:/bin",
        "NODE_PATH": "/path/to/test-runner-mcp/node_modules",
        "PUB_CACHE": "/path/to/pub-cache",
        "FLUTTER_ROOT": "/path/to/flutter"
      }
    }
  }
}

You run this MCP server to execute tests across multiple frameworks from a unified interface, parse their outputs, and produce structured results for easy reporting and automation.

How to use

You connect to the Test Runner MCP from an MCP client and configure it to execute tests for the frameworks you use. The server accepts a single, consistent testing interface so you can run Bats, Pytest, Flutter tests, Jest, Go tests, Rust tests, or a generic command through one endpoint. Use the configured command and arguments to start a test run, collect live output, and save structured results for reporting and CI pipelines.

How to install

Prerequisites you need before installing the MCP server include Node.js and npm. You also install the test frameworks you intend to use, such as Bats, Pytest, Flutter, Jest, Go, and Rust, according to their official guides.

# Install the MCP server package
npm install test-runner-mcp

# Optional: verify installation
npm ls test-runner-mcp -g
# Install example prerequisites for Flutter users (adjust paths as needed)
# Flutter itself is installed outside of npm; ensure Flutter is available on your PATH
# Example: flutter doctor will verify setup

Configuration and examples

Configure the MCP server in your MCP settings to point to the local Node-based runner and pass the required environment variables for your Flutter setup if you plan to run Flutter tests.

{
  "mcpServers": {
    "test_runner": {
      "command": "node",
      "args": ["/path/to/test-runner-mcp/build/index.js"],
      "env": {
        "NODE_PATH": "/path/to/test-runner-mcp/node_modules",
        "FLUTTER_ROOT": "/path/to/flutter",
        "PUB_CACHE": "/path/to/pub-cache",
        "PATH": "/path/to/flutter/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

Security features

The server includes built-in security features to guard against potentially harmful commands, especially for the generic framework. It validates commands, sanitizes environment variables, and allows configurable overrides to balance safety with power when needed.

Security options you can configure include defaults that block sudo/su, prevent dangerous operations, and control shell behavior. You can override these restrictions when necessary.

Flutter Test Support

Flutter test support includes automatic environment setup, path configuration, and Flutter installation verification. It captures stack traces, assertions, and exceptions, and preserves raw output for detailed debugging.

Rust Test Support

Rust test support ensures RUST_BACKTRACE is enabled for clearer error messages. It parses cargo test output, captures detailed failure messages, identifies ignored tests, and provides a concise summary.

Generic Test Support

For CI/CD workflows or arbitrary commands, the generic framework analyzes output blocks, detects pass/fail indicators, and yields a structured result even when the format is unknown. It supports integration with tools like act, Docker, or custom scripts while enforcing configurable security.

Output format

The server outputs a structured representation of test results while preserving complete test output for auditing and debugging. Each test includes a name, pass/fail status, and the associated output lines. A summary aggregates total tests, passed and failed counts, and duration if available.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational