JetBrains

JetBrains

A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio.

7.6K

30 Tools

Packaged by
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

JetBrains MCP Server

A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/jetbrains
AuthorGannaChernyshova
Repositoryhttps://github.com/GannaChernyshova/mcp-jetbrains
Dockerfilehttps://github.com/GannaChernyshova/mcp-jetbrains/blob/main/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/jetbrains --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (30)

Tools provided by this ServerShort Description
create_new_file_with_textCreates a new file at the specified path within the project directory and populates it with the provided text
execute_action_by_idExecutes an action by its ID in JetBrains IDE editor
execute_terminal_commandExecutes a specified shell command in the IDE's integrated terminal
find_commit_by_messageSearches for a commit based on the provided text or keywords in the project history
find_files_by_name_substringSearches for all files in the project whose names contain the specified substring
get_all_open_file_pathsLists full path relative paths to project root of all currently open files
get_all_open_file_textsReturns text of all currently open files in the JetBrains IDE editor
get_debugger_breakpointsRetrieves a list of all line breakpoints currently set in the project
get_file_text_by_pathRetrieves the text content of a file using its path relative to project root
get_open_in_editor_file_pathRetrieves the absolute path of the currently active file
get_open_in_editor_file_textRetrieves the complete text content of the currently active file
get_progress_indicatorsRetrieves the status of all running progress indicators
get_project_dependenciesGet list of all dependencies defined in the project
get_project_modulesGet list of all modules in the project with their dependencies
get_project_vcs_statusRetrieves the current version control status of files in the project
get_run_configurationsReturns a list of run configurations for the current project
get_selected_in_editor_textRetrieves the currently selected text from the active editor
get_terminal_textRetrieves the current text content from the first active terminal
list_available_actionsLists all available actions in JetBrains IDE editor
list_directory_tree_in_folderProvides a hierarchical tree view of the project directory structure
list_files_in_folderLists all files and directories in the specified project folder
open_file_in_editorOpens the specified file in the JetBrains IDE editor
replace_current_file_textReplaces the entire content of the currently active file
replace_file_text_by_pathReplaces the entire content of a specified file with new text
replace_selected_textReplaces the currently selected text in the active editor
replace_specific_textReplaces specific text occurrences in a file with new text
run_configurationRun a specific run configuration in the current project
search_in_files_contentSearches for a text substring within all files in the project
toggle_debugger_breakpointToggles a debugger breakpoint at the specified line in a project file
waitWaits for a specified number of milliseconds

Tools Details

Tool: create_new_file_with_text

Creates a new file at the specified path within the project directory and populates it with the provided text

ParametersTypeDescription
pathInProjectstringThe relative path where the file should be created
textstringThe content to write into the new file

Tool: execute_action_by_id

Executes an action by its ID in JetBrains IDE editor

ParametersTypeDescription
actionIdstringThe ID of the action to execute

Tool: execute_terminal_command

Executes a specified shell command in the IDE's integrated terminal

ParametersTypeDescription
commandstringThe shell command to execute

Tool: find_commit_by_message

Searches for a commit based on the provided text or keywords in the project history

ParametersTypeDescription
querystringThe text or keywords to search for in commit messages

Tool: find_files_by_name_substring

Searches for all files in the project whose names contain the specified substring

ParametersTypeDescription
nameSubstringstringThe substring to search for in file names

Tool: get_all_open_file_paths

Lists full path relative paths to project root of all currently open files

Tool: get_all_open_file_texts

Returns text of all currently open files in the JetBrains IDE editor

Tool: get_debugger_breakpoints

Retrieves a list of all line breakpoints currently set in the project

Tool: get_file_text_by_path

Retrieves the text content of a file using its path relative to project root

ParametersTypeDescription
pathInProjectstringThe file location from project root

Tool: get_open_in_editor_file_path

Retrieves the absolute path of the currently active file

Tool: get_open_in_editor_file_text

Retrieves the complete text content of the currently active file

Tool: get_progress_indicators

Retrieves the status of all running progress indicators

Tool: get_project_dependencies

Get list of all dependencies defined in the project

Tool: get_project_modules

Get list of all modules in the project with their dependencies

Tool: get_project_vcs_status

Retrieves the current version control status of files in the project

Tool: get_run_configurations

Returns a list of run configurations for the current project

Tool: get_selected_in_editor_text

Retrieves the currently selected text from the active editor

Tool: get_terminal_text

Retrieves the current text content from the first active terminal

Tool: list_available_actions

Lists all available actions in JetBrains IDE editor

Tool: list_directory_tree_in_folder

Provides a hierarchical tree view of the project directory structure

ParametersTypeDescription
pathInProjectstringThe starting folder path (use '/' for project root)
maxDepthintegeroptionalMaximum recursion depth (default: 5)

Tool: list_files_in_folder

Lists all files and directories in the specified project folder

ParametersTypeDescription
pathInProjectstringThe folder path (use '/' for project root)

Tool: open_file_in_editor

Opens the specified file in the JetBrains IDE editor

ParametersTypeDescription
filePathstringThe path of file to open (can be absolute or relative)

Tool: replace_current_file_text

Replaces the entire content of the currently active file

ParametersTypeDescription
textstringThe new content to write

Tool: replace_file_text_by_path

Replaces the entire content of a specified file with new text

ParametersTypeDescription
pathInProjectstringThe path to the target file, relative to project root
textstringThe new content to write

Tool: replace_selected_text

Replaces the currently selected text in the active editor

ParametersTypeDescription
textstringThe replacement content

Tool: replace_specific_text

Replaces specific text occurrences in a file with new text

ParametersTypeDescription
newTextstringThe replacement text
oldTextstringThe text to be replaced
pathInProjectstringThe path to the target file, relative to project root

Tool: run_configuration

Run a specific run configuration in the current project

ParametersTypeDescription
namestringThe name of the run configuration to execute

Tool: search_in_files_content

Searches for a text substring within all files in the project

ParametersTypeDescription
searchTextstringThe text to find

Tool: toggle_debugger_breakpoint

Toggles a debugger breakpoint at the specified line in a project file

ParametersTypeDescription
filePathInProjectstringThe relative path to the file within the project
lineintegerThe line number where to toggle the breakpoint (1-based)

Tool: wait

Waits for a specified number of milliseconds

ParametersTypeDescription
millisecondsintegeroptionalThe duration to wait in milliseconds (default: 5000)

Use this MCP Server

{
  "mcpServers": {
    "jetbrains": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "IDE_PORT",
        "mcp/jetbrains"
      ],
      "env": {
        "IDE_PORT": "8090"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers