# Installation RocketSmith integrates with AI coding tools through their native **plugin/extension interfaces** for MCP. ## Gemini CLI (extension) ### Install ```bash gemini extensions install https://github.com/ppak10/RocketSmith ``` The extension is resolved from the GitHub repository. It registers the MCP server, the orchestrator agent, three domain subagents, and the action skills automatically. No separate `uv install` or MCP configuration is needed — the extension interface handles everything. ### First use Start a new session: ``` @rocketsmith design and simulate a simple rocket for a D12 motor ``` The orchestrator will create an `.ork` file, build a minimal component tree, assign the motor, run the simulation, and report max altitude, max velocity, and stability margin. ## Claude Code (plugin) Install via the Claude Code plugin marketplace: ```bash claude plugin install ppak10/RocketSmith ``` This registers the MCP server, all domain agents, and skills automatically via the `.claude-plugin/plugin.json` manifest. No manual `settings.json` editing required. ### First use Start a new session in your project directory: ``` Use rocketsmith to design and simulate a simple rocket for a D12 motor ``` The agent will call `rocketsmith_setup` automatically, which registers the project directory, starts the GUI server, and opens the dashboard in your browser. ## Other clients The MCP server works with any MCP-compatible client. Point it at the `rocketsmith-mcp` entry point as shown in the Claude Code section above. ## Requirements ### OpenRocket version RocketSmith uses [orhelper](https://github.com/SilentSys/orhelper), which targets the `net.sf.openrocket` Java package present in **OpenRocket 23.09 and earlier**. OpenRocket 24+ reorganised its packages to `info.openrocket` and is not currently supported. ### Java version Any JDK 8+ will work. Install via your platform's package manager: | Platform | Command | |----------|---------| | macOS | `brew install openjdk` | | Linux | `apt install default-jre` | | Windows | `winget install Temurin.JDK` | ### OpenRocket 23.09 Download the JAR from the [OpenRocket release archive](https://sourceforge.net/projects/openrocket/files/openrocket/23.09/). Place it at: | Platform | Path | |----------|------| | macOS / Linux | `~/.local/share/openrocket/OpenRocket.jar` | | Windows | `~/AppData/Local/OpenRocket/OpenRocket.jar` | ### PrusaSlicer Optional — only needed if you want the pipeline to take a design all the way through CAD and slicing. The simulation and CAD phases work without PrusaSlicer, but the mass-calibration loop cannot run without real printed-part weights, which means the design remains "simulation-verified only" and not "flight-ready". ## Project Directory Resolution RocketSmith tools need to know where to write output files (`gui/component_tree.json`, `gui/parts/`, `cadsmith/step/`, etc.). The project directory is resolved in this order: 1. **`ROCKETSMITH_PROJECT_DIR` env var** — if set and points to a valid directory, it takes priority. Gemini CLI sets this automatically via `${workspacePath}` substitution in `gemini-extension.json`. 2. **PID-scoped file** — when you call `rocketsmith_setup(project_dir="")`, the path is written to `~/.rocketsmith/project_`. Subsequent tool calls in the same MCP server process read it from there. The file is removed automatically when the server exits. 3. **CWD fallback** — if neither of the above is available, the server's current working directory is used. **Always call `rocketsmith_setup` with `project_dir` at the start of a session.** The agents do this automatically by running `pwd` first and passing the result: ``` rocketsmith_setup(action="check", project_dir="/path/to/my/rocket/project") ``` This ensures all tool output lands in the correct project folder even when the MCP server process is started from a different working directory (e.g., from a VS Code extension or a global Claude Code config). It also starts the GUI server automatically and opens `index.html` in the browser — no separate `gui_server` call is needed. ## Troubleshooting ### "OpenRocket JAR not found" Verify the JAR exists at the expected platform path listed above. If you installed OpenRocket to a custom location, set the `OPENROCKET_JAR` environment variable to point to it. ### "JVM startup failed" Java is either not installed or not on the system PATH. Verify with `java -version`. If it's installed but not found, add it to your PATH or create a symlink. ### MCP tools error out Ensure the MCP server is running. For Claude Code, check that the `mcpServers` entry in `settings.json` is correct. For Gemini CLI, verify the extension installed successfully with `gemini extensions list`.