name: eclipse-run description: Launch and stop Java applications in Eclipse. Run with program/VM arguments, capture stdout/stderr, or launch in background. argument-hint: [project] [main class] allowed-tools: mcp__eclipse-runner__runJavaApplication, mcp__eclipse-runner__launchConfiguration, mcp__eclipse-runner__listLaunchConfigurations, mcp__eclipse-runner__stopApplication, mcp__eclipse-runner__listActiveLaunches, mcp__eclipse-ide__getConsoleOutput
Run Java Applications in Eclipse
Launch Java applications using Eclipse's launch infrastructure. Applications run inside Eclipse with full classpath resolution.
Tools
runJavaApplication — Launch a Java app in run mode.
projectName— Eclipse project namemainClass— Fully qualified main class (e.g.,com.example.Main)programArgs— Optional program argumentsvmArgs— Optional JVM arguments (e.g.,-Xmx512m -Dfoo=bar)timeout— Seconds to wait for completion.0= launch in background without waiting. Default:30
launchConfiguration — Launch an existing saved launch configuration by name, exactly as it would run from the Run/Debug Configurations dialog. Reuses the configuration's full setup (classpath, VM args, environment variables, working directory, JRebel/agent settings) instead of building a throwaway one.
configurationName— Exact name of the saved configuration (uselistLaunchConfigurationsto find it)mode—runordebug. Default:runtimeout— Seconds to wait for completion.0= background. Default:0
listLaunchConfigurations — List saved launch configurations (name, type, and project/main class for Java apps). Use this to discover the exact name for
launchConfiguration.stopApplication — Terminate a running application by name/class substring match.
nameOrClass— Substring to match (case-insensitive) against launch name or main class
listActiveLaunches — Show all currently running/debugging sessions with status.
getConsoleOutput — Read output from Eclipse consoles (use after background launches).
Examples
Run and capture output:
runJavaApplication(projectName="myapp", mainClass="com.example.Main", timeout="30")
Run in background:
runJavaApplication(projectName="myapp", mainClass="com.example.Server", timeout="0")
Run with arguments:
runJavaApplication(projectName="myapp", mainClass="com.example.CLI", programArgs="--verbose input.txt", vmArgs="-Xmx1g")
Launch an existing saved configuration (preserves its env vars, VM args, JRebel, etc.):
listLaunchConfigurations()
launchConfiguration(configurationName="Run Snapshot App No Data Compass Local", mode="debug", timeout="0")
Stop a running app:
stopApplication(nameOrClass="Main")
Notes
- When
timeout > 0, the tool waits and returns stdout/stderr and exit code - When
timeout = 0, the app runs in background — usegetConsoleOutputto see output andstopApplicationto terminate - Output is truncated at 5000 chars (stdout) / 2000 chars (stderr) to fit context