项目简介
此项目是一个 JetBrains IDE 插件及其配套的 MCP (Model Context Protocol) 服务器。它允许 AI 助手(如 Claude Code)通过标准化的 MCP 协议访问 JetBrains IDE 的实时代码检查结果,并能触发代码检查。这使得 AI 能够理解代码质量问题、提供修复建议,并协助开发者进行持续的代码质量监控。
主要功能点
- 实时获取代码检查问题: AI 助手可以请求获取当前项目或特定文件/目录中的代码检查问题(错误、警告等)。
- 过滤和分页: 支持按严重级别(错误、警告、信息等)、问题类型、文件路径模式进行过滤,并支持结果分页。
- 触发代码检查: AI 助手可以主动触发 JetBrains IDE 进行全项目、当前文件或指定目录的代码检查。
- 检查状态监控: 获取当前代码检查的进度和结果状态,确保在结果可用时再进行查询。
- 跨 IDE 兼容: 支持所有主流 JetBrains IDE (如 IntelliJ IDEA, PyCharm, WebStorm)。
安装步骤
- 安装 JetBrains IDE 插件:
- 从项目 Releases 页面下载最新 '.zip' 插件文件。
- 在 JetBrains IDE 中,进入 'Settings' (或 macOS 上的 'Preferences') → 'Plugins' → 点击齿轮图标 '⚙️' → 'Install Plugin from Disk...'。
- 选择下载的 '.zip' 文件并重启 IDE。
- 配置 IDE 内置服务器:
- 在 IDE 'Settings' (或 'Preferences') 中,导航到 'Build, Execution, Deployment' → 'Debugger'。
- 在 "Built-in server" 部分,设置 'Port'(例如 PyCharm 默认 '63341', IntelliJ 默认 '63340'),并勾选 "Can accept external connections" 和 "Allow unsigned requests"。
- 应用设置并重启 IDE。
- 安装 MCP 服务器依赖:
- 克隆此 GitHub 仓库到本地:'git clone https://github.com/cbusillo/jetbrains-inspection-api.git'
- 进入 'jetbrains-inspection-api/mcp-server' 目录:'cd jetbrains-inspection-api/mcp-server'
- 运行 'npm install' 安装 Node.js 依赖(需要 Node.js 18.0.0+)。
- 注册 MCP 服务器到 MCP 客户端:
- 根据您的 MCP 客户端(例如 Claude Code CLI)的说明,添加此 MCP 服务器。通常需要提供服务器的启动命令。
服务器配置 (MCP 客户端用)
当您将此 MCP 服务器添加到 MCP 客户端(如 Claude Code CLI)时,需要提供如下的 JSON 格式配置信息:
{ "name": "inspection-pycharm", // 为服务器指定一个唯一的名称,例如根据您的 IDE 命名为 "inspection-pycharm" 或 "inspection-intellij"。 "command": "node", // 启动 MCP 服务器的命令,通常是 "node" 或 "/usr/bin/node" 等。 "args": ["/path/to/jetbrains-inspection-api/mcp-server/server.js"], // 传递给 command 的参数,即 MCP 服务器脚本的路径。请将 "/path/to/jetbrains-inspection-api" 替换为您实际克隆仓库的本地路径。 "env": { "IDE_PORT": "63341" // 设置环境变量 IDE_PORT,指定您的 JetBrains IDE 内置服务器的端口。 // PyCharm 默认通常是 "63341",IntelliJ IDEA 默认通常是 "63340"。 }, "description": "通过 Model Context Protocol (MCP) 与 JetBrains IDE 集成,提供实时代码检查结果和操作的服务器。允许 AI 助手获取项目中的错误、警告,触发代码检查,并监控检查状态。" // 服务器的简要描述,有助于 AI 客户端理解其功能。 }
基本使用方法
一旦 MCP 服务器配置并启动,AI 助手即可调用以下工具与 JetBrains IDE 进行交互:
- 'inspection_trigger()': 触发全项目代码检查。
- 'inspection_trigger(scope="current_file")': 触发当前打开文件的代码检查。
- 'inspection_trigger(scope="directory", dir="src")': 触发指定目录的代码检查。
- 'inspection_get_status()': 获取当前代码检查的进行状态。重要提示: 建议在获取问题前,多次调用此工具直到 'is_scanning: false' 且 'has_inspection_results: true'。
- 'inspection_get_problems()': 获取所有检测到的代码问题。
- 'inspection_get_problems(severity="error")': 只获取错误级别的代码问题。
- 'inspection_get_problems(project="MyProject", severity="warning")': 获取指定项目中的警告级别问题。
- 'inspection_get_problems(problem_type="PyUnresolvedReferences")': 获取特定类型(如“Python 未解析引用”)的代码问题。
- 'inspection_get_problems(file_pattern=".test..py$")': 获取匹配特定文件路径模式的问题。
- 'inspection_get_problems(limit=50, offset=0)': 分页获取代码问题。
信息
分类
开发者工具