Skip to main content
Glama
marcelkurvers

Local Testing Agent MCP Server

Local Testing Agent MCP Server

A comprehensive multi-language testing automation MCP (Model Context Protocol) server that enables AI assistants like Claude to discover, plan, and execute tests across multiple programming languages.

License: MIT Python 3.11+

🌟 Features

  • Multi-Language Support: Automatically detect and test projects in 6 programming languages

  • Smart Test Discovery: Comprehensive pattern matching for test files across different frameworks

  • Automated Test Execution: Run language-specific test suites with proper frameworks

  • AI-Powered Test Planning: Generate intelligent test plans for Claude and other AI assistants

  • Comprehensive Reporting: JSON and Markdown reports with coverage maps

  • MCP Protocol: Seamless integration with Claude Code, Gravity, and other MCP clients

πŸ”§ Supported Languages & Frameworks

Language

File Extensions

Test Framework

Test Patterns

Python

.py

pytest

test_*.py, *_test.py, tests/

JavaScript/TypeScript

.js, .jsx, .ts, .tsx

jest

*.test.js, *.spec.ts, __tests__/

Go

.go

go test

*_test.go

Rust

.rs

cargo test

*_test.rs, tests/

Java

.java

Maven/Gradle

*Test.java, test/

Ruby

.rb

RSpec/Minitest

*_spec.rb, *_test.rb, spec/

πŸ“¦ Installation

Prerequisites

  • Python 3.11 or higher

  • pip (Python package installer)

Setup

  1. Clone the repository:

git clone https://github.com/marcelkurvers/local-testing-agent.git
cd local-testing-agent
  1. Create and activate a virtual environment:

python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:

pip install -r requirements.txt
  1. Install language-specific test frameworks (optional, based on your needs):

# Python (already included)
pip install pytest

# JavaScript/TypeScript
npm install -g jest

# Go (already included with Go installation)
# Rust (already included with Cargo)
# Java - Maven or Gradle
# Ruby
gem install rspec

πŸš€ Usage

As an MCP Server

With Claude Code

The server auto-discovers when running Claude Code. No additional configuration needed.

With Gravity (Google Antigravity)

  1. Configure in ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "local-testing-agent": {
      "command": "/path/to/local-testing-agent/.venv/bin/python",
      "args": [
        "/path/to/local-testing-agent/testing_agent.py"
      ],
      "env": {}
    }
  }
}
  1. Restart Gravity completely to register the MCP server.

MCP Tools Available

The server exposes three MCP tools:

1. scan_repository

Scans a project directory and detects source files and test files for all supported languages.

scan_repository(project_root=".")

Returns:

  • Snapshot file (.mcp_scan_snapshot.json)

  • Test plan file (TEST_PLAN_AI.md)

  • Language detection results

2. run_all_tests

Runs all detected tests for all languages with test files.

run_all_tests(project_root=".")

Returns:

  • Test report (.mcp_test_report.json)

  • Coverage map (TEST_COVERAGE_MAP.md)

  • Execution results for each framework

3. full_phase2_pipeline

Convenience tool that runs scan β†’ plan β†’ test β†’ coverage in one call.

full_phase2_pipeline(project_root=".")

Standalone Usage

Run the MCP server directly:

python testing_agent.py

Or use the Phase 1 testing engine:

python -c "from testing_engine.pipeline import full_test_pipeline; full_test_pipeline('.')"

πŸ“Š Output Files

The MCP server generates several files:

  • .mcp_scan_snapshot.json: Complete scan results with all detected files

  • .mcp_test_report.json: Test execution results with pass/fail status

  • TEST_COVERAGE_MAP.md: Human-readable coverage summary

  • TEST_PLAN_AI.md: AI-generated test plan with suggestions

πŸ—οΈ Architecture

Project Structure

local-testing-agent/
β”œβ”€β”€ testing_agent.py           # Phase 2 MCP server (main)
β”œβ”€β”€ testing_engine/            # Phase 1 implementation
β”‚   β”œβ”€β”€ file_scanner.py        # File discovery
β”‚   β”œβ”€β”€ unit_test_generator.py # Test generation
β”‚   └── pipeline.py            # Test orchestration
β”œβ”€β”€ tests/                     # Test suite
β”‚   β”œβ”€β”€ test_smoke.py         # Smoke tests
β”‚   └── unit/                 # Unit tests
β”œβ”€β”€ CLAUDE.md                  # Development guide
β”œβ”€β”€ IMPROVEMENT_PLAN.md        # Roadmap
└── requirements.txt           # Dependencies

Key Components

  1. Language Detection (detect_languages): Walks the repository once and identifies all source and test files

  2. Test Planning (plan_test_runs): Creates execution plans based on detected files

  3. Test Execution (execute_planned_runs): Runs language-specific test commands

  4. Report Generation: Produces JSON and Markdown reports

πŸ” Test Detection Patterns

The agent uses comprehensive patterns to detect test files:

  • Directory-based: tests/, test/, spec/, __tests__/

  • Naming conventions: test_*.py, *_test.go, *.spec.ts, *Test.java

  • Framework-specific: Adapts to Jest, RSpec, Minitest, etc.

βš™οΈ Configuration

Excluded Directories

The following directories are automatically excluded from scanning:

  • Virtual environments: .venv, venv, site-packages

  • Version control: .git

  • Build artifacts: dist, build, out

  • Caches: __pycache__, .cache, .pytest_cache, coverage

  • IDE/Editor: .vscode, .idea

  • Framework-specific: node_modules, .next, .turbo, .mcp

Customization

See CLAUDE.md for detailed development guidelines and customization options.

πŸ§ͺ Testing

Run the test suite:

# Activate virtual environment
source .venv/bin/activate

# Run all tests
pytest

# Run with verbose output
pytest -v

# Run specific test file
pytest tests/test_smoke.py

πŸ—ΊοΈ Roadmap

See IMPROVEMENT_PLAN.md for the complete phased improvement plan.

Completed βœ…

  • Phase 1: Multi-language support (Python, JS/TS, Go, Rust, Java, Ruby)

  • Comprehensive test detection patterns

  • MCP protocol integration

In Progress 🚧

  • Phase 2: Parallel test execution

  • Phase 2: Coverage collection integration

  • Phase 3: Comprehensive test suite

Planned πŸ“‹

  • PHP and C# language support

  • Smart framework detection

  • Configuration system

  • Watch mode

  • CI/CD integration helpers

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built with FastMCP for MCP protocol support

  • Designed for use with Claude Code

  • Compatible with Google Gravity (Antigravity)

πŸ“§ Contact

Marcel Kurvers - @marcelkurvers

Project Link: https://github.com/marcelkurvers/local-testing-agent


Note: This project is actively developed. See IMPROVEMENT_PLAN.md for upcoming features and enhancements.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcelkurvers/local-testing-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server