Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Local Testing Agent MCP Serverrun all tests and generate a coverage report"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
π 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 |
| pytest |
|
JavaScript/TypeScript |
| jest |
|
Go |
| go test |
|
Rust |
| cargo test |
|
Java |
| Maven/Gradle |
|
Ruby |
| RSpec/Minitest |
|
π¦ Installation
Prerequisites
Python 3.11 or higher
pip (Python package installer)
Setup
Clone the repository:
git clone https://github.com/marcelkurvers/local-testing-agent.git
cd local-testing-agentCreate and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtInstall 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)
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": {}
}
}
}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.pyOr 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 statusTEST_COVERAGE_MAP.md: Human-readable coverage summaryTEST_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 # DependenciesKey Components
Language Detection (
detect_languages): Walks the repository once and identifies all source and test filesTest Planning (
plan_test_runs): Creates execution plans based on detected filesTest Execution (
execute_planned_runs): Runs language-specific test commandsReport 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.javaFramework-specific: Adapts to Jest, RSpec, Minitest, etc.
βοΈ Configuration
Excluded Directories
The following directories are automatically excluded from scanning:
Virtual environments:
.venv,venv,site-packagesVersion control:
.gitBuild artifacts:
dist,build,outCaches:
__pycache__,.cache,.pytest_cache,coverageIDE/Editor:
.vscode,.ideaFramework-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.
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)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.