A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio.
7.6K
30 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio.
Attribute | Details |
---|---|
Docker Image | mcp/jetbrains |
Author | GannaChernyshova |
Repository | https://github.com/GannaChernyshova/mcp-jetbrains |
Dockerfile | https://github.com/GannaChernyshova/mcp-jetbrains/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/jetbrains --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | Apache License 2.0 |
Tools provided by this Server | Short Description |
---|---|
create_new_file_with_text | Creates a new file at the specified path within the project directory and populates it with the provided text |
execute_action_by_id | Executes an action by its ID in JetBrains IDE editor |
execute_terminal_command | Executes a specified shell command in the IDE's integrated terminal |
find_commit_by_message | Searches for a commit based on the provided text or keywords in the project history |
find_files_by_name_substring | Searches for all files in the project whose names contain the specified substring |
get_all_open_file_paths | Lists full path relative paths to project root of all currently open files |
get_all_open_file_texts | Returns text of all currently open files in the JetBrains IDE editor |
get_debugger_breakpoints | Retrieves a list of all line breakpoints currently set in the project |
get_file_text_by_path | Retrieves the text content of a file using its path relative to project root |
get_open_in_editor_file_path | Retrieves the absolute path of the currently active file |
get_open_in_editor_file_text | Retrieves the complete text content of the currently active file |
get_progress_indicators | Retrieves the status of all running progress indicators |
get_project_dependencies | Get list of all dependencies defined in the project |
get_project_modules | Get list of all modules in the project with their dependencies |
get_project_vcs_status | Retrieves the current version control status of files in the project |
get_run_configurations | Returns a list of run configurations for the current project |
get_selected_in_editor_text | Retrieves the currently selected text from the active editor |
get_terminal_text | Retrieves the current text content from the first active terminal |
list_available_actions | Lists all available actions in JetBrains IDE editor |
list_directory_tree_in_folder | Provides a hierarchical tree view of the project directory structure |
list_files_in_folder | Lists all files and directories in the specified project folder |
open_file_in_editor | Opens the specified file in the JetBrains IDE editor |
replace_current_file_text | Replaces the entire content of the currently active file |
replace_file_text_by_path | Replaces the entire content of a specified file with new text |
replace_selected_text | Replaces the currently selected text in the active editor |
replace_specific_text | Replaces specific text occurrences in a file with new text |
run_configuration | Run a specific run configuration in the current project |
search_in_files_content | Searches for a text substring within all files in the project |
toggle_debugger_breakpoint | Toggles a debugger breakpoint at the specified line in a project file |
wait | Waits for a specified number of milliseconds |
create_new_file_with_text
Creates a new file at the specified path within the project directory and populates it with the provided text
Parameters | Type | Description |
---|---|---|
pathInProject | string | The relative path where the file should be created |
text | string | The content to write into the new file |
execute_action_by_id
Executes an action by its ID in JetBrains IDE editor
Parameters | Type | Description |
---|---|---|
actionId | string | The ID of the action to execute |
execute_terminal_command
Executes a specified shell command in the IDE's integrated terminal
Parameters | Type | Description |
---|---|---|
command | string | The shell command to execute |
find_commit_by_message
Searches for a commit based on the provided text or keywords in the project history
Parameters | Type | Description |
---|---|---|
query | string | The text or keywords to search for in commit messages |
find_files_by_name_substring
Searches for all files in the project whose names contain the specified substring
Parameters | Type | Description |
---|---|---|
nameSubstring | string | The substring to search for in file names |
get_all_open_file_paths
Lists full path relative paths to project root of all currently open files
get_all_open_file_texts
Returns text of all currently open files in the JetBrains IDE editor
get_debugger_breakpoints
Retrieves a list of all line breakpoints currently set in the project
get_file_text_by_path
Retrieves the text content of a file using its path relative to project root
Parameters | Type | Description |
---|---|---|
pathInProject | string | The file location from project root |
get_open_in_editor_file_path
Retrieves the absolute path of the currently active file
get_open_in_editor_file_text
Retrieves the complete text content of the currently active file
get_progress_indicators
Retrieves the status of all running progress indicators
get_project_dependencies
Get list of all dependencies defined in the project
get_project_modules
Get list of all modules in the project with their dependencies
get_project_vcs_status
Retrieves the current version control status of files in the project
get_run_configurations
Returns a list of run configurations for the current project
get_selected_in_editor_text
Retrieves the currently selected text from the active editor
get_terminal_text
Retrieves the current text content from the first active terminal
list_available_actions
Lists all available actions in JetBrains IDE editor
list_directory_tree_in_folder
Provides a hierarchical tree view of the project directory structure
Parameters | Type | Description |
---|---|---|
pathInProject | string | The starting folder path (use '/' for project root) |
maxDepth | integer optional | Maximum recursion depth (default: 5) |
list_files_in_folder
Lists all files and directories in the specified project folder
Parameters | Type | Description |
---|---|---|
pathInProject | string | The folder path (use '/' for project root) |
open_file_in_editor
Opens the specified file in the JetBrains IDE editor
Parameters | Type | Description |
---|---|---|
filePath | string | The path of file to open (can be absolute or relative) |
replace_current_file_text
Replaces the entire content of the currently active file
Parameters | Type | Description |
---|---|---|
text | string | The new content to write |
replace_file_text_by_path
Replaces the entire content of a specified file with new text
Parameters | Type | Description |
---|---|---|
pathInProject | string | The path to the target file, relative to project root |
text | string | The new content to write |
replace_selected_text
Replaces the currently selected text in the active editor
Parameters | Type | Description |
---|---|---|
text | string | The replacement content |
replace_specific_text
Replaces specific text occurrences in a file with new text
Parameters | Type | Description |
---|---|---|
newText | string | The replacement text |
oldText | string | The text to be replaced |
pathInProject | string | The path to the target file, relative to project root |
run_configuration
Run a specific run configuration in the current project
Parameters | Type | Description |
---|---|---|
name | string | The name of the run configuration to execute |
search_in_files_content
Searches for a text substring within all files in the project
Parameters | Type | Description |
---|---|---|
searchText | string | The text to find |
toggle_debugger_breakpoint
Toggles a debugger breakpoint at the specified line in a project file
Parameters | Type | Description |
---|---|---|
filePathInProject | string | The relative path to the file within the project |
line | integer | The line number where to toggle the breakpoint (1-based) |
wait
Waits for a specified number of milliseconds
Parameters | Type | Description |
---|---|---|
milliseconds | integer optional | The duration to wait in milliseconds (default: 5000) |
{
"mcpServers": {
"jetbrains": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"IDE_PORT",
"mcp/jetbrains"
],
"env": {
"IDE_PORT": "8090"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for