npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dachibob/mcp-proxy

v1.31.0

Published

A MCP proxy to redirect requests to JetBrains IDEs

Downloads

85

Readme

@dachibao/mcp-proxy

The server proxies requests from client to JetBrains IDE.

Features

  • Automatic IDE Discovery: Automatically finds and connects to running JetBrains IDEs
  • Multi-IDE Support: Supports multiple IDE instances simultaneously
  • Multi-Project Support: Execute operations across different projects concurrently
  • Async Run Configurations: Start long-running processes and monitor them in real-time (v1.31+)
  • Smart Configuration: Use mcp-info command to automatically generate configuration
  • Version Management: Synced with Git tags for consistent versioning

Quick Setup

1. Install MCP Server plugin

https://plugins.jetbrains.com/plugin/26071-mcp-server

2. Auto-discover your IDEs

npx @dachibao/mcp-proxy mcp-info

This will scan for running JetBrains IDEs and provide ready-to-use configuration commands.

3. Add to Claude Desktop

Run the generated commands from step 2, for example:

claude mcp add "webstorm-my-project" "npx" "@dachibao/mcp-proxy" -e "IDE_PORT=63342"

VS Code Installation

For one-click installation, click one of the install buttons below:

Install with NPX in VS Code Install with NPX in VS Code Insiders

Manual Installation

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

{
  "mcp": {
    "servers": {
      "dachibao": {
        "command": "npx",
        "args": ["-y", "@dachibao/mcp-proxy"]
      }
    }
  }
}

Optionally, you can add it to a file called .vscode/mcp.json in your workspace:

{
  "servers": {
    "dachibao": {
      "command": "npx",
      "args": ["-y", "@dachibao/mcp-proxy"]
    }
  }
}

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json. The full path on MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json, on Windows: %APPDATA%/Claude/claude_desktop_config.json.

{
  "mcpServers": {
    "dachibao": {
      "command": "npx",
      "args": ["-y", "@dachibao/mcp-proxy"]
    }
  }
}

After installing the MCP Server Plugin, and adding the JSON to the config file, restart Claude Desktop, and make sure the Jetbrains product is open before restarting Claude Desktop.

Multi-Project Support

Overview

Starting from MCP Server Plugin v1.29+, all project-specific APIs require a projectName parameter to specify which project to operate on. This enables true multi-project concurrent operations.

API Changes

  • Public APIs: 3 APIs (get_all_open_projects, list_tools, get_dispatcher_status) work globally without projectName
  • Project-Specific APIs: 33+ APIs now require projectName parameter for project targeting

Example Usage

Before (Single Project)

{
  "pathInProject": "src/main.kt"
}

After (Multi-Project)

{
  "pathInProject": "src/main.kt",
  "projectName": "my-kotlin-project"
}

Discovering Projects

Use the get_all_open_projects API to discover available projects:

{
  "tool": "get_all_open_projects"
}

Returns:

{
  "projects": [
    {
      "name": "my-kotlin-project",
      "path": "/path/to/project",
      "modules": ["main", "test"]
    },
    {
      "name": "another-project", 
      "path": "/path/to/another",
      "modules": ["app", "core"]
    }
  ]
}

Common Operations with Project Names

File Operations

💡 Performance Tip: For local development, consider using direct file system operations instead of MCP APIs for file operations when possible. This provides better performance for large files or bulk operations.

// Read file from specific project
{
  "tool": "get_file_text_by_path",
  "pathInProject": "src/Example.kt",
  "projectName": "my-kotlin-project"
}

// Create file in specific project
{
  "tool": "create_new_file_with_text",
  "pathInProject": "src/NewClass.kt",
  "text": "class NewClass { }",
  "projectName": "my-kotlin-project"
}

Terminal Operations

// Execute command in specific project
{
  "tool": "execute_terminal_command",
  "command": "gradle build",
  "projectName": "my-kotlin-project"
}

Search Operations

// Search in specific project
{
  "tool": "search_in_files_content",
  "searchText": "TODO",
  "projectName": "my-kotlin-project"
}

Async Run Configuration Operations (v1.31+)

// Start a run configuration and get processId immediately
{
  "tool": "run_configuration",
  "configName": "Application",
  "projectName": "my-kotlin-project"
}

// Monitor process output and status by processId
{
  "tool": "get_configuration_process_content",
  "processId": "1704398400123",
  "projectName": "my-kotlin-project"
}

Benefits of Async Run Configurations:

  • Non-blocking: Start long-running processes without waiting for completion
  • Real-time monitoring: Check process output and status at any time
  • Concurrent execution: Run multiple configurations simultaneously across projects
  • Process lifecycle management: Track process status, exit codes, and output

Benefits

  • Concurrent Operations: Work on multiple projects simultaneously
  • Project Isolation: Operations are isolated to the specified project context
  • Clear Targeting: Explicit project specification prevents accidental operations on wrong projects

Configuration

If you're running multiple IDEs with MCP server and want to connect to the specific one, add to the MCP server configuration:

"env": {
  "IDE_PORT": "<port of IDE's built-in webserver>"
}

By default, we connect to IDE on 127.0.0.1 but you can specify a different address/host:

"env": {
  "HOST": "<host/address of IDE's built-in webserver>"
}

To enable logging add:

"env": {
  "LOG_ENABLED": "true"
}

Troubleshooting

Node.js Version Requirements

Problem: Error message: Cannot find module 'node:path'

Solution: MCP Proxy doesn't work on Node 16. Upgrade your Node.js installation to version 18 or later. Make sure that command in config points to the correct Node.js version. Try to use the full path to the latest version of NodeJS.

MacOS: Plugin Unable to Detect Node.js Installed via nvm

Problem: On MacOS, if you have Node.js installed through nvm (Node Version Manager), the MCP Server Plugin might be unable to detect your Node.js installation.

Solution: Create a symbolic link in /usr/local/bin pointing to your nvm npx executable:

which npx &>/dev/null && sudo ln -sf "$(which npx)" /usr/local/bin/npx

This one-liner checks if npx exists in your path and creates the necessary symbolic link with proper permissions.

Using MCP with External Clients or Docker Containers (LibreChat, Cline, etc.)

Problem: When attempting to connect to the JetBrains MCP proxy from external clients, Docker containers, or third-party applications (like LibreChat), requests to endpoints such as http://host.docker.internal:6365/api/mcp/list_tools may return 404 errors or fail to connect. Solution: There are two key issues to address:

  1. Enable External Connections:

In your JetBrains IDE, enable "Can accept external connections" in the Settings | Build, Execution, Deployment | Debugger.

  1. Configure with LAN IP and Port:

Use your machine's LAN IP address instead of host.docker.internal Explicitly set the IDE_PORT and HOST in your configuration Example configuration for LibreChat or similar external clients:

mcpServers:
  intellij:
    type: stdio
    command: sh
    args:
      - "-c"
      - "IDE_PORT=YOUR_IDEA_PORT HOST=YOUR_IDEA_LAN_IP npx -y @dachibao/mcp-proxy"

Replace:

YOUR_IDEA_PORT with your IDE's debug port (found in IDE settings) YOUR_IDEA_LAN_IP with your computer's local network IP (e.g., 192.168.0.12)

How to build

  1. Tested on macOS
  2. brew install node pnpm
  3. Run pnpm build to build the project