跳到正文
cccskills
免费在 GitHub 公开中文介绍

ide-diagnostics-mcp

通过MCP检查正在运行的IntelliJ进程,查看CPU活动、线程状态和简短堆栈快照,为排查卡顿、阻塞线程或操作缓慢收集证据,并判断是否需要进一步性能分析。

原文查看原文说明

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

JetBrains/intellij-community星标 20,685(GitHub 20,685 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • 排查IntelliJ无响应
  • 检查阻塞或等待线程
  • 比较操作前后的CPU活动

中文介绍

功能

此技能通过MCP查询正在运行的IntelliJ进程,获取CPU使用情况、线程状态和简短堆栈快照。它会先进行轻量级CPU采样;遇到卡顿或等待状态时,也可查看范围受限的线程转储。在操作前后或症状出现期间多次采样,可以比较哪些线程在使用CPU,以及阻塞、等待状态如何变化。这些结果用于收集证据、缩小排查范围,不能据此断定根本原因。

适用场景

当IntelliJ看起来卡住、某项操作很慢,或后台任务没有进展时,可用它检查IDE进程本身。此技能针对正在运行的IDE,不用于调查代码或构建结果。

使用示例

  • “IntelliJ没有响应,请检查当前线程状态。”
  • “请比较这项操作前后使用CPU的线程。”
  • “请根据转储检查是否有很多线程处于等待状态。”

注意事项

启动IntelliJ时必须添加-Didea.diagnostics.mcp.enabled=true,诊断工具才会提供。如果找不到工具,请启用此属性并重启IDE。要分析CPU根因、内存分配或锁竞争,或进行长时间记录,需要使用JFR、async-profiler或IDE标准性能记录流程。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
A良好流程仅收集诊断信息,没有描述删除或向外部发送数据。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足明确要求启动IntelliJ时启用`-Didea.diagnostics.mcp.enabled=true`。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(1)

  • SKILL.md3.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- Generated by community/.ai/render-guides.mjs; edit community/.agents/skills/ide-diagnostics-mcp/SKILL.md -->

IDE Diagnostics MCP

Use the get_ide_diagnostics 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 get_ide_diagnostics 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

actions

免费有简介

实现或修改 IntelliJ `AnAction`,并在 `plugin.xml` 中注册。将显示名称和说明写入消息资源文件,按需设置图标,并通过事件协程作用域启动挂起任务,避免同步处理阻塞 IDE。

  • 为 IDE 菜单添加操作
  • 修改操作注册或图标
  • 整理操作名称和说明
JetBrains/intellij-community2.1万2026年10月29日 更新

bazel-test-migration

免费有简介

将 IntelliJ JPS 测试模块迁移到 Bazel,并排查仅在 Bazel 中出现的失败。根据症状检查依赖、插件、测试数据和 runfiles,重新生成并验证目标。

  • 将 JPS 测试模块迁移到 Bazel
  • 排查仅在 Bazel 中失败的测试
  • 检查测试依赖和数据配置
JetBrains/intellij-community2.1万2026年10月29日 更新

code-style

免费有简介

按 IntelliJ 项目规范编写或审查 Kotlin 和 Java 代码,涵盖语言选择、格式、密封类型、线程注解及控制流异常处理。

  • 按 IntelliJ 规范编写 Kotlin
  • 审查 Java 代码
  • 检查异常处理和密封类型分支
JetBrains/intellij-community2.1万2026年10月29日 更新

commits

免费有简介

本指南帮助您按 IntelliJ 项目规则拆分更改并撰写提交信息:有工单时使用编号和变更说明,无工单时使用标签与子系统名,并在需要时说明原因和决定。

  • 按项目格式编写带工单号的提交信息
  • 整理测试或文档提交并选择合适标签
  • 按规则修改已有提交信息
JetBrains/intellij-community2.1万2026年10月29日 更新

使用多个 Python 类型检查器比较代码片段或文件的类型推断和报错判断,并汇总各工具的结论、耗时与诊断信息,可保存为 Markdown 报告。

  • 比较不同检查器的类型推断
  • 确认代码是否会被判为类型错误
  • 查看多个工具的诊断差异
JetBrains/intellij-community2.1万2026年10月29日 更新

整理 Compose Desktop 界面中的状态和副作用,让可组合函数负责绘制,由展示器或协调器处理应用决策。了解状态归属、Effect、可复用组件接口、延迟列表键、动画和性能,适用于单项界面修改。

  • 分离界面绘制与展示器决策
  • 整理界面状态的归属
  • 检查 Effect 键和协程用法
JetBrains/intellij-community2.1万2026年10月29日 更新

查看 JetBrains 的全部技能

报告此技能的问题