Skip to content

Commit cf19bc9

Browse files
authored
Merge pull request #140 from dgageot/sync-jetbrains
2 parents 513144e + 492c745 commit cf19bc9

File tree

3 files changed

+179
-15
lines changed

3 files changed

+179
-15
lines changed

prompts/catalog.yaml

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -522,25 +522,51 @@ registry:
522522
- required:
523523
- jira
524524
jetbrains:
525-
description: |
526-
The server proxies requests from client to JetBrains IDE.
527-
ref: github:docker/labs-ai-tools-for-devs?path=prompts/mcp/jetbrains.md
528-
icon: https://cdn.jsdelivr.net/npm/simple-icons@v7/icons/jetbrains.svg
529-
tools: []
525+
description: 'A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio'
526+
ref: github:docker/labs-ai-tools-for-devs?ref=main&path=prompts/mcp/jetbrains.md
527+
readme: github:docker/labs-ai-tools-for-devs?ref=main&path=prompts/mcp/readmes/jetbrains.md
528+
source: https://github.com/GannaChernyshova/mcp-jetbrains/tree/main
529+
icon: https://avatars.githubusercontent.com/u/878437?s=200&v=4
530+
tools:
531+
- name: create_new_file_with_text
532+
- name: execute_action_by_id
533+
- name: execute_terminal_command
534+
- name: find_commit_by_message
535+
- name: find_files_by_name_substring
536+
- name: get_all_open_file_paths
537+
- name: get_all_open_file_texts
538+
- name: get_debugger_breakpoints
539+
- name: get_file_text_by_path
540+
- name: get_open_in_editor_file_path
541+
- name: get_open_in_editor_file_text
542+
- name: get_progress_indicators
543+
- name: get_project_dependencies
544+
- name: get_project_modules
545+
- name: get_project_vcs_status
546+
- name: get_run_configurations
547+
- name: get_selected_in_editor_text
548+
- name: get_terminal_text
549+
- name: list_available_actions
550+
- name: list_directory_tree_in_folder
551+
- name: list_files_in_folder
552+
- name: open_file_in_editor
553+
- name: replace_current_file_text
554+
- name: replace_file_text_by_path
555+
- name: replace_selected_text
556+
- name: replace_specific_text
557+
- name: run_configuration
558+
- name: search_in_files_content
559+
- name: toggle_debugger_breakpoint
560+
- name: wait
530561
prompts: 0
531562
resources: {}
532563
config:
533564
- name: jetbrains
534-
description: The MCP server needs to know about the local JetBrains IDE Config
565+
description: Configure the connection to the IDE
535566
type: object
536567
properties:
537-
server:
538-
type: object
539-
properties:
540-
port:
541-
type: integer
542-
required:
543-
- server
568+
port:
569+
type: integer
544570
aws-kb-retrieval-server:
545571
description: An MCP server implementation for retrieving information from the AWS Knowledge Base using the Bedrock Agent Runtime.
546572
ref: github:docker/labs-ai-tools-for-devs?ref=main&path=prompts/mcp/aws-kb-retrieval-server.md

prompts/mcp/jetbrains.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ mcp:
33
- container:
44
image: mcp/jetbrains:latest
55
environment:
6-
IDE_PORT: "{{jetbrains.server.port}}"
7-
LOG_ENABLED: "true"
6+
IDE_PORT: "{{jetbrains.port}}"
87
source:
98
url: https://github.com/GannaChernyshova/mcp-jetbrains/tree/main
9+
---

prompts/mcp/readmes/jetbrains.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# Jetbrains MCP Server
2+
3+
A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio
4+
5+
[What is an MCP Server?](https://www.anthropic.com/news/model-context-protocol)
6+
7+
## Characteristics
8+
Attribute|Details|
9+
|-|-|
10+
**Image Source**|Official Image
11+
|**Author**|[GannaChernyshova](https://github.com/GannaChernyshova)
12+
**Repository**|https://github.com/GannaChernyshova/mcp-jetbrains
13+
**Dockerfile**|https://github.com/GannaChernyshova/mcp-jetbrains/blob/main/Dockerfile
14+
**Docker Image built by**|Docker Inc.
15+
**Docker Scout Health Score**| ![Docker Scout Health Score](https://api.scout.docker.com/v1/policy/insights/org-image-score/badge/mcp/jetbrains)
16+
**Licence**|Apache License 2.0
17+
18+
## Available Tools
19+
Tools provided by this Server|Short Description
20+
-|-
21+
`create_new_file_with_text`|Creates a new file at the specified path within the project directory and populates it with the provided text|
22+
`execute_action_by_id`|Executes an action by its ID in JetBrains IDE editor|
23+
`execute_terminal_command`|Executes a specified shell command in the IDE's integrated terminal|
24+
`find_commit_by_message`|Searches for a commit based on the provided text or keywords in the project history|
25+
`find_files_by_name_substring`|Searches for all files in the project whose names contain the specified substring|
26+
`get_all_open_file_paths`|Lists full path relative paths to project root of all currently open files|
27+
`get_all_open_file_texts`|Returns text of all currently open files in the JetBrains IDE editor|
28+
`get_debugger_breakpoints`|Retrieves a list of all line breakpoints currently set in the project|
29+
`get_file_text_by_path`|Retrieves the text content of a file using its path relative to project root|
30+
`get_open_in_editor_file_path`|Retrieves the absolute path of the currently active file|
31+
`get_open_in_editor_file_text`|Retrieves the complete text content of the currently active file|
32+
`get_progress_indicators`|Retrieves the status of all running progress indicators|
33+
`get_project_dependencies`|Get list of all dependencies defined in the project|
34+
`get_project_modules`|Get list of all modules in the project with their dependencies|
35+
`get_project_vcs_status`|Retrieves the current version control status of files in the project|
36+
`get_run_configurations`|Returns a list of run configurations for the current project|
37+
`get_selected_in_editor_text`|Retrieves the currently selected text from the active editor|
38+
`get_terminal_text`|Retrieves the current text content from the first active terminal|
39+
`list_available_actions`|Lists all available actions in JetBrains IDE editor|
40+
`list_directory_tree_in_folder`|Provides a hierarchical tree view of the project directory structure|
41+
`list_files_in_folder`|Lists all files and directories in the specified project folder|
42+
`open_file_in_editor`|Opens the specified file in the JetBrains IDE editor|
43+
`replace_current_file_text`|Replaces the entire content of the currently active file|
44+
`replace_file_text_by_path`|Replaces the entire content of a specified file with new text|
45+
`replace_selected_text`|Replaces the currently selected text in the active editor|
46+
`replace_specific_text`|Replaces specific text occurrences in a file with new text|
47+
`run_configuration`|Run a specific run configuration in the current project|
48+
`search_in_files_content`|Searches for a text substring within all files in the project|
49+
`toggle_debugger_breakpoint`|Toggles a debugger breakpoint at the specified line in a project file|
50+
`wait`|Waits for a specified number of milliseconds|
51+
52+
---
53+
## Tools Details
54+
55+
#### Tool: **`create_new_file_with_text`**
56+
Creates a new file at the specified path within the project directory and populates it with the provided text
57+
#### Tool: **`execute_action_by_id`**
58+
Executes an action by its ID in JetBrains IDE editor
59+
#### Tool: **`execute_terminal_command`**
60+
Executes a specified shell command in the IDE's integrated terminal
61+
#### Tool: **`find_commit_by_message`**
62+
Searches for a commit based on the provided text or keywords in the project history
63+
#### Tool: **`find_files_by_name_substring`**
64+
Searches for all files in the project whose names contain the specified substring
65+
#### Tool: **`get_all_open_file_paths`**
66+
Lists full path relative paths to project root of all currently open files
67+
#### Tool: **`get_all_open_file_texts`**
68+
Returns text of all currently open files in the JetBrains IDE editor
69+
#### Tool: **`get_debugger_breakpoints`**
70+
Retrieves a list of all line breakpoints currently set in the project
71+
#### Tool: **`get_file_text_by_path`**
72+
Retrieves the text content of a file using its path relative to project root
73+
#### Tool: **`get_open_in_editor_file_path`**
74+
Retrieves the absolute path of the currently active file
75+
#### Tool: **`get_open_in_editor_file_text`**
76+
Retrieves the complete text content of the currently active file
77+
#### Tool: **`get_progress_indicators`**
78+
Retrieves the status of all running progress indicators
79+
#### Tool: **`get_project_dependencies`**
80+
Get list of all dependencies defined in the project
81+
#### Tool: **`get_project_modules`**
82+
Get list of all modules in the project with their dependencies
83+
#### Tool: **`get_project_vcs_status`**
84+
Retrieves the current version control status of files in the project
85+
#### Tool: **`get_run_configurations`**
86+
Returns a list of run configurations for the current project
87+
#### Tool: **`get_selected_in_editor_text`**
88+
Retrieves the currently selected text from the active editor
89+
#### Tool: **`get_terminal_text`**
90+
Retrieves the current text content from the first active terminal
91+
#### Tool: **`list_available_actions`**
92+
Lists all available actions in JetBrains IDE editor
93+
#### Tool: **`list_directory_tree_in_folder`**
94+
Provides a hierarchical tree view of the project directory structure
95+
#### Tool: **`list_files_in_folder`**
96+
Lists all files and directories in the specified project folder
97+
#### Tool: **`open_file_in_editor`**
98+
Opens the specified file in the JetBrains IDE editor
99+
#### Tool: **`replace_current_file_text`**
100+
Replaces the entire content of the currently active file
101+
#### Tool: **`replace_file_text_by_path`**
102+
Replaces the entire content of a specified file with new text
103+
#### Tool: **`replace_selected_text`**
104+
Replaces the currently selected text in the active editor
105+
#### Tool: **`replace_specific_text`**
106+
Replaces specific text occurrences in a file with new text
107+
#### Tool: **`run_configuration`**
108+
Run a specific run configuration in the current project
109+
#### Tool: **`search_in_files_content`**
110+
Searches for a text substring within all files in the project
111+
#### Tool: **`toggle_debugger_breakpoint`**
112+
Toggles a debugger breakpoint at the specified line in a project file
113+
#### Tool: **`wait`**
114+
Waits for a specified number of milliseconds
115+
## Use this MCP Server
116+
117+
```json
118+
{
119+
"mcpServers": {
120+
"jetbrains": {
121+
"command": "docker",
122+
"args": [
123+
"run",
124+
"-i",
125+
"--rm",
126+
"-e",
127+
"IDE_PORT",
128+
"mcp/jetbrains"
129+
],
130+
"env": {
131+
"IDE_PORT": "8090"
132+
}
133+
}
134+
}
135+
}
136+
```
137+
138+
[Why is it safer to run MCP Servers with Docker?](https://www.docker.com/blog/the-model-context-protocol-simplifying-building-ai-apps-with-anthropic-claude-desktop-and-docker/)

0 commit comments

Comments
 (0)