jonnyzzz/mcp-steroid/prompt

Claude Code and agent skill by jonnyzzz/mcp-steroid

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Install

npx vskill@latest install jonnyzzz/mcp-steroid/prompt

SKILL.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:

TaskFetch this
Find duplicate / cloned / DRY-violation / copy-paste codemcp-steroid://ide/find-duplicates
Run a single named inspection + apply quick-fixmcp-steroid://ide/inspect-and-fix
List enabled inspections in the projectmcp-steroid://ide/inspection-summary
Multi-file literal-text editone steroid_execute_code script: read + replace + save all files in a single writeAction { }
Find usages of a symbolmcp-steroid://lsp/find-references
Find every direct/indirect subtype or implementormcp-steroid://ide/type-hierarchy
Run / debug a testmcp-steroid://ide/demo-debug-test
Run Maven / Gradle testsmcp-steroid://skill/execute-code-maven, mcp-steroid://skill/execute-code-gradle
API discovery / explorationcontinue reading this guide

The full index is in the "MCP Resources (Use Them)" section below.

Quickstart Flow

1. steroid_list_projects → get list of open projects
2. Empty on a clean machine? Run `devrig backend download --json`, install the required product, then
call steroid_open_project. It auto-starts a sole installed backend; no separate start is required.
3. Poll steroid_list_projects until the path appears, then pick its `project_name` (the unique routing
key — NOT the human-readable `name`). Do not reuse a key from before an IDE/project restart.
4. On a first Maven/Gradle open, fetch `mcp-steroid://skill/execute-code-maven` or
`mcp-steroid://skill/execute-code-gradle`, then trigger and await external-system configuration exactly
as that recipe shows.
5. steroid_execute_code → run Kotlin code with that project_name
6. steroid_execute_feedback → report success/failure for tracking

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:

→ steroid_list_projects
← {"projects":[{"project_name":"my-app-9fk2a0xq","name":"my-app","path":"/path/to/my-app","backend_name":"iu-9fk2a0xq"}],
"backends":[{"backend_name":"iu-9fk2a0xq","intellij":{"name":"IntelliJ IDEA 2026.1.3","version":"2026.1.3","build":"IU-261.25134.95"}}]}
→ steroid_execute_code(project_name="my-app-9fk2a0xq", code="println(project.name)", ...)
← "my-app"
→ steroid_execute_feedback(project_name="my-app-9fk2a0xq", task_id="...", execution_id="...", success_rating=1.0, explanation="Got project name")

When to Use This Skill

ALWAYS prefer IntelliJ APIs over file-based operations:

Instead of...Use IntelliJ API
Reading files with cat/readVFS and PSI APIs
Searching with grep/findFind Usages, Structural Search
Manual text replacementAutomated refactorings
Guessing code structureQuery 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): the project_name from steroid_list_projects (a unique routing key, NOT the raw folder name)
  • task_id (required): Task identifier for logging
  • reason (required): Why the screenshot is needed
  • window_id (optional): Window id from steroid_list_windows to target a specific window

Artifacts (saved under the execution folder):

  • screenshot.png
  • screenshot-tree.md
  • screenshot-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): the project_name from steroid_list_projects (a unique routing key, NOT the raw folder name)
  • task_id (required): Task identifier for logging
  • reason (required): Why the input is needed
  • window_id (required): Window id from steroid_list_windows (also returned by steroid_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:hurra
  • click:CTRL+Left@120,200
  • click: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 open
  • task_id (required): Task identifier for logging
  • reason (required): Why you are opening the project
  • trust_project (optional): If true, trust the project path before opening (skips trust dialog). Default: true

Workflow:

  1. Call steroid_open_project with the project path
  2. If trust_project=true, the project will be trusted automatically (no trust dialog)
  3. Poll steroid_list_projects until the path appears and keep its fresh project_name
  4. If a frontend exists, use steroid_list_windows; only use screenshot/input when it reports a modal
  5. 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:

  1. Call steroid_fetch_resource with a mcp-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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/jonnyzzz/mcp-steroid/prompt/badge)](https://verified-skill.com/skills/jonnyzzz/mcp-steroid/prompt)

Something wrong with this skill or its page? Tell us.