MCP Steroid Configuration
MCP Steroid can be configured via IntelliJ’s Registry (Help > Find Action > Registry) or via JVM system properties (-D flags). All settings use the mcp.steroid.* prefix.
Server Settings
| Registry Key | Default | Description |
|---|---|---|
mcp.steroid.server.port | 6315 | MCP server port. Use 0 for auto-assign. The actual URL is written to .idea/mcp-steroid.md. |
mcp.steroid.server.host | 127.0.0.1 | MCP server bind address. Use 0.0.0.0 for Docker/remote access. |
Execution
| Registry Key | Default | Description |
|---|---|---|
mcp.steroid.execution.timeout | 600 | Script execution timeout in seconds. |
mcp.steroid.dialog.killer.enabled | true | Automatically close modal dialogs before code execution. Prevents execution failures when dialogs are blocking the IDE. |
Storage
| Registry Key | Default | Description |
|---|---|---|
mcp.steroid.storage.path | (empty) | Custom path for MCP execution storage. Empty uses .idea/mcp-steroid/. |
mcp.steroid.idea.description.enabled | true | Generate .idea/mcp-steroid.md description file in projects. |
Demo Mode
| Registry Key | Default | Description |
|---|---|---|
mcp.steroid.demo.enabled | false | Enable Demo Mode overlay during MCP execution. |
mcp.steroid.demo.minDisplayTime | 3000 | Minimum display time in milliseconds. |
mcp.steroid.demo.maxLines | 15 | Maximum log lines to show in overlay. |
mcp.steroid.demo.opacity | 85 | Background opacity (0-100). |
mcp.steroid.demo.focusFrame | true | Bring project frame to front when showing overlay. |
Updates
| Registry Key | Default | Description |
|---|---|---|
mcp.steroid.updates.enabled | true | Enable automatic update checks. |
Dialog Killer
The Dialog Killer feature automatically closes modal dialogs before code execution. This prevents execution failures when dialogs (like Settings, refactoring confirmations, or error messages) are blocking the IDE.
How It Works
When you call steroid_execute_code:
- Detection: Checks if a modal dialog is currently open using
ModalityState - Screenshot: Captures a screenshot of the dialog for debugging (saved to
.idea/mcp-steroid/{execution-id}-dialog-killer/) - Closure: Closes all modal dialogs owned by the project frame using
doCancelAction() - Logging: Reports the activity via IDE log and MCP progress messages
- Execution: Proceeds with your code execution normally
When to Disable
You might want to disable the dialog killer (mcp.steroid.dialog.killer.enabled = false) if:
- You’re intentionally working with dialogs and want them to remain open
- You’re testing dialog-related functionality
- You want to see what dialogs the IDE is showing during development
Screenshot Location
When dialogs are detected and closed, a screenshot is automatically saved to:
.idea/mcp-steroid/{execution-id}-dialog-killer/screenshot.png
This helps you understand what was blocking the IDE and verify the dialog killer is working correctly.
Note: When the plugin starts, it writes the server URL to
.idea/mcp-steroid.mdin each open project. The first line contains the URL (for example,http://127.0.0.1:6315/mcp). This file is your MCP client’s connection target.
Tip: You can also set these as JVM system properties by using
-Dmcp.steroid.server.port=8080in your IDE’s VM options. System properties take precedence over Registry values.