MCP Steroid | MCP Steroid - Reliable code changes for your AI Agent

6 min read Original article ↗

MCP Steroid Logo

Give your AI Agent a whole IDE, not just the files. v0.100

MCP Steroid hands your AI Agent the same semantic actions a JetBrains IDE gives humans — typed refactors, inspections, the debugger, real test runs — so it finishes in fewer attempts and produces more stable results: less to verify now, and fewer bugs to chase or fix later.

Try devrig (CLI) Install plugin Watch demos

New: devrig — give your agent an IDE, even on a headless box Preview

devrig is a new standalone CLI that bridges any MCP-capable agent — Claude Code, Codex, Gemini — into a real IntelliJ-family IDE over stdio. It connects to every IDE you already have open at once — across projects, through a single bridge — or it downloads, installs, and starts one for the agent (IDEA Community/Ultimate, PyCharm, Android Studio), so your agent reaches real IDE semantics without you hand-wiring any MCP configuration.

One devrig bridge connects your AI Agent to all running IDEs at once — and can start more

Connect to all of them — or provision

One devrig process bridges your agent to every IntelliJ-family IDE running on the machine at once (across projects), or it fetches and launches a fresh one. Either way the agent talks to real IDEs, not a guess.

Headless & CI-ready Work in progress

Built for terminal, remote, and CI-style workflows: devrig manages the IDE lifecycle so agents on remote servers and in CI get the same semantic tools. This path is actively being hardened.

Read the devrig guide →

devrig is an early preview and the foundation for where this project is going — expect it to grow fast. Requires a JDK 25+ on the host. MCP Steroid / Devrig is an independent open-source project, not affiliated with, sponsored by, or endorsed by JetBrains.

Why MCP Steroid / Devrig

Works with any MCP-capable AI Agent — Claude, Codex, Gemini, Cursor, OpenCode, or any other MCP client. Run it in your JetBrains IDE today, or headless via the new devrig CLI.

Claude GPT Gemini Codex CLI Cursor OpenCode Any MCP Client

Fewer wasted iterations

AI Agents finish semantic tasks in fewer attempts when they can use real refactorings, inspections, and the debugger instead of guessing through file edits. Measured on selected DPAIA projects.

Closed verify loop

Your AI Agent runs inspections, the build, and the tests through the same IDE humans use to verify their own work — the Agent catches its mistakes before the human review queue does.

Built for AI Agents

MCP Steroid gives the AI Agents you already use real IDE power — not another UI to babysit. Whatever your role, your Agent does more of the work and leaves you less to clean up:

When you ship features

Your AI Agent drives a real JetBrains IDE on your code — safe renames, extract/move refactors, inspections, the debugger, and test runs — so it lands changes in fewer cleanup loops and you re-review less.

Start With devrig →
Install the Plugin →

When you review & verify

Your AI Agent runs the same inspections, build, and tests you use to check your own work — so it catches its own mistakes before they ever reach your review queue.

When you run a team or platform

Point your AI Agents at a large codebase and they stay consistent: devrig provisions a managed IDE backend for headless and CI runs, so every Agent gets the same semantic tools. We also run Proof-of-Concept engagements tuned to your repos.

Book a PoC →
Submit a Scenario →

Evidence: fewer wasted iterations, not just speed

DPAIA wall-clock results comparing AI Agents with IDE-native semantic actions (MCP Steroid) vs. file-only workflows. On tasks requiring real semantic understanding the Agent finishes in fewer attempts; read the delta as “rework the Agent avoided”:

CaseTaskWith MCPWithout MCPΔ
dpaia_jhipster_sample_app-3Rename ROLE_ADMIN across JHipster app (9 files)202s440s−54%
dpaia_empty_maven_springboot3-1JWT auth from scratch (5+ new files)288s396s−27%
dpaia_feature_service-25Parent-child JPA & Flyway (10 files)382s523s−27%
dpaia_feature_service-125Multi-layer JPA+service+controller (15 files)788s1002s−21%
dpaia_spring_petclinic_rest-14Simple URL prefix replace (7 files)188s181s+4%
dpaia_train_ticket-1Extend OrderRepository JPQL (4 files)727s633s+15%

Tasks requiring semantic understanding — refactorings across many files, multi-layer code generation — show the largest reduction in wasted iterations. Simple text replacements perform similarly with or without IDE access. Suggest your project for the next benchmark run.

What Your AI Agent Can Do

  • Refactor safely: rename a symbol across 50 files in one operation, extract methods, move classes
  • Debug: set breakpoints, step through code, inspect variables — all programmatically
  • Run inspections: catch real errors before committing, not just syntax issues
  • Execute tests: run and analyze test results without leaving the AI Agent flow
  • See the IDE: screenshot capture, UI interaction, modal dialog handling
  • Run without an open IDE: with devrig, the agent connects to a running IDE — or downloads and starts one itself — for headless, CI, and fresh-machine work
  • Integrate any third-party plugin: call APIs from any IntelliJ plugin loaded in the IDE — internal tooling, language plugins, custom inspections — without a custom MCP server
  • Go beyond the built-in MCP server: run any IntelliJ API through steroid_execute_code — not just a fixed catalogue of file/search tools
  • Create skills from the running IDE: pass an IntelliJ API snippet yourself, or let your AI Agent learn from the running IDE and write the Skill for you

Featured Demos

Create Powerful IntelliJ-Driven Skills

Create custom skills for your AI Agent in minutes. Describe what you want, give it an IntelliJ API example, and let the AI Agent iterate. No plugin development needed.

import com.intellij.psi.search.PsiSearchHelper
import com.intellij.psi.search.GlobalSearchScope

// Example: find all TODO comments in the project
val todoItems = readAction {
    val searchHelper = PsiSearchHelper.getInstance(project)
    val result = mutableListOf<String>()
    searchHelper.processCommentsContainingIdentifier("TODO", GlobalSearchScope.projectScope(project)) { comment ->
        result.add("${comment.containingFile.virtualFile.path}: ${comment.text.trim()}")
        true
    }
    result
}
todoItems.forEach { println(it) }

The Debugging IDE with MCP Steroid guide was written entirely by AI Agents — a real skill created through experimentation with full IDE access.

Ready to give your AI Agent full IDE access? Try the devrig CLI for terminal and managed-backend workflows, or install the plugin for an IDE you already use. See the Skill Factory blog post for a deep dive on building custom skills.

Proof-of-Concept program: We run Proof-of-Concept engagements for company-specific use cases — custom skills, internal tooling integrations, AI Agent workflows tailored to your codebase. Contact Eugene to discuss.

Proof-of-Concept & Support

MCP Steroid is built by Eugene Petrenko, with 21 years of JetBrains ecosystem experience.

We run Proof-of-Concept engagements for company-specific use cases — custom skills, internal tooling integrations, AI Agent workflows tailored to your codebase. Learn more about consulting and Proof-of-Concept options.

Beyond GitHub Sponsors, MCP Steroid also accepts in-kind support: compute tokens for evaluation runs, hardware for the multi-IDE test matrix, and licenses for benchmarking and observability tools. If you or your organisation would like to back the project or the research behind it on those terms, reach out — contact details are linked below.