mcp-tools
Skill: IntelliJ IDEA MCP Integration
Control and interact with JetBrains IntelliJ IDEA directly through the Model Context Protocol (MCP) server.
Trigger
/idea- Show available IntelliJ IDEA MCP commands and current IDE status/idea [action]- Execute a specific IDE action
Arguments
$ARGUMENTS
Prerequisites
The JetBrains MCP server must be configured and running:
- IntelliJ IDEA must be open with the MCP Server plugin enabled
- MCP Server must be added to Docker MCP Gateway:
mcp-find jetbrains mcp-config-set jetbrains {"port": <PORT>} mcp-add jetbrains - The port can be found in
C:\Users\Chris\AppData\Roaming\Claude\claude_desktop_config.jsonunderIJ_MCP_SERVER_PORT
Available Tools
File Operations
| Tool | Description |
|---|---|
create_new_file_with_text |
Create a new file with specified content |
get_file_text_by_path |
Read file contents by relative path |
replace_file_text_by_path |
Replace entire file content |
replace_specific_text |
Find and replace text in a specific file |
find_files_by_name_substring |
Search for files by name pattern |
list_files_in_folder |
List files in a directory |
list_directory_tree_in_folder |
Get hierarchical project structure |
Editor Operations
| Tool | Description |
|---|---|
get_open_in_editor_file_path |
Get path of currently active file |
get_open_in_editor_file_text |
Get content of currently active file |
get_all_open_file_paths |
List all open file paths |
get_all_open_file_texts |
Get content of all open files |
get_selected_in_editor_text |
Get currently selected text |
replace_selected_text |
Replace selected text |
replace_current_file_text |
Replace entire content of active file |
open_file_in_editor |
Open a file in the editor |
Project & VCS
| Tool | Description |
|---|---|
get_project_modules |
List all project modules with dependencies |
get_project_dependencies |
List all project dependencies |
get_project_vcs_status |
Get Git/VCS status of files |
find_commit_by_message |
Search commits by message |
search_in_files_content |
Search text across all project files |
Run & Debug
| Tool | Description |
|---|---|
get_run_configurations |
List available run configurations |
run_configuration |
Execute a run configuration by name |
get_debugger_breakpoints |
List all breakpoints |
toggle_debugger_breakpoint |
Add/remove breakpoint at line |
Terminal & IDE Actions
| Tool | Description |
|---|---|
execute_terminal_command |
Run command in IDE terminal |
execute_action_by_id |
Execute IDE action by ID |
list_available_actions |
List all available IDE actions |
get_terminal_text |
Get terminal output |
get_progress_indicators |
Check running tasks/progress |
Utility
| Tool | Description |
|---|---|
wait |
Wait for specified milliseconds |
Scopes & File Colors
IntelliJ IDEA scopes provide powerful file filtering and visual organization capabilities.
Scope Configuration
Scopes are stored in .idea/scopes/*.xml with the following format:
<?xml version="1.0" encoding="UTF-8"?>
<component name="DependencyValidationManager">
<scope name="Scope Name" pattern="file[ModuleName]:path//*" />
</component>
Scope Pattern Syntax
| Pattern | Description |
|---|---|
file[Module]:path//* |
Files in path recursively |
file[Module]:path/* |
Files in path (no subdirs) |
file:*.ext |
Files by extension |
|| |
OR operator |
&& |
AND operator |
! |
NOT operator |
$ScopeName |
Reference another scope |
File Colors Configuration
File colors are configured in .idea/workspace.xml under <component name="FileColors">:
<component name="FileColors">
<fileColor scope="Scope Name" color="hexcode" />
</component>
Dark Theme Color Palette:
| Purpose | Hex | Description |
|---|---|---|
| Yellow | 4a4522 |
Dark Olive |
| Blue | 2e4a5a |
Dark Nordic |
| Green | 2a4a3a |
Dark Forest |
| Purple | 4a2a4a |
Dark Plum |
| Orange | 5a3a1a |
Dark Amber |
| Gray | 3a3a3a |
Dark Gray |
| Cyan | 1a4a5a |
Dark Teal |
If $ARGUMENTS is "scopes":
- List existing scopes from
.idea/scopes/ - Show current file colors from
.idea/workspace.xml - Suggest scope improvements based on project structure
If $ARGUMENTS is "scopes setup" or "scopes create":
- Analyze project structure (folder hierarchy)
- Create logical scope groupings
- Generate scope XML files in
.idea/scopes/ - Configure file colors in workspace.xml
- Use dark theme colors by default
If $ARGUMENTS is "scopes colors":
- Read current file colors from workspace.xml
- Display color assignments
- Suggest adjustments for dark/light themes
Command Handling
If $ARGUMENTS is empty or "status":
- Check if JetBrains MCP server is connected
- If not connected, attempt to connect using
mcp-find,mcp-config-set, andmcp-add - Show current IDE status:
- Currently open file
- All open files
- Project VCS status
- Running progress indicators
If $ARGUMENTS is "files":
List all open files in the editor using get_all_open_file_paths.
If $ARGUMENTS is "tree" or "structure":
Show project directory tree using list_directory_tree_in_folder with path "/" and maxDepth 3.
If $ARGUMENTS is "vcs" or "git":
Show VCS status using get_project_vcs_status.
If $ARGUMENTS is "runs" or "configurations":
List run configurations using get_run_configurations.
If $ARGUMENTS is "breakpoints":
List all breakpoints using get_debugger_breakpoints.
If $ARGUMENTS is "modules":
List project modules using get_project_modules.
If $ARGUMENTS is "deps" or "dependencies":
List project dependencies using get_project_dependencies.
If $ARGUMENTS is "terminal":
Get terminal output using get_terminal_text.
If $ARGUMENTS is "actions":
List available IDE actions using list_available_actions.
If $ARGUMENTS starts with "open ":
Open the specified file using open_file_in_editor.
If $ARGUMENTS starts with "run ":
Execute the specified run configuration using run_configuration.
If $ARGUMENTS starts with "search ":
Search in files using search_in_files_content with the query.
If $ARGUMENTS starts with "find ":
Find files by name using find_files_by_name_substring.
If $ARGUMENTS starts with "exec " or "action ":
Execute IDE action by ID using execute_action_by_id.
If $ARGUMENTS starts with "cmd " or "terminal ":
Execute terminal command using execute_terminal_command.
If $ARGUMENTS is "current" or "active":
Show the currently active file path and content using get_open_in_editor_file_path and get_open_in_editor_file_text.
If $ARGUMENTS is "selected" or "selection":
Get selected text using get_selected_in_editor_text.
If $ARGUMENTS is "help":
Display this skill documentation with all available commands.
Usage Guidelines
- Always ensure IntelliJ IDEA is running before attempting to use these commands
- File paths are relative to project root unless specified as absolute
- Use
get_project_vcs_statusbefore making changes to understand current state - Prefer
replace_specific_textoverreplace_file_text_by_pathfor targeted edits - Check
get_progress_indicatorsif IDE seems busy or unresponsive - Use
waitwhen chaining commands that need IDE to process (e.g., after running a configuration)
Example Usage
/idea # Show IDE status and open files
/idea files # List all open files
/idea tree # Show project structure
/idea vcs # Show Git status
/idea open src/main.ts # Open a specific file
/idea run "Debug App" # Run a configuration
/idea search TODO # Search for TODO in all files
/idea find config # Find files with "config" in name
/idea terminal npm test # Run npm test in terminal
/idea current # Show current file content
/idea help # Show this help
Error Handling
If the MCP server is not connected:
- Use
mcp__MCP_DOCKER__mcp-findwith query "jetbrains" to verify availability - Use
mcp__MCP_DOCKER__mcp-config-setto set the port configuration - Use
mcp__MCP_DOCKER__mcp-addto activate the server
Common issues:
- Port mismatch: Check
IJ_MCP_SERVER_PORTin claude_desktop_config.json - IDE not running: Start IntelliJ IDEA and ensure MCP Server plugin is enabled
- Plugin disabled: Go to Settings > Plugins > MCP Server and enable it
References
- Scopes Guide - Complete guide to IDEA scopes and file colors
Metadata
author: Christian Kusmanow / Claude
version: 1.0.0
last_updated: 2026-01-31
migrated_from: .claude/skills/idea v2.0.0
change_surface: references/ (scopes guide, tool updates)