jetbrains/intellij-community · Archived

ide-diagnostics-mcp

Inspect a running IntelliJ IDE for freezes or blocked threads via MCP.

First seen Jul 30, 2026

Installation

$ npx skills add jetbrains/intellij-community --skill ide-diagnostics-mcp

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jetbrains/intellij-community · top by installs.

npx skills add jetbrains/intellij-community

Browse all from jetbrains/intellij-community

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 20.5K
License license
Default branch master
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,994 B
  • docs SUMMARY.md 97 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

IDE Diagnostics MCP

Use the getidediagnostics MCP tool to answer "what is this IDE doing right now?" from inside a running IntelliJ process.

This skill is for live IDE process evidence only. If the request is to diagnose an arbitrary issue, inspect repository code, analyze build/test output, or debug the MCP server itself, use the relevant debugging, testing, or code-investigation workflow instead.

Availability

The diagnostics toolset is hidden unless the IDE was started with:

-Didea.diagnostics.mcp.enabled=true

If getidediagnostics is not available, tell the user the IDE must be restarted with that property. Do not confuse it with MCP server self-diagnostics; the property enables IDE process diagnostics exposed through MCP.

Capture Workflow

Start with a lightweight CPU sample without the raw dump:

{
  "sampleMillis": 1000,
  "topThreadCount": 25,
  "includeRawDump": false
}

For freezes, blocked threads, or coroutine investigation, request a bounded raw dump:

{
  "sampleMillis": 1000,
  "topThreadCount": 50,
  "includeRawDump": true,
  "maxDumpChars": 200000,
  "stripCoroutineDump": true
}

For action-specific performance questions, take one sample before or during the action and another while the symptom is visible. Compare topCpuThreads, blockedCountDelta, waitedCountDelta, and threads.stateCounts between samples.

Interpretation

  • process.processCpuLoad and process.systemCpuLoad are point-in-time process/system CPU load values; -1 means the JVM cannot provide the metric.
  • topCpuThreads[].cpuDeltaNanos ranks threads by CPU consumed during sampleMillis; -1 means thread CPU time is unavailable.
  • topCpuThreads[].state is the JVM Thread.State; RUNNABLE includes Java execution and native calls, including native I/O.
  • topCpuThreads[].isInNative, nativeFrame, and nativeOperationHint help identify native calls, but they are not OS wait-channel data.
  • topCpuThreads[].stackTrace is a short stack snapshot for attribution, not a full profiler call tree.
  • threads.stateCounts is useful for spotting many BLOCKED, WAITING, or TIMED_WAITING threads.
  • rawDump is the IntelliJ thread dump text and may include coroutine dump content when coroutine dumping is enabled in the running IDE.
  • rawDumpTruncated=true means repeat with a larger maxDumpChars or ask for a narrower next step before drawing conclusions from missing tail content.
  • coroutineDumpEnabled=false means the tool cannot provide coroutine dump details beyond ordinary thread stacks.

Escalation

Use this MCP tool for low-overhead triage and evidence gathering. For root-cause CPU attribution, allocation pressure, lock profiling, native wait-state attribution, or long recordings, ask for JFR, async-profiler, or the IDE's standard performance capture workflow.