开启
1
打开设置页面
进入 设置 › 工具 › MCP 服务器。
2
启用
打开 启用 MCP 服务器 并应用。默认是关闭的。
3
查看状态
状态 显示服务器正在使用的端口,或启动失败的原因。端点 显示当前窗口所在项目的 URL。
127.0.0.1 上的一个随机端口,每个请求都必须带上令牌,令牌在每次启动 OpenIDEA 时都会变化。来自其他 Origin 或 Host 的请求会被拒绝。
连接客户端
设置页面的 客户端配置 下有两个按钮,都会复制一段大多数客户端都能识别的mcpServers JSON 配置。
- 复制 Stdio 配置(推荐):客户端以
--mcp-stdio参数启动 OpenIDEA 的可执行文件,由它转发给正在运行的 IDE。配置里没有令牌,OpenIDEA 重启后依然可用。 - 复制 HTTP 配置:客户端带着
Authorization: Bearer <token>连接http://127.0.0.1:<port>/mcp。由于端口和令牌会变,OpenIDEA 重启后这份配置就失效了。
--project 指定客户端要操作的项目。省略时,转发程序使用客户端启动它时所在的目录,这样一份配置就能用于你在 OpenIDEA 中打开的所有项目。
- Claude Code
- Codex
- 其他客户端
在项目目录的终端中为当前项目添加服务器:也可以把复制的 JSON 放到项目根目录的
.mcp.json 中,与团队共享。openidea.exe。
工具只在 OpenIDEA 运行且项目已打开时可用。客户端可以指定已打开项目中的任意目录,服务器会选出包含它的那个项目。HTTP 客户端通过 X-OpenIDEA-Project 请求头或 ?project= 查询参数指定项目。
服务器运行期间,OpenIDEA 会把端口和令牌写入应用数据目录下的 mcp/server.json(只有你自己可读),stdio 转发程序从这里读取。
工具
几点说明:
read_file还能读取依赖的源代码,以及 jar 和 zip 压缩包中的文件。search_symbol和find_references使用 IDE 的索引和语言服务器;get_symbol_info返回的内容与快速文档相同。get_file_problems和get_project_problems返回的是问题工具窗口当前显示的内容(已应用你的检查配置文件),而不是重新分析的结果。rename_refactoring通过语言服务器重命名,文本搜索找不到的引用也会一并更新;也可以只预览不写入。apply_patch接受 Codex 的apply_patch格式和 unified diff,路径必须在项目内。git_diff比较的是磁盘上的文件,不包含编辑器中尚未保存的内容。
安全
- 未受信任的项目 只开放只读工具。写文件、重命名、重新格式化、构建或运行的工具都要求项目已被信任。
- 运行和构建会先询问。
execute_run_configuration和build_project会在 OpenIDEA 中弹出对话框,说明是哪个客户端、哪个项目、哪个工具以及要运行什么,选择 允许 或 拒绝;多个请求会排队。 - 会写入的工具拒绝项目之外的路径。
限制
- 远程项目(通过 SSH、服务器或容器打开的项目)暂不支持 MCP 服务器。
- 服务器只为 OpenIDEA 中已打开的项目提供服务,关闭项目窗口后该项目的工具就不可用了。
- 响应是普通 JSON,服务器不通过 SSE 推送流式结果。