Jetbrains Proxy Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Jetbrains Proxy Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Project Overview:
src/jetbrains_proxy_mcp_server/server.py][server.py],which handles the proxy server setup and transport layer. The [src/jetbrains_proxy_mcp_server/service/JetbrainsMCPServerProxy.py][JetbrainsMCPServerProxy] class manages the connection to the downstream JetBrains MCP server and proxies the tool calls. It also includes logic to handle path conversions between different path formats (WSL, Git Bash, Windows).
Configuration is managed through the [src/jetbrains_proxy_mcp_server/properties/MCPServerProperties.py][MCPServerProperties.py] class, which loads settings from a config.yaml file.
Features:
See pytools.sh
Usage: pytools.sh <command> [args...]
Commands:
test [pytest-args...] Always run pytest in project .venv (auto-create). If pytest missing, auto-install.
purge Remove temp/build files (.venv, build, dist, caches, *.egg-info, _version.py)
reinstall-system [pip-args...] Reinstall into SYSTEM Python. Pass extra args to 'pip install'. No purge.
Examples:
pytools.sh reinstall-system --break-system-packages
pytools.sh reinstall-system --no-build-isolation ".[dev]"
reinstall-venv [pip-args...] Reinstall into project .venv (auto-create). Pass extra args to 'pip install'. No purge.
Examples:
pytools.sh reinstall-venv
pytools.sh reinstall-venv --no-build-isolation ".[dev]"
upload <repository> [extra-pip-args...] Build (sdist+wheel) and upload via twine to the named repository (e.g. pypi, testpypi).
Pass extra args to 'pip install' after the default list.
Examples:
pytools.sh upload pypi
pytools.sh upload testpypi 'build==1.2.2' 'twine==5.0.0'
Env vars:
PYTHON_BIN Python command to use (default: python3)
VENV_DIR Virtualenv path (default: $script_dir/.venv)# Install the package using the provided script:
./pytools.sh reinstall-venv
./pytools.sh reinstall-system --break-system-packages
# Or install the package using pip:
pip install .See also:
Create a config.yaml file to configure the proxy server. The server will look for this file in the following order:
--config command line argumentconfig.yaml in the current directory~/.config/jetbrains-proxy-mcp-server/config.yaml# Server configuration
server-name: "JetBrains Proxy MCP Server"
transport: "sse" # or "stdio"
timeout: 60.0
sse-port: 41110
sse-debug-enabled: true
# JetBrains MCP server configuration
jetbrains-mcp-server:
name: "jetbrains-mcp-server"
url: "http://127.0.0.1:64342/sse"
timeout: 35.0
sse-read-timeout: 300.0
start-timeout: 120.0
stop-timeout: 30.0
max-attempts: 5
initial-backoff: 1.0
max-backoff: 60.0
backoff-multiplier: 3.0
debug-enabled: true
client-path-type: "wsl" # or ""windows_git_bash" or "windows"
server-path-type: "windows" # or "wsl" or "windows_git_bash"| Property | Default | Description |
|---|---|---|
server-name | JetBrains Proxy MCP Server | Name of the proxy server |
transport | sse | Transport type: "sse" or "stdio" |
sse-port | 41110 | Port for SSE server |
sse-debug-enabled | true | Enable SSE debug mode |
timeout | 60.0 | Timeout for tool calls in seconds |
| Property | Default | Description |
|---|---|---|
name | jetbrains-mcp-server | Name of the JetBrains MCP server |
url | http://127.0.0.1:64342/sse | URL of the JetBrains MCP server |
headers | {} | Additional headers for requests |
timeout | 35.0 | Timeout for requests to JetBrains server |
sse-read-timeout | 300.0 | SSE read timeout |
start-timeout | 120.0 | Timeout for server startup |
stop-timeout | 30.0 | Timeout for server shutdown |
max-attempts | 5 | Maximum retry attempts |
initial-backoff | 1.0 | Initial backoff time in seconds |
max-backoff | 60.0 | Maximum backoff time in seconds |
backoff-multiplier | 3.0 | Backoff multiplier for retries |
client-path-type | wsl | Path type for the client |
server-path-type | windows | Path type for the JetBrains server |
debug-enabled | true | Enable debug logging |
See also:
Configuration can also be set using environment variables:
JETBRAINS_PROXY_MCP_SERVER_CONFIG - Path to config fileJETBRAINS_PROXY_MCP_SERVER_NAME - Server nameJETBRAINS_PROXY_MCP_SERVER_TRANSPORT - Transport typeJETBRAINS_PROXY_MCP_SERVER_TIMEOUT - Tool timeoutFor stdio transport, you must set:
export SIMP_LOGGER_LOG_CONSOLE_ENABLED=Falsesse, wsl:
{
"mcpServers": {
"jetbrains": {
"url": "http://127.0.0.1:41110/sse"
}
}
}sse, windows:
{
"mcpServers": {
"jetbrains": {
"url": "http://127.0.0.1:41111/sse"
}
}
}stdio, windows:
pip install jetbrains-proxy-mcp-server --upgrade --force-reinstall --extra-index-url http://127.0.0.1:8081/repository/pypi-group/simple --trusted-host 127.0.0.1{
"mcpServers": {
"jetbrains": {
"command": "jetbrains-proxy-mcp-server",
"args": [
"--config",
"c:/Users/<USER>/.config/jetbrains-proxy-mcp-server/config.yaml"
],
"env": {
"SIMP_LOGGER_LOG_CONSOLE_ENABLED": "False",
"SIMP_LOGGER_LOG_LEVEL": "DEBUG"
}
}
}
}Start the server with:
jetbrains-proxy-mcp-server
# Or:
jetbrains-proxy-mcp-server --config /path/to/your/config.yamlIf no config path is provided, the server will search for a config.yaml file in the default locations.
The proxy supports a curated list of JetBrains tools:
MCP Server v252.xxx
get_all_open_file_paths - Get paths of all open filesget_file_problems - Analyze file for errors and warningsget_file_text_by_path - Retrieve text content of a fileget_project_dependencies - Get project dependenciesget_project_modules - Get project modulesget_project_problems - Get project-wide problemslist_directory_tree - List directory contents in tree formatreformat_file - Reformat a filerename_refactoring - Rename a symbol across the projectreplace_text_in_file - Replace text in a filesearch_in_files_by_regex - Search files using regexsearch_in_files_by_text - Search files for textThe proxy handles path conversions between different operating systems:
/mnt/c/path/to/file/c/path/to/fileC:\path\to\fileConfigure client-path-type and server-path-type in your config to match your environments.
setuptools for packaging.pyproject.toml.logging module.anyio for asynchronous operations.uvicorn when running with the SSE transport.To install the necessary dependencies, run:
uv sync --no-install-project --extra testRun tests with pytest:
./pytools test tests/test_xxx.py
# Or use the command directly:
pytest tests/test_xxx.py
# Or test all:
pytestThis project is licensed under the MIT License. See the LICENSE file for details.
[server.py]: src/jetbrains_proxy_mcp_server/server.py [JetbrainsMCPServerProxy]: src/jetbrains_proxy_mcp_server/service/JetbrainsMCPServerProxy.py [MCPServerProperties.py]: src/jetbrains_proxy_mcp_server/properties/MCPServerProperties.py [JetbrainsMCPServer.py]: src/jetbrains_proxy_mcp_server/properties/JetbrainsMCPServer.py [logger.py]: src/jetbrains_proxy_mcp_server/logger.py [26071-mcp-server]: https://plugins.jetbrains.com/plugin/26071-mcp-server
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.