Back to MCP Servers

Jetbrains Index Mcp Plugin

A JetBrains IDE plugin that exposes an MCP server, enabling AI coding assistants to leverage the IDE's indexing and refactoring capabilities (rename, safe delete, find references, call hierarchy, type hierarchy, diagnostics and more).

developer-toolsairag
By hechtcarmel
23855Updated 2 days agoKotlinMIT

Installation

npx -y jetbrains-index-mcp-plugin

Configuration

{
  "mcpServers": {
    "jetbrains-index-mcp-plugin": {
      "command": "npx",
      "args": ["-y", "jetbrains-index-mcp-plugin"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

IDE Index MCP Server

Build Version Downloads

A JetBrains IDE plugin that exposes an MCP (Model Context Protocol) server, enabling AI coding assistants like Claude, Codex, Cursor, and Windsurf to leverage the IDE's powerful indexing and refactoring capabilities.

Fully tested: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm May work (untested): RubyMine, CLion, DataGrip

"Buy Me A Coffee"

<!-- Plugin description -->

IDE Index MCP Server provides AI coding assistants with access to the IDE's powerful code intelligence features through the Model Context Protocol (MCP).

Features

Multi-Language Support Advanced tools work across multiple languages based on available plugins:

  • Java & Kotlin - IntelliJ IDEA, Android Studio
  • Python - PyCharm (all editions), IntelliJ with Python plugin
  • JavaScript & TypeScript - WebStorm, IntelliJ Ultimate, PhpStorm
  • Go - GoLand, IntelliJ IDEA Ultimate with Go plugin
  • PHP - PhpStorm, IntelliJ Ultimate with PHP plugin
  • Rust - RustRover, IntelliJ IDEA Ultimate with Rust plugin, CLion
  • Markdown - heading outlines in file structure for IDEs with the bundled Markdown plugin

Universal Tools (All Supported JetBrains IDEs)

  • Find References - Locate all usages of any symbol across the project
  • Go to Definition - Navigate to symbol declarations
  • Code Diagnostics - Access errors, warnings, and quick fixes
  • Index Status - Check if code intelligence is ready
  • Sync Files - Force sync VFS/PSI cache after external file changes
  • Build Project - Trigger IDE build with structured error/warning output (disabled by default)
  • Find Class - Fast class/interface search by name with camelCase matching
  • Find File - Fast file search by name using IDE's file index
  • Symbol Search - Find code symbols by name with IntelliJ Go to Symbol matching (disabled by default)
  • Search Text - Text search using IDE's pre-built word index
  • Read File - Read file content by path or qualified name, including library sources (disabled by default)
  • Open File - Open a file in the editor with optional navigation (disabled by default)
  • Get Active File - Get currently active editor file(s) with cursor position (disabled by default)

Extended Tools (Language-Aware) These tools activate based on installed language plugins:

  • Type Hierarchy - Explore class inheritance chains
  • Call Hierarchy - Trace method/function call relationships
  • Find Implementations - Discover interface/abstract implementations
  • Find Super Methods - Navigate method override hierarchies
  • File Structure - View hierarchical file structure like IDE's Structure view, including PHP Structure View trees and Markdown heading outlines (disabled by default)

Refactoring Tools

  • Rename Refactoring - Safe renaming with automatic related element renaming (getters/setters, overriding methods) - works across ALL languages, fully headless
  • Reformat Code - Reformat using project code style with import optimization (disabled by default)
  • Safe Delete - Remove code with usage checking (Java/Kotlin only)
  • Java to Kotlin Conversion - Convert Java to Kotlin using Intellij's built-in converter (Java only)

Why Use This Plugin?

Unlike simple text-based code analysis, this plugin gives AI assistants access to:

  • True semantic understanding through the IDE's AST and index
  • Cross-project reference resolution that works across files and modules
  • Multi-language support - automatically detects and uses language-specific handlers
  • Safe refactoring operations with automatic reference updates and undo support

Perfect for AI-assisted development workflows where accuracy and safety matter.

<!-- Plugin description end -->

Table of Contents

Installation

Using the IDE built-in plugin system

<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "IDE Index MCP Server"</kbd> > <kbd>Install</kbd>

Using JetBrains Marketplace

Go to JetBrains Marketplace and install it by clicking the <kbd>Install to ...</kbd> button.

Manual Installation

Download the latest release and install it manually: <kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>

Quick Start

  1. Install the plugin and restart your JetBrains IDE
  2. Open a project - the MCP server starts automatically with IDE-specific defaults:
    • IntelliJ IDEA: intellij-index on port 29170
    • PyCharm: pycharm-index on port 29172
    • WebStorm: webstorm-index on port 29173
    • Other IDEs: See IDE-Specific Defaults
  3. Configure your AI assistant using the "Install on Coding Agents" button (easiest) or manually
  4. Use the tool window (bottom panel: "Index MCP Server") to copy configuration or monitor commands
  5. Change port (optional): Click "Change port, disable tools" in the toolbar or go to <kbd>Settings</kbd> > <kbd>Tools</kbd> > <kbd>Index MCP Server</kbd>

Using the "Install on Coding Agents" Button

The easiest way to configure your AI assistant:

  1. Open the "Index MCP Server" tool window (bottom panel)
  2. Click the prominent "Install on Coding Agents" button on the right side of the toolbar
  3. A popup appears with two sections:
    • Install Now - For Claude Code CLI and Codex CLI: Runs the installation command automatically
    • Copy Configuration - For other clients: Copies the JSON config to your clipboard
  4. For "Copy Configuration" clients, paste the config into the appropriate config file

Community Integrations

Disclaimer: This repository is not maintained by me. Please use its own issue tracker for integration-specific issues and support.

Client Configuration

Claude Code (CLI)

Use the "Install on Coding Agents" button in the tool window, or run this command (adjust name and port for your IDE):

# IntelliJ IDEA
claude mcp add --transport http --scope user intellij-index http://127.0.0.1:29170/index-mcp/streamable-http

# PyCharm
claude mcp add --transport http --scope user pycharm-index http://127.0.0.1:29172/index-mcp/streamable-http

# WebStorm
claude mcp add --transport http --scope user webstorm-index http://127.0.0.1:29173/index-mcp/streamable-http

Options:

  • --scope user - Adds globally for all projects
  • --scope project - Adds to current project only

To remove: claude mcp remove <server-name> (e.g., claude mcp remove intellij-index)

Codex CLI

Use the "Install on Coding Agents" button in the tool window, or run this command (adjust name and port for your IDE):

# IntelliJ IDEA
codex mcp add intellij-index --url http://127.0.0.1:29170/index-mcp/streamable-http

# PyCharm
codex mcp add pycharm-index --url http://127.0.0.1:29172/index-mcp/streamable-http

# WebStorm
codex mcp add webstorm-index --url http://127.0.0.1:29173/index-mcp/streamable-http

To remove: codex mcp remove <server-name> (e.g., codex mcp remove intellij-index)

Cursor

Add to .cursor/mcp.json in your project root or ~/.cursor/mcp.json globally (adjust name and port for your IDE):

{
  "mcpServers": {
    "intellij-index": {
      "url": "http://127.0.0.1:29170/index-mcp/streamable-http"
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json (adjust name and port for your IDE):

{
  "mcpServers": {
    "intellij-index": {
      "serverUrl": "http://127.0.0.1:29170/index-mcp/streamable-http"
    }
  }
}

VS Code (Generic MCP)

{
  "mcp.servers": {
    "intellij-index": {
      "url": "http://127.0.0.1:29170/index-mcp/streamable-http"
    }
  }
}

Note: Replace the server name and port with your IDE's defaults. See IDE-Specific Defaults below.

IDE-Specific Defaults

Each JetBrains IDE has a unique default port and server name to allow running multiple IDEs simultaneously without conflicts:

IDEServer NameDefault Port
IntelliJ IDEAintellij-index29170
Android Studioandroid-studio-index29171
PyCharmpycharm-index29172
WebStormwebstorm-index29173
GoLandgoland-index29174
PhpStormphpstorm-index29175
RubyMinerubymine-index29176
CLionclion-index29177
RustRoverrustrover-index29178
DataGripdatagrip-index29179

Tip: Use the "Install on Coding Agents" button in the tool window - it automatically uses the correct server name and port for your IDE.

Available Tools

The plugin provides 21 MCP tools organized by availability. Tools marked (disabled by default) can be enabled in <kbd>Settings</kbd> > <kbd>Tools</kbd> > <kbd>Index MCP Server</kbd>.

Universal Tools

These tools work in all supported JetBrains IDEs.

ToolDescription
ide_find_referencesFind all references to a symbol across the entire project
ide_find_definitionFind the definition/declaration location of a symbol
ide_find_classSearch for classes/interfaces by name with camelCase/substring/wildcard matching
ide_find_fileSearch for files by name using IDE's file index
ide_find_symbolSearch for symbols (classes, methods, fields, functions) by name with IntelliJ Go to Symbol matching (disabled by default)
ide_search_textText search using IDE's pre-built word index with context filtering
ide_diagnosticsAnalyze file problems with fresh editor diagnostics for open files or public batch diagnostics for closed files, plus optional build/test results; intentions are best-effort
ide_index_statusCheck if the IDE is in dumb mode or smart mode
ide_sync_filesForce sync IDE's virtual file system and PSI cache with external file changes
ide_build_projectBuild project using IDE's build system (JPS, Gradle, Maven) with structured errors (disabled by default)
ide_read_fileRead file content by path or qualified name, including library/jar sources (disabled by default)
ide_get_active_fileGet the currently active file(s) in the editor with cursor position (disabled by default)
ide_open_fileOpen a file in the editor with optional line/column navigation (disabled by default)
ide_refactor_renameRename a symbol and update all references across the project (all languages)
ide_move_fileMove a file to a new directory, applying language-aware reference/package updates when the IDE provides a semantic move backend
ide_reformat_codeReformat code using project code style with import optimization (disabled by default)

Extended Tools (Language-Aware)

These tools ac

View source on GitHub