Test Runner MCP

Test Runner MCP

site icon
2025.04.14 12
TypeScript测试框架测试执行测试管理开发效率
mcp-test-runner 是一个基于 Model Context Protocol (MCP) 的测试运行服务器,旨在为多种测试框架提供统一的执行和结果解析接口。它支持包括 Bats、Pytest、Flutter Tests、Jest、Go Tests、Rust Tests 以及通用命令执行在内的多种测试框架。该服务通过标准化测试执行流程和结果输出格式,简化了多框架测试环境的管理和集成。
View on GitHub

Overview

基本能力

产品定位

mcp-test-runner 是一个多框架测试执行和结果解析的统一接口服务,旨在简化测试流程和提高开发效率。

核心功能

  • 支持多种测试框架:Bats、Pytest、Flutter Tests、Jest、Go Tests、Rust Tests 和通用命令执行
  • 统一的测试执行接口
  • 标准化的测试结果解析
  • 内置安全特性,防止执行有害命令
  • 特定框架的增强支持(如 Flutter 和 Rust)
  • 灵活的配置选项

适用场景

  • 多框架测试环境的统一管理
  • 持续集成/持续部署(CI/CD)流程中的测试执行
  • 自动化测试套件的集成
  • 跨平台项目的测试管理
  • 需要安全执行外部命令的场景

工具列表

  • run_tests: 主测试执行工具,支持配置测试命令、工作目录、框架类型等参数

常见问题解答

  • Flutter 测试支持:需要正确配置 FLUTTER_ROOT 和 PUB_CACHE 环境变量
  • 安全限制:默认阻止 sudo 和 su 命令,可通过 securityOptions 配置
  • 通用命令执行:支持任意命令执行,但受安全限制保护

使用教程

使用依赖

安装各测试框架的前置依赖:

# Bats
apt-get install bats 或 brew install bats

# Pytest
pip install pytest

# Flutter
Follow Flutter installation guide (https://flutter.dev/docs/get-started/install)

# Jest
npm install --save-dev jest

# Go
Follow Go installation guide (https://go.dev/doc/install)

# Rust
Follow Rust installation guide (https://www.rust-lang.org/tools/install)

安装教程

npm install test-runner-mcp

配置

在 MCP 设置文件中添加 test-runner 配置(如 claude_desktop_config.json 或 cline_mcp_settings.json):

{
  "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": "/opt/homebrew/Caskroom/flutter/3.27.2/flutter",
        "PUB_CACHE": "/Users/username/.pub-cache",
        "PATH": "/opt/homebrew/Caskroom/flutter/3.27.2/flutter/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

运行测试

使用 run_tests 工具执行测试,示例配置:

{
  "command": "test command to execute",
  "workingDir": "working directory for test execution",
  "framework": "bats|pytest|flutter|jest|go|rust|generic",
  "outputDir": "directory for test results",
  "timeout": "test execution timeout in milliseconds (default: 300000)",
  "env": "optional environment variables",
  "securityOptions": "optional security options for command execution"
}

调试方式

  1. 检查环境变量是否正确配置
  2. 验证各测试框架是否已正确安装
  3. 检查输出目录权限
  4. 查看生成的测试结果文件(test_output.log, test_errors.log, test_results.json, summary.txt)

开发

设置

  1. 克隆仓库
  2. 安装依赖:
npm install
  1. 构建项目:
npm run build

运行测试

npm test

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。