Fork of the JetBrains MCP server that streams every MCP interaction over WebSocket for real-time monitoring.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add proxy-sidecar --env HOST='<HOST>' --env IDE_PORT='<IDE_PORT>' --env LOG_ENABLED='<LOG_ENABLED>' --env WS_PORT='<WS_PORT>' -- npx -y mcp-proxy-sidecar~/.codex/config.toml
[mcp_servers.proxy-sidecar]
command = "npx"
args = ["-y", "mcp-proxy-sidecar"]
env = { HOST = "<HOST>", IDE_PORT = "<IDE_PORT>", LOG_ENABLED = "<LOG_ENABLED>", WS_PORT = "<WS_PORT>" }
# codex mcp add proxy-sidecar --env HOST='<HOST>' --env IDE_PORT='<IDE_PORT>' --env LOG_ENABLED='<LOG_ENABLED>' --env WS_PORT='<WS_PORT>' -- npx -y mcp-proxy-sidecar~/.cursor/mcp.json
{
"mcpServers": {
"proxy-sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-proxy-sidecar"
],
"env": {
"HOST": "<HOST>",
"IDE_PORT": "<IDE_PORT>",
"LOG_ENABLED": "<LOG_ENABLED>",
"WS_PORT": "<WS_PORT>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"proxy-sidecar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-proxy-sidecar"
],
"env": {
"HOST": "<HOST>",
"IDE_PORT": "<IDE_PORT>",
"LOG_ENABLED": "<LOG_ENABLED>",
"WS_PORT": "<WS_PORT>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"proxy-sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-proxy-sidecar"
],
"env": {
"HOST": "<HOST>",
"IDE_PORT": "<IDE_PORT>",
"LOG_ENABLED": "<LOG_ENABLED>",
"WS_PORT": "<WS_PORT>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"proxy-sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-proxy-sidecar"
],
"env": {
"HOST": "<HOST>",
"IDE_PORT": "<IDE_PORT>",
"LOG_ENABLED": "<LOG_ENABLED>",
"WS_PORT": "<WS_PORT>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"proxy-sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-proxy-sidecar"
],
"env": {
"HOST": "<HOST>",
"IDE_PORT": "<IDE_PORT>",
"LOG_ENABLED": "<LOG_ENABLED>",
"WS_PORT": "<WS_PORT>"
}
}
}
}Environment variables
HOSTIDE_PORTLOG_ENABLEDWS_PORT
Replace the placeholders with your own credentials and keep them out of version control.