JetBrains IDE MCP Server
Built-in MCP server in IntelliJ-based IDEs 2025.2+ exposing 70+ tools for code analysis, file ops, refactoring, debugging, database, terminal, and VCS.
The JetBrains MCP Server is an integrated plugin shipped with all IntelliJ-based IDEs (IntelliJ IDEA, PyCharm, WebStorm, RubyMine, GoLand, Rider, Android Studio, and others) starting with version 2025.2. It exposes the running IDE's internal capabilities to external MCP clients like Claude Desktop, Claude Code, Cursor, VS Code, Codex, and Windsurf, letting an AI agent drive the IDE directly: read and edit files, run inspections, execute run configurations, control the debugger, query databases, run terminal commands, and search the project index.
The plugin is bundled and enabled by default. Configuration is exposed under Settings | Tools | MCP Server, where you can pick a connection method (SSE, Stdio, or HTTP Stream), auto-configure supported clients, and pick which tools are exposed. A "Brave Mode" toggle removes confirmation prompts for shell commands and run configurations. Some tool groups require optional plugins, for example Database Tools and SQL for the database tools, or JetBrains AI Assistant for inspection generation.
This built-in server replaces two previously separate projects: the @jetbrains/mcp-proxy npm package (JetBrains/mcp-jetbrains) and the JetBrains/mcp-server-plugin repository, both of which are now deprecated. As of IntelliJ 2025.2 you no longer need the npm proxy, and STDIO clients are served via a built-in JVM-based proxy.
Tools
| Tool | Description |
|---|---|
build_project |
Build the current project and return build output |
get_file_problems |
Retrieve inspection problems for a file |
get_project_dependencies |
List project dependencies |
get_project_modules |
List project modules |
get_symbol_info |
Get information about a symbol (type, declaration, doc) |
execute_sql_query |
Run a SQL query against a configured database connection |
list_database_connections |
List configured database connections |
list_database_schemas |
List schemas for a database connection |
list_schema_objects |
List tables, views, and other objects in a schema |
preview_table_data |
Preview rows from a database table |
xdebug_start_debugger_session |
Start a debugger session for a run configuration |
xdebug_set_breakpoint |
Set a breakpoint at a file and line |
xdebug_evaluate_expression |
Evaluate an expression in the current debugger frame |
xdebug_get_stack |
Get the current debugger call stack |
xdebug_control_session |
Resume, pause, step over, step into, or stop the debugger |
execute_run_configuration |
Run a saved run configuration, optionally with overrides |
get_run_configurations |
List available run configurations |
create_new_file |
Create a new file with given contents |
read_file |
Read file contents |
get_file_text_by_path |
Return the full text of a file |
replace_text_in_file |
Replace text inside a file |
open_file_in_editor |
Open a file in the IDE editor |
get_all_open_file_paths |
List paths of all currently open editor tabs |
find_files_by_glob |
Find files by glob pattern |
find_files_by_name_keyword |
Find files whose name contains a keyword |
list_directory_tree |
List files and folders under a directory |
reformat_file |
Reformat a file using IDE code style |
rename_refactoring |
Rename a symbol with full refactoring support |
search_text |
Search project text content |
search_regex |
Search project content with a regex |
search_symbol |
Search symbols across the project |
search_file |
Search for files by name |
search_in_files_by_text |
Find text occurrences in files |
search_in_files_by_regex |
Find regex matches in files |
execute_terminal_command |
Run a shell command in the IDE terminal |
get_repositories |
List VCS repositories registered with the project |
runNotebookCell |
Execute a cell in a Jupyter notebook |
run_inspection_kts |
Run a custom Kotlin-scripted inspection |
validate_inspection_kts |
Validate a custom Kotlin-scripted inspection |
generate_psi_tree |
Generate the PSI tree for a file |
Prerequisites
- IntelliJ IDEA (or another IntelliJ-based IDE) version 2025.2 or later
- The MCP Server plugin (bundled and enabled by default)
- For database tools: the Database Tools and SQL plugin
- The IDE must be open and the target project loaded while the agent is connected
Enable the server in the IDE
- Open Settings (Ctrl+Alt+S / Cmd+,) → Tools → MCP Server
- Click "Enable MCP Server"
- (Optional) Toggle "Brave Mode" to skip confirmation prompts for shell commands and run configurations
- Review the "Exposed Tools" list and disable any tools you do not want exposed
Auto-configure a client
Under Settings | Tools | MCP Server the IDE provides one-click "Auto-Configure" buttons for:
- Claude Code
- Claude Desktop
- Cursor
- VS Code
- Codex
- Windsurf
Click the button for your client, then restart the client.
Manual configuration
The Settings page also shows ready-to-copy snippets for SSE, Stdio, and HTTP Stream. The Stdio snippet (used by Claude Desktop) looks roughly like:
{
"mcpServers": {
"jetbrains": {
"command": "<path-shown-in-IDE>",
"args": ["..."]
}
}
}
Copy the exact snippet from your IDE settings (the path and port are generated per install) into your client's MCP config file, then restart the client.
Legacy proxy (deprecated)
For IDE versions older than 2025.2 you can fall back to the deprecated @jetbrains/mcp-proxy package, which requires Node.js 18+ and the standalone mcp-server-plugin from the JetBrains Marketplace:
{
"mcpServers": {
"jetbrains": {
"command": "npx",
"args": ["-y", "@jetbrains/mcp-proxy"]
}
}
}
Optional env vars for the legacy proxy: IDE_PORT, HOST, LOG_ENABLED.
- Have an AI agent in Claude Desktop drive your open IntelliJ project: read source, rename symbols across the codebase, and apply refactors with full PSI awareness.
- Let an agent run the project's build, parse the resulting problems via
get_file_problems, and iteratively fix inspection issues. - Drive a full debug loop: set breakpoints, start a run configuration under the debugger, inspect stack frames and variables, and evaluate expressions.
- Query and explore a database from chat: list connections, browse schemas, preview tables, and execute SQL through DataGrip/Database Tools.
- Run terminal commands and execute or rerun saved run configurations directly from your AI client without context-switching out of the IDE.
- "Build the project and fix any new inspection problems in
src/main/java/com/acme/Service.java." - "Rename the symbol
UserDtotoUserRecordacross the whole project using a safe refactor." - "Start the
IntegrationTestsrun configuration under the debugger, set a breakpoint on line 42 ofOrderRepositoryTest.kt, and show me the stack and local variables when it hits." - "Connect to the
analyticsdatabase, list the tables in thepublicschema, and preview the first 20 rows ofevents." - "Run
./gradlew detektin the terminal and summarize any violations."
- Official, bundled, and enabled by default in all IntelliJ-based IDEs 2025.2+, no separate install needed.
- Very broad tool surface (70+ tools) covering build, inspections, refactoring, debugger, database, terminal, search, and VCS.
- One-click auto-configuration for Claude Desktop, Claude Code, Cursor, VS Code, Codex, and Windsurf, plus a granular "Exposed Tools" allow-list.
- Supports SSE, Stdio, and HTTP Stream so it works with most MCP clients without the legacy Node proxy.
- Requires IntelliJ 2025.2 or later; older versions need the deprecated
@jetbrains/mcp-proxyandmcp-server-plugin. - Some tool groups depend on additional plugins (Database Tools and SQL, JetBrains AI Assistant) that may require a paid IDE or plugin license.
- The IDE must be open with the relevant project loaded; the server is bound to a local IDE process, not a headless service.
- "Brave Mode" is needed to avoid repeated confirmation prompts for terminal and run configuration calls, which is a tradeoff against safety.
- VS Code MCP integration for users on VS Code rather than JetBrains IDEs.
- Cursor and Windsurf which embed agentic editing directly in the editor.
- The deprecated
JetBrains/mcp-jetbrainsnpm proxy for older IDE versions.