Goal: use JetBrains IDE features (index, inspections, refactoring, run configurations, integrated terminal) as tools for an external client, while keeping changes auditable and safe.
notes + tool list (condensed): skills/jetbrains-skill/references/jetbrains-skill.md.
Connection & modes
Client setup (done in the IDE)
-
Settings → Tools → MCP Server
-
Enable MCP Server
-
Use “Auto-configure” for supported clients (updates their JSON config), or copy SSE / Stdio config for manual setup
-
Restart the external client to apply changes
Brave Mode (no confirmations)
The IDE can allow running shell commands / run configurations without per-action confirmation (“Brave mode”). This increases automation power but also increases risk. Require explicit user confirmation before enabling/disabling it.
Workflow decision tree
-
Do I need IDE-grade analysis/refactoring?
-
File diagnostics:
get_file_problems -
Symbol semantics / docs:
get_symbol_info -
Safe rename across project:
rename_refactoring(prefer over plain text replace) -
Indexed search:
search_in_files_by_text/search_in_files_by_regex -
Find files:
find_files_by_name_keyword(fast, name-only) orfind_files_by_glob(path glob) -
Do I just need file operations in the project?
-
Read file text:
get_file_text_by_path -
Create file:
create_new_file -
Targeted replace:
replace_text_in_file(auto-saves) -
Open in editor:
open_file_in_editor -
Reformat:
reformat_file -
Do I need to run something?
-
List run configs:
get_run_configurations -
Run a config (wait for completion):
execute_run_configuration -
Run a terminal command in IDE:
execute_terminal_command(may require confirmation; output is capped)
Constraints (avoid common mistakes)
-
Always pass
projectPathwhen known to avoid ambiguity. -
Many tools require paths relative to the project root and only operate on project files.
-
Line/column positions are 1-based for location-based tools.
-
Prefer controlling output with
maxLinesCount+truncateMode; do not rely on defaults for large outputs. -
Terminal commands and running configurations are high-risk; require explicit confirmation for any potentially destructive command. Brave Mode removes guardrails.
Recommended high-value patterns
Debug via inspections first
get_file_problemsto find errors/warnings → 2)get_symbol_infoto understand the code → 3)rename_refactoringfor renames → 4)replace_text_in_fileonly for truly textual changes.
Use indexed search for scale
Prefer search_in_files_by_text / search_in_files_by_regex since it uses IDE search/indexing and highlights matches with ||.
Running and output control
Use execute_run_configuration with a sane timeout (ms). For terminal commands use execute_terminal_command, but remember output caps; for huge output, redirect to a file and read it via file tools.
References
- notes + tool list (condensed):
skills/jetbrains-skill/references/jetbrains-skill.md