jonnyzzz/mcp-steroid/prompt
Claude Code and agent skill by jonnyzzz/mcp-steroid
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install jonnyzzz/mcp-steroid/promptSKILL.md
IntelliJ API Power User Guide
RECOMMENDED: Execute Kotlin code directly in IntelliJ IDEA's runtime with full access to IntelliJ Platform APIs.
MCP Steroid - IDE API Access for AI Agents
Execute Kotlin code directly in IntelliJ IDEA's runtime with full access to the IntelliJ Platform API.
Important Notes for AI Agents
Learning Curve: Writing working code for IntelliJ APIs may require several attempts. This is normal! The API is vast and powerful. Keep trying - each attempt teaches you more about the available APIs. Use printException() to see stack traces when errors occur.
Drop-in replacement for LSP: This MCP server replaces LSP (Language Server Protocol) tools with IntelliJ's native APIs — same operations, deeper understanding:
- PSI (Program Structure Interface) instead of LSP document symbols — full semantic analysis
- IntelliJ inspections, refactorings, intentions instead of LSP code actions
- Full project model with module dependencies instead of workspace folders
- Platform-specific indices for O(1) code search instead of filesystem scans
Common task → resource cheat sheet
Before reading further, if your task matches one of these, skip straight to the linked recipe:
| Task | Fetch this | |
|---|---|---|
| Find duplicate / cloned / DRY-violation / copy-paste code | mcp-steroid://ide/find-duplicates | |
| Run a single named inspection + apply quick-fix | mcp-steroid://ide/inspect-and-fix | |
| List enabled inspections in the project | mcp-steroid://ide/inspection-summary | |
| Multi-file literal-text edit | one steroid_execute_code script: read + replace + save all files in a single writeAction { } | |
| Find usages of a symbol | mcp-steroid://lsp/find-references | |
| Find every direct/indirect subtype or implementor | mcp-steroid://ide/type-hierarchy | |
| Run / debug a test | mcp-steroid://ide/demo-debug-test | |
| Run Maven / Gradle tests | mcp-steroid://skill/execute-code-maven, mcp-steroid://skill/execute-code-gradle | |
| API discovery / exploration | continue reading this guide |
The full index is in the "MCP Resources (Use Them)" section below.
Quickstart Flow
For unattended Java/JVM work on 2026.2, install IDEA Ultimate with a pinned 2026.2 version. devrig launches it as a frontendless Remote Development backend with MCP Steroid included, so a window or screenshot is not a readiness requirement. Full lifecycle details: mcp-steroid://open-project/managing-backends (fetch it after steroid_list_projects supplies a project_name).
Each steroid_list_projects entry has TWO name fields: project_name (the within-IDE-unique, opaque routing KEY you pass back to every project-scoped tool) and name (the human-readable folder name, informational/display only). Always route by project_name. To find the right project for a file or directory path, pick the project whose path is the longest prefix of your target path (this disambiguates nested checkouts and git worktrees).
Example session:
When to Use This Skill
ALWAYS prefer IntelliJ APIs over file-based operations:
| Instead of... | Use IntelliJ API | |
|---|---|---|
Reading files with cat/read | VFS and PSI APIs | |
Searching with grep/find | Find Usages, Structural Search | |
| Manual text replacement | Automated refactorings | |
| Guessing code structure | Query project model directly |
The IDE has indexed everything. It knows the code better than any file search.
Available Tools
steroid_list_projects
List all open projects. Each entry has project_name (the unique routing key to pass to steroid_execute_code and the other project-scoped tools), name (the human-readable folder name, informational only), and path. To map a file/dir path to a project, pick the project whose path is the longest prefix of your target path.
steroid_list_windows
List open IDE windows (and background tasks) and their associated projects. Some windows may not be tied to a project and a project can have multiple windows. Use this in multi-window setups to pick the correct window_id for screenshot/input tools. Each window and task entry references its project by project_name — the single routing key. Look up that project's human-readable name and path via steroid_list_projects by that key (they are not duplicated on window/task entries).
steroid_take_screenshot
Capture a screenshot of the IDE frame and return image content.
HEAVY ENDPOINT: Use only for debugging and tricky configuration. Prefer steroid_execute_code for regular automation.
Parameters:
project_name(required): theproject_namefromsteroid_list_projects(a unique routing key, NOT the raw folder name)task_id(required): Task identifier for loggingreason(required): Why the screenshot is neededwindow_id(optional): Window id fromsteroid_list_windowsto target a specific window
Artifacts (saved under the execution folder):
screenshot.pngscreenshot-tree.mdscreenshot-meta.json
The response includes window_id (also stored in screenshot-meta.json); pass it to steroid_input to target the same window. window_id is also returned by steroid_list_windows.
steroid_input
Send input events (keyboard + mouse) using a sequence string.
HEAVY ENDPOINT: Use only for debugging and tricky configuration. Prefer steroid_execute_code for regular automation.
Parameters:
project_name(required): theproject_namefromsteroid_list_projects(a unique routing key, NOT the raw folder name)task_id(required): Task identifier for loggingreason(required): Why the input is neededwindow_id(required): Window id fromsteroid_list_windows(also returned bysteroid_take_screenshot)sequence(required): Comma-separated or newline-separated input sequence (commas inside values are allowed unless they look like, <step>:; commas are optional when using newlines)
Sequence examples:
stick:ALT, delay:400, press:F4, type:hurraclick:CTRL+Left@120,200click:Right@screen:400,300
Notes:
- Comma separators are detected by
, <step>:patterns, so avoid typing, delay:etc in text. - Trailing commas before a newline are ignored.
- Use
#for comments until the end of the line. - Targets default to screenshot coordinates; use
screen:for absolute screen pixels. - Input focuses the screenshot window before dispatching events.
steroid_execute_code
Execute code with IntelliJ's brain, not just text files.
Give your AI agent a senior developer's toolkit: semantic code understanding, automated refactorings, and IDE intelligence that LSP can't provide.
Parameters: project_name, code (Kotlin suspend function body), task_id, reason, timeout (optional)
Returns: execution_id plus ONLY what the script explicitly prints (println / printJson / printCsv / printToon). The last expression's value is ignored by the runtime — a script that computes but never prints returns no data, just a HINT: about the missing print.
Complete guide: mcp-steroid://skill/coding-with-intellij (API reference, patterns, examples, best practices)
steroid_execute_feedback
Rate execution results. Use after steroid_execute_code.
steroid_open_project
Open a project in the IDE. A managed backend cold start may block until MCP is reachable; only the project-open phase is asynchronous.
Through devrig, a sole installed managed backend is selected and started automatically; backend startup waits until MCP is reachable. The project-open request itself remains asynchronous.
Parameters:
project_path(required): Absolute path to the project directory to opentask_id(required): Task identifier for loggingreason(required): Why you are opening the projecttrust_project(optional): If true, trust the project path before opening (skips trust dialog). Default: true
Workflow:
- Call
steroid_open_projectwith the project path - If
trust_project=true, the project will be trusted automatically (no trust dialog) - Poll
steroid_list_projectsuntil the path appears and keep its freshproject_name - If a frontend exists, use
steroid_list_windows; only use screenshot/input when it reports a modal - A frontendless Remote Development backend has no required window. For a first Maven/Gradle open, await
the build-system model using its execute-code sync recipe before indexed semantic queries
MCP Resources (Use Them)
This server exposes built-in articles through steroid_fetch_resource. These are the fastest way to load full examples and guides without guessing or copy/pasting from the web.
How to access resources:
- Call
steroid_fetch_resourcewith amcp-steroid://URI to load the content.
The fetch tool is project-scoped because articles render for the target IDE. On a clean machine, use the initialize instructions and open-project description to bootstrap; fetch articles after a project appears.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingprompts/src/main/prompts/prompt/skill.md
Popularity
- Repository stars
- 73
- Repository forks
- 18
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jonnyzzz/mcp-steroid/prompt)