| name | idea-mcp |
| description | IntelliJ IDEA MCP for Java code analysis, testing, refactoring, and project navigation. Use when: (1) Checking Java compilation errors (get_file_problems is more accurate than LSP for multi-module Maven), (2) Performing rename refactoring across the codebase, (3) Searching code or finding files in the project. Requires IDEA to be running with MCP plugin connected.
|
IntelliJ IDEA MCP Skill
Path Rules (Most Common Error Source)
| Parameter | Path Type | Example |
|---|
projectPath | ABSOLUTE | /Users/huangli/dt/dongting |
filePath, pathInProject, directoryPath, contextPath | RELATIVE | server/src/main/java/... |
Getting this wrong is the #1 cause of "file not found" errors.
Gotchas and Tips
Two Search API Families
IDEA MCP has two sets of search tools that return different formats. Pick the right one:
search_in_files_by_text / search_in_files_by_regex — Returns matched lines with ||highlight|| markers. Good for quick "where is this string used" lookups. Supports fileMask filter.
search_text / search_regex / search_file / search_symbol — Returns structured results with exact coordinates (line, column, byte offsets). Supports paths glob filters and ! excludes. Use this when you need precise locations for further operations.
search_symbol is especially powerful — semantic symbol lookup (classes, methods, fields) returning full code snippets.
execute_terminal_command Does Not Use Shell by Default
Without executeInShell: true, shell features like $() expansion, pipes, and wildcards won't work. For most shell commands, prefer the Bash tool directly.
rename_refactoring Takes Symbol Name, Not Position
Parameters are symbolName (the exact identifier string) and newName, not file path + line/column. This is different from LSP-based rename.
build_project for Single-File Compilation
build_project with filesToRebuild parameter compiles specific files much faster than running mvn compile. Useful for quick verification after edits.
get_file_problems vs LSP Diagnostics
For multi-module Maven projects, get_file_problems is significantly more accurate than LSP lsp_diagnostics. Prefer it for Java error checking.
High-Risk Operations
rename_refactoring & replace_text_in_file — Modify code globally, verify with get_file_problems after use
reformat_file — Modifies formatting without confirmation
Troubleshooting
| Issue | Solution |
|---|
| Connection refused | Verify IDEA running with MCP plugin |
| Request timed out | Accept permission dialog in IDEA |
| File not found | Check absolute vs relative path (see Path Rules above) |