hechtcarmel/jetbrains-index-mcp-plugin
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codebase
IDE Index MCP Server – 它是什么
JetBrains Index MCP Server 是 JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm、GoLand、RustRover、Android Studio、PhpStorm 等)的一个插件,它在 IDE 内部启动一个 Model Context Protocol (MCP) 服务器。该服务器监听本地 HTTP 端口(例如 IntelliJ 的 127.0.0.1:29170),并将 IDE 自身的代码智能引擎——其 AST、符号索引、重构、诊断、构建运行工具——作为一组基于 JSON 的 RPC 调用暴露出来。
AI 编码助手,如 Claude、Codex、Cursor 和 Windsurf,可以调用这些 RPC 方法,从而:
- 定位定义、引用和层次结构;
- 运行安全的重构(重命名、移动、格式化等);
- 读取文件、搜索文本、获取诊断,甚至触发构建或测试;
- 管理多个项目(休眠/唤醒、打开/关闭)以保持较低的内存使用。
简而言之,该插件将 IDE 强大的、语言感知的功能转变为一个无头服务,AI 代理可以使用它,而不是依赖简单的静态分析或模糊搜索工具。
主要特性(通俗易懂)
| 领域 | 插件提供什么 | 为什么对 AI 助手重要 |
|---|---|---|
| 多语言支持 | 支持 Java/Kotlin、Python、JavaScript/TypeScript、Go、PHP、Rust、Scala、Markdown(以及 JetBrains 已支持的任何语言)。 | 同一个 MCP 端点无需额外配置即可回答多种语言的查询。 |
| 通用工具 | 查找引用、转到定义、搜索文件/文本、读取诊断、同步 IDE 的虚拟文件系统、触发构建/测试、打开/关闭项目等。 | 为 AI 提供代码库的真实语义视图,而不仅仅是原始文本。 |
| 语言感知重构 | 安全重命名、移动文件、格式化、优化导入、编辑/插入/替换成员、更改方法签名、Java 到 Kotlin 转换等。 | AI 可以提出自动应用的更改,而不会破坏引用。 |
| 项目生命周期管理 | 空闲项目自动休眠,释放其 PSI 缓存,并在需要时重新打开。 | 当 AI 在多个仓库中工作时,保持合理的内存使用。 |
| 无头/远程友好 | 服务器在普通 IDE 窗口、JetBrains 远程开发会话或无头自动化运行中运行。 | AI 可以从与本地 IDE 通信的容器或 CI 作业中使用。 |
| 简单的安全模型 | 绑定到 127.0.0.1,无身份验证;只有同一台机器上的进程才能调用它。 |
对于单用户工作站足够;用户必须决定在共享机器上是否需要额外的隔离。 |
工作原理(高层架构)
- 插件启动 – 当 IDE 启动时,插件启动一个 HTTP 服务器,绑定到
127.0.0.1上的默认端口,该端口对每个 IDE 是唯一的(例如 IntelliJ 为 29170,PyCharm 为 29172)。 - MCP 请求处理 – 每个请求都是一个 JSON 负载,描述一个 工具(例如
ide_find_definition)。插件将请求转发到 IDE 的内部 API(PSI、索引、重构引擎),并返回结构化的 JSON 响应。 - 工具窗口 – 底部面板 UI 显示服务器状态,允许您复制配置 JSON、更改端口或启用/禁用单个工具。
- 客户端配置 – AI 助手配置一个指向本地服务器 URL 的小 JSON 片段。README 提供了针对 Claude、Codex、Cursor、Windsurf 和通用 VS Code MCP 客户端的现成命令。
- 生命周期管理 – 一个可选的背景组件监控窗口焦点和 MCP 活动,自动将空闲项目置于低内存的“休眠”状态,并在新的 MCP 调用到达时唤醒它们。
谁可能使用这个?
| 使用场景 | 好处 |
|---|---|
| AI 增强编码 – 让 Claude 或 Codex 建议代码的开发人员,希望建议基于准确的项目结构。 | AI 可以向 IDE 询问符号的真实定义,获取准确的诊断,并安全地应用重构。 |
| 自动化代码审查 / 批量重构 – 需要在大型多模块仓库中重命名类的脚本。 | 插件的无头重命名工具更新所有引用,并尊重特定语言的规则。 |
| CI / 测试管道 – 无需启动完整 UI 即可通过 IDE 运行静态分析或构建步骤。 | ide_build_project 和 ide_run_tests 以机器友好的方式暴露 IDE 的构建系统。 |
| 多项目工作区 – 处理数十个 Maven/Gradle 项目的开发人员。 | 生命周期管理通过休眠未积极编辑的项目来释放内存。 |
快速入门(快速步骤)
- 安装 插件从 JetBrains Marketplace(或通过提供的 ZIP)。
- 重启 IDE – MCP 服务器自动启动。
- 打开 “Index MCP Server” 工具窗口,点击 “Install on Coding Agents”。该按钮将运行适当的 CLI 命令(Claude、Codex)或复制 JSON 配置给其他客户端。
- 在您的 AI 助手设置中,添加服务器 URL(例如
http://127.0.0.1:29170/index-mcp/streamable-http)。 - 开始编码 – 助手现在可以向 IDE 询问定义、运行安全重构和读取诊断。
限制与安全说明
- 服务器是 仅本地 且 无身份验证。在共享工作站上,任何进程都可以调用具有写入能力的工具(重命名、移动、编辑)。如果需要,请考虑禁用写入工具或使用操作系统级防火墙规则。
- Rider 不受支持,因为其 ReSharper 后端不暴露所需的 PSI API。
- 某些工具 默认禁用(例如
ide_read_file、ide_refactor_rename)。必须在 Settings → Tools → Index MCP Server → Exposed Tools 中启用它们。
许可证与贡献
该插件根据标准的 JetBrains 插件许可证发布(请参阅仓库中的 LICENSE 文件)。欢迎通过拉取请求贡献;请参阅仓库的 Contributing 部分获取指南。
TL;DR
JetBrains Index MCP Server 将 IDE 的深度代码理解引擎转变为本地 HTTP 服务,AI 编码助手可以调用。它支持多种语言,提供安全重构、项目生命周期管理,并开箱即用地与流行的 AI 工具配合使用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目