IntelliJ IDEA 2026.1 Help

MCP 服务器

2025.2 版本起,IntelliJ IDEA 随附集成的 MCP 服务器 ,允许 Claude Desktop、光标、Codex、VS Code 等外部客户端访问 IDE 提供的工具。 这使用户无需离开其首选应用程序即可控制并与 JetBrains IDE 进行交互。

启用 MCP 服务器插件

此功能性依赖 MCP 服务器插件,该插件默认在 IntelliJ IDEA 中集成并启用。 如果相关功能不可用,请确保您没有禁用插件。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 已安装 选项卡,找到 MCP 服务器 插件,然后选择插件名称旁边的复选框。

外部客户端设置

对于 Claude CodeClaude Desktop光标VS CodeCodexWindsurf 等外部客户端,可自动完成配置:

  1. 在主菜单中,前往 设置 | 工具 | MCP Server

  2. 点击 启用 MCP 服务器​

  3. 客户端自动配置 部分,为每个要与 MCP 服务器一起使用的客户端点击 自动配置。 这将自动更新其 JSON 配置。

    MCP 服务器设置
  4. 请重新启动您的客户端以使配置生效。

如果您希望从其他任何客户端连接到 MCP 服务器,则需要执行手动配置:

  1. 手动客户端配置 部分中,根据连接类型点击 复制 SSE 配置复制 Stdio 配置

    MCP 服务器手动配置
  2. 将复制的配置粘贴到您的客户端的设置或配置文件中。

  3. 请重新启动您的客户端以使配置生效。

无需确认执行操作

MCP 服务器允许已连接的外部客户端在 IDE 中执行终端命令或运行配置,而无需每次都提示用户确认。

要启用此模式:

  1. 在主菜单中,前往 设置 | 工具 | MCP Server

  2. 命令执行 部分,启用 无需确认即可运行 shell 命令或运行配置(Brave 模式) 设置。

  3. 点击 应用

支持的工具

以下是 MCP 服务器提供的工具列表:

execute_run_configuration

在当前项目中运行特定的运行配置,并等待其在指定超时时间内完成。 使用此工具执行通过 get_run_configurations 工具获取的运行配置。

返回执行结果,包括退出代码、输出和成功状态。

参数:

  • configurationName :要执行的运行配置的名称。

  • timeout :超时(毫秒)。

  • maxLinesCount :返回的最大行数。

  • truncateMode :如何截断文本:从开头、中间、末尾截断,或不截断。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_run_configurations

返回当前项目的运行配置列表。 运行配置定义了如何从源代码运行应用、任务或测试套件。

如果可用,此工具还会提供命令行、工作目录和环境变量等附加信息。

使用此工具查询当前项目中可用的运行配置列表。

参数:

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_file_problems

使用 IntelliJ 检查分析指定文件中的错误和警告。 使用此工具识别特定文件中的代码问题、语法错误及其他问题。

返回问题列表,包括严重性、描述和位置信息。

参数:

  • filePath :相对于项目根目录的路径。

  • errorsOnly :是否仅包含错误,或同时包含错误和警告。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_project_dependencies

返回项目中定义的所有依赖项列表。 提供有关库名称的结构化信息。

参数:

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_project_modules

返回项目中所有模块及其类型的列表。 提供每个模块的结构化信息,包括其名称和类型。

参数:

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

create_new_file

在项目目录中的指定路径创建新文件。 可选择将提供的文本写入该文件。

参数:

  • pathInProject :应创建文件的路径,相对于项目根目录。

  • text (可选):要写入新文件的内容。

  • overwrite :是否覆盖现有文件。 如果设置为 false ,发生冲突时将抛出异常。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

find_files_by_glob

搜索项目中相对路径与指定 glob 模式匹配的所有文件。 在项目目录的所有子目录或指定子目录中递归执行搜索。 使用此工具通过 glob 模式查找文件(例如, **/*.txt)。

参数:

  • globPattern :要搜索的 glob 模式。 该模式必须相对于项目根目录。 示例: src/**/*.java

  • subDirectoryRelativePath (可选):相对于项目的搜索子目录。

  • addExcluded :是否将已排除/已忽略的文件添加到搜索结果。 文件可能被用户或忽略规则排除。

  • fileCountLimit :返回的最大文件数。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

find_files_by_name_keyword

搜索项目中名称包含指定关键字的所有文件(区分大小写)。 当您知道文件名的一部分时,使用此工具定位文件。

参数:

  • nameKeyword :要在文件名中搜索的子字符串。

  • fileCountLimit :返回的最大文件数。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_all_open_file_paths

返回在活动编辑器或任何其他已打开的编辑器中打开进行编辑的所有文件的路径,相对于项目根目录。 使用此工具探索当前打开的编辑器。

参数:

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

list_directory_tree

以伪图形格式提供指定目录的树形表示,类似于 tree 实用工具。 使用此工具浏览目录或整个项目的内容。 列出目录时,优先使用此工具,而非 lsdir 等命令行实用工具。

参数:

  • directoryPath :相对于项目根目录的路径。

  • maxDepth :最大递归深度。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

open_file_in_editor

在 JetBrains IDE 编辑器中打开指定文件。 需要一个 filePath 参数,其中包含要打开的文件路径。 文件路径可以是绝对路径,也可以是相对于项目根目录的路径。

参数:

  • filePath :相对于项目根目录的路径。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

reformat_file

在 JetBrains IDE 中重新格式化指定文件。 使用此工具对通过其路径标识的文件应用代码格式化。

参数:

  • path :相对于项目根目录的路径。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_file_text_by_path

使用相对于项目根目录的路径检索文件的文本内容。 当您拥有该文件的项目相对路径时,使用此工具读取文件内容。

参数:

  • pathInProject :应创建文件的路径,相对于项目根目录。

  • truncateMode :如何截断文本:从开头、中间、末尾截断,或不截断。

  • maxLinesCount :返回的最大行数。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

replace_text_in_file

使用灵活的查找并替换选项替换文件中的文本。 使用此工具进行有针对性的更改,而无需替换整个文件内容。 当您知道要替换的精确文本时,这是进行文件修改的最高效工具。

返回以下响应之一:

  • ok – 替换成功。

  • project dir not found – 无法确定项目目录。

  • file not found – 指定的文件不存在。

  • could not get document – 无法访问文件内容。

  • no occurrences found – 在文件中未找到要替换的文本。

参数:

  • pathInProject :目标文件相对于项目根目录的路径。

  • oldText :要替换的文本。

  • newText :替换文本。

  • replaceAll :是否替换所有匹配项。

  • caseSensitive :搜索是否区分大小写。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

search_in_files_by_regex

使用 IntelliJ 的搜索引擎在项目中的所有文件中搜索正则表达式模式。 优先使用此工具,而非使用命令行工具读取文件,因为其速度更快。

结果中的匹配项会通过在其两侧加上 || 字符来高亮显示。 例如: some text ||substring|| text

参数:

  • regexPattern :要搜索的正则表达式模式。

  • directoryToSearch :要搜索的目录,相对于项目根目录。 如果未指定,则搜索整个项目。

  • fileMask :要搜索的文件掩码。 如未指定,将搜索所有文件。 示例: *.java

  • caseSensitive :搜索是否区分大小写。

  • maxUsageCount :返回的最大条目数。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

search_in_files_by_text

使用 IntelliJ 的搜索引擎在项目中的所有文件中搜索文本子字符串。 优先使用此工具,而非使用命令行工具读取文件,因为其速度更快。

结果中的匹配项会通过在其两侧加上 || 字符来高亮显示。 例如 some text ||substring|| text

参数:

  • searchText :要搜索的文本子字符串。

  • directoryToSearch :要搜索的目录,相对于项目根目录。 如果未指定,则搜索整个项目。

  • fileMask :要搜索的文件掩码。 如未指定,将搜索所有文件。 示例: *.java

  • caseSensitive :搜索是否区分大小写。

  • maxUsageCount :返回的最大条目数。

  • timeout :超时(毫秒)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_symbol_info

检索指定文件中指定位置的符号信息。 提供与 IntelliJ IDEA 的 快速文档 功能相同的信息。 这些信息可能包括符号的名称、签名、类型、文档及其他详细信息,具体取决于编程语言。

如果该位置引用了某个符号,且声明可用,该工具将返回包含该符号声明的代码片段。 使用此工具了解符号的声明、语义及位置。

参数:

  • filePath :相对于项目根目录的路径。

  • line :从 1 开始的行号。

  • column :从 1 开始的列号。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

rename_refactoring

重命名指定文件中的符号(变量、函数、类等)。 使用此工具执行重命名重构操作。

与简单的文本查找并替换不同, rename_refactoring 工具是理解代码结构的上下文感知型实用工具。 它会智能更新整个项目中对指定符号的所有引用,确保代码完整性并防止引用失效。 它始终是重命名编程符号的首选方法。

如果重命名操作成功,该工具将返回成功消息;如果找不到文件或符号,或重命名操作失败,则返回错误消息。

参数:

  • pathInProject :相对于项目根目录的路径。

  • symbolName :要重命名的现有符号的精确且区分大小写的名称(例如, getUserData)。

  • newName :用于该符号的精确且区分大小写的名称(例如, fetchUserData)。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

execute_terminal_command

在 IDE 的集成终端中执行指定的 shell 命令。 使用此工具在 IDE 环境中运行终端命令。

重要功能和限制:

  • 在收集输出之前检查进程是否在运行。

  • 将输出限制为 2000 行(超出部分将被截断)。

  • 在指定的超时时间后超时,并发出通知。

  • 除非在设置中启用了 Brave Mode ,否则需要用户确认。

返回的可能响应:

  • 终端输出(超过 2000 行时将被截断)。

  • 如果命令超时,输出将包含中断通知。

  • 针对各种失败情况的错误消息。

参数:

  • command :要执行的 shell 命令。

  • executeInShell :是否在用户的默认 shell(bash、zsh 等)中执行该命令。 如果该命令是 shell 脚本,或需要保留用户终端的真实环境,则非常有用。 如果设置为 false ,将以进程方式启动该命令。

  • reuseExistingTerminalWindow :是否重用现有终端窗口,以避免创建多个终端。

  • timeout :超时(毫秒)。

  • maxLinesCount :返回的最大行数。

  • truncateMode :如何截断文本:从开头、中间、末尾截断,或不截断。

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

get_repositories

检索项目中的 VCS 根目录列表。 在多仓库项目中使用此工具识别所有仓库。

参数:

  • projectPath :项目路径。 如已知,请始终提供此值,以减少歧义调用。 如果仅知道当前工作目录,您可以将其用作项目路径。

特定于数据库的工具

要确保 AI 代理只能以只读方式访问,请使用权限受限(只读)的数据库用户,并将数据源配置为使用该用户。

list_database_connections

检索项目中已配置的数据库连接或数据源列表。 对于每个连接,返回其唯一 ID、名称、DBMS 和驱动程序名称。

test_database_connection

返回连接诊断信息:

  • 标记连接是否存在问题:是、否或未知。

  • 关于数据库连接的详细信息,如DBMS类型、版本和JDBC驱动程序。

  • 连接尝试结果摘要。 在失败的情况下,包含DBMS提供的错误描述。

参数:

  • id :唯一的连接ID。

list_database_schemas

检索指定数据库连接中的数据库架构列表。

对于每个架构,工具会返回架构自身的名称以及数据库名称(如不适用则为空)。

参数:

  • connectionId :唯一的连接ID。

  • selectedOnly :如果只应列出在数据库树中选定的架构,则为True;如果应列出所有架构,则为False。

list_schema_object_kinds

检索给定数据库连接支持的架构对象类型列表。 对于每个对象类型,返回对象类型的唯一代码和可读名称。

参数:

  • connectionId :唯一的连接ID。

list_schema_objects

检索给定架构中的数据库对象列表。 对于每个对象,返回其在架构中的名称及类型。

参数:

  • connectionId :唯一的连接ID。

  • schemaName :架构名称。

  • databaseName :架构所属数据库的名称。 如果DBMS只有架构而没有数据库,则可以为空。

  • kind :将此参数设置为特定对象类型代码,仅列出此类型的对象。 设置为null即可检索架构中的所有对象。

list_recent_sql_queries

此功能在免费订阅方案中不可用。

检索指定数据库连接的最近查询列表,包括当前正在运行的查询。

对于每个查询返回:

  • 查询会话的唯一ID。

  • 运行该查询所花费的时间(以毫秒为单位)。

  • 查询的当前状态。 例如,运行中、取消中、已完成等。

  • 查询的完成状态。 例如,成功、出错完成、已取消等。

  • 查询的文本。

参数:

  • connectionId :唯一的连接ID。

cancel_sql_query

使用其唯一ID取消正在运行的查询。

参数:

  • sessionId :查询会话ID。

execute_sql_query

针对指定的数据库连接执行SQL查询。

工具会报告执行状态:成功或错误。 对于错误,还会提供错误描述。

如果查询返回了数据,则以CSV格式附加到工具响应中。

参数:

  • connectionId :唯一的连接ID。

  • queryText :要执行的SQL查询。

preview_table_data

使用指定的数据库连接返回表、视图、物化视图或其他类表对象的预览数据。

工具以CSV格式返回表内容。

参数:

  • connectionId :唯一的连接ID。

  • schemaName :架构名称。

  • databaseName :架构所属数据库的名称。 如果DBMS只有架构而没有数据库,则可以为空。

  • tableName :表名称。

  • maxRowCount :要返回的最大行数。 默认值为 100

2026年 3月 24日