Orchestrating code and processes with precision and elegance
A Python-based process manager that monitors, coordinates, and conducts the lifecycle of other processes and code. Like a maestro directing an orchestra, Simply Maestro harmonizes all aspects of your application's runtime environment through the Model Context Protocol (MCP).
Part of the "Simply" family of tools, Simply Maestro brings sophisticated process management capabilities with the simplicity and reliability you expect.
- Process Monitoring: Real-time monitoring of a target process
- Process Management: Start and restart capabilities
- File Operations: Reading, editing, and searching files
- Version Control: Git integration for code management
- MCP Integration: Expose capabilities through standardized MCP services
Simply Maestro exposes the following capabilities as MCP services, organized by category:
start_task- Monitor an existing process or start a new onestop_task- Stop a running processrestart_task- Emergency restart when needed (target processes typically have their own restart mechanisms)
list_process_logs- List available process log filesread_process_log- Read the contents of a specific log file
read_file- Read file contentsedit_file- Direct file editingchange_in_file- Apply diffs to filessearch_files- Search files with ripgrep
git_restore- Git restore operationsgit_commit- Git commit operations
Ensure you have Python 3.10+ and uv installed. Then:
# Clone the repository
git clone https://github.com/poucet/maestro.git
cd maestro
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -e .Simply Maestro requires the following environment variables:
SIMPLY_MAESTRO_TARGET_CMD: Command to start the target processSIMPLY_MAESTRO_WORKING_DIR: Working directory for operationsSIMPLY_MAESTRO_LOG_LEVEL: Logging verbosity (DEBUG, INFO, WARNING, ERROR)SIMPLY_MAESTRO_MCP_PORT: Port for the MCP server (default: 4998)SIMPLY_MAESTRO_TARGET_PORT: Port for the target process (for discovery)
# Start Simply Maestro directly
python -m simply_maestro
# Or use the provided scripts:
# Start Simply Maestro in the background with logging
./start.sh
# Stop Simply Maestro and any managed processes
./kill.shInstall development dependencies:
uv pip install -e ".[dev]"Run tests:
pytestMIT