Local Testing Agent MCP Server
A multi-language testing automation server that enables AI assistants to discover, plan, and execute tests across six major programming languages. It provides comprehensive tools for repository scanning, automated test execution, and detailed coverage reporting.
README
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 | .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
- Clone the repository:
git clone https://github.com/marcelkurvers/local-testing-agent.git
cd local-testing-agent
- Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- 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)
- 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.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 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 # Dependencies
Key Components
- Language Detection (
detect_languages): Walks the repository once and identifies all source and test files - Test Planning (
plan_test_runs): Creates execution plans based on detected files - Test Execution (
execute_planned_runs): Runs language-specific test commands - 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.
- 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.