GoLand 2026.2 Help

MCP 服务器

2025.2 版本起,GoLand 随附集成的 MCP 服务器 ,允许 Claude Desktop、光标、Codex、VS Code 等外部客户端访问 IDE 提供的工具。 这使用户可以在不离开所选应用程序的情况下控制并与 JetBrains IDE 交互。

启用 MCP 服务器插件

此功能依赖于 MCP 服务器插件,该插件在 GoLand 中默认捆绑并启用。 如果相关功能不可用,请确保您未禁用该插件。

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

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

外部客户端设置

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

  1. 在主菜单中,进入 设置 | 工具 | MCP Server.

  2. 点击 启用 MCP Server

  3. 客户端自动配置 部分中,为每个要与 MCP server 配合使用的客户端点击 自动配置。 这将自动更新其 JSON 配置。

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

如果您希望从其他客户端连接到 MCP server,则需要进行手动配置:

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

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

  3. 请重启客户端以使配置生效。

无确认执行操作

MCP server 允许连接的外部客户端在 IDE 中执行终端命令或运行配置时无需每次确认。

启用此模式的方法如下:

  1. 在主菜单中,进入 设置 | 工具 | MCP Server.

  2. 命令执行 部分中启用 在无确认情况下运行 shell 命令或运行配置(勇敢模式) 设置。

  3. 点击 Apply

支持的工具

MCP 服务器提供一组工具,使外部客户端可以与 IDE 和项目交互,例如分析代码、修改文件、运行配置或执行终端命令。

可以在 设置 | 工具 | MCP服务器 | Exposed 工具 中查看和管理全部可用工具列表。 在此页面,可根据工作流程和偏好设置启用或禁用特定工具。

下方可以找到由 MCP 服务器提供的工具列表。

分析工具

构建项目

触发项目或指定文件的构建,等待补全,并返回构建错误。 可使用此工具构建项目或编译文件,并获取有关编译错误和警告的详细信息。

编辑后需使用此工具验证修改是否有效。

参数:

  • rebuild :是否对项目执行完全重建。 默认为 false。 仅当未指定 filesToRebuild 时有效。

  • filesToRebuild :如指定,则仅编译指定路径的文件。 路径为相对于项目根目录的位置。

  • timeout :超时时间(毫秒)。

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

get_file_problems

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

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

参数:

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

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

  • timeout :超时时间(毫秒)。

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

get_project_dependencies

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

参数:

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

get_project_modules

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

参数:

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

代码洞察工具

get_symbol_info

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

如果该位置引用了符号,工具将在可能的情况下返回包含符号声明的代码片段。 使用该工具以了解符号的声明、语义及其位置。

参数:

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

  • line :从 1 开始的行号。

  • column :从 1 开始的列号。

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

特定数据库工具

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

获取数据库对象描述

检索特定架构内数据库对象(列、类型、密钥、索引)的结构,并以分层文本表示。

如有歧义,将返回所有相关对象的定义。

参数:

  • connectionId :唯一连接ID。

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

  • schemaName :架构名称。

  • kind :将此参数设置为某一对象类型编码,仅列出该类型的对象。 将其设置为null以检索架构中的所有对象。

  • objectName :指定类型对象的名称(如表或视图名)。 不能为空。

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

list_database_connections

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

test_database_connection

返回连接诊断信息:

  • 指示该连接是否存在问题的标志:是、否或未知。

  • 包含数据库连接的详细信息,如 DBMS 类型、版本以及 JDBC 驱动程序。

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

参数:

  • id :唯一连接ID。

list_database_schemas

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

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

参数:

  • connectionId :唯一连接ID。

  • selectedOnly :仅列出数据库树中选中的架构为真;全部列出则为假。

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

开发者工具包 MCP 工具

查找锁要求用法

分析文本光标所在方法的读/写锁用法。 还会分析调用路径的深度。 使用此工具识别可能的读/写锁要求用法。 返回带有调用路径的锁要求列表。

参数:

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

  • line :光标所在的行。

  • column :光标所在的列。

  • timeout :超时时间(毫秒)。

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

查找线程要求用法

分析文本光标所在方法的线程约束用法(即方法是否需要在 UI 线程或后台线程运行)。 还会分析调用路径的深度。 使用此工具识别可能的线程要求用法。 返回带有调用路径的线程要求列表。

参数:

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

  • line :光标所在的行。

  • column :光标所在的列。

  • timeout :超时时间(毫秒)。

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

执行工具

execute_run_configuration

运行当前项目中按名称指定的已存在运行配置,或由代码位置(filePath + line )创建的临时运行配置,然后最多等待指定的超时完成。 此工具需配合 get_run_configurations 返回的配置名称,或配合 get_run_configurations(filePath = ...) 返回的运行点(filePath + line )使用。

可选的启动重写(programArgumentsworkingDirectoryenvs )仅对本次运行生效且不会被保留。 除非明确需要更改本次运行的已配置启动值,否则不要传递这些重写参数。 缺失/null 的重写参数会保持现有运行配置值不变。 对于字符串重写(programArgumentsworkingDirectory ),缺失/null 或空字符串("" )会保持现有值不变。 传递如 " " 这样的仅空格字符串用于清空此次启动的现有值。

传递 configurationName ,或 filePathline 一起。 这些模式互斥。

行为:

  • waitForExit=true 时,最多等待 timeout 毫秒以等待进程结束。 如果超时,进程将在后台继续运行,并且结果中会省略 exitCode

  • waitForExit=false 时,仅等待进程启动,随后立即返回,不会应用 timeout

  • fullOutputPath 指向包含完整原始输出的临时文件,进程存活期间其内容可能持续增长。

返回执行结果,包括当前输出快照、可选退出码及可选 fullOutputPath

参数:

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

  • filePath :相对于项目根目录的文件路径。 配合 line 一起提供,可从代码上下文创建并执行临时运行配置。

  • line :为 filePath 指定的从 1 开始的行号。 配合 filePath 一起提供,且不可与 configurationName 同时使用。

  • timeout :超时时间(毫秒)。

  • waitForExit :是否等待进程结束。 如为 false,工具会在进程启动后立即返回,并忽略 timeout

  • programArguments :此启动仅可选的程序实参重写。 缺失/null 或空字符串保留现有值,仅空格字符串则会清空现有值。

  • workingDirectory :此启动仅可选的工作目录重写。 缺失/null 或空字符串保留现有值,仅空格字符串则会清空现有值。

  • envs :此启动仅可选的环境变量重写。 缺失/null 时保持现有环境不变;如有提供,值将覆盖合并到现有环境。

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

get_run_configurations

根据输入,返回项目运行配置或可执行文件代码位置。

未提供 filePath 时,此工具列出项目现有的运行配置。 结果包含配置名称及可用时的启动详情,如程序实参、工作目录、环境变量及 supportsDynamicLaunchOverrides

supportsDynamicLaunchOverridesexecute_run_configuration xdebug_start_debugger_session 中一次性启动重写(programArgumentsworkingDirectoryenvs )的唯一有效能力标志。 仅当该标志为 true 时,才传递这些重写参数给所选配置。

提供 filePath 时,此工具会在该文件中发现可执行文件入口点(运行点),例如测试方法、main 方法或 IDE 显示运行装订区域图标的其它可执行文件入口点。 结果中包含 filePathrunPoints ;可用返回的行号配合 execute_run_configuration 从代码运行。

参数:

  • filePath :可选的相对于项目根目录的文件路径。 如有提供,将返回该文件的运行点(可执行文件入口点),而不是项目范围的运行配置。

  • 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 :项目路径。 已知时请始终提供此值,以减少调用歧义。 如果仅知道当前工作目录,也可以将其用作项目路径。

检查生成器 MCP 工具

验证检查KTS

根据规范示例校验 inspection.kts 脚本。 编译该检查并对正例/反例运行。 返回编译状态及详细验证结果。

正例应触发检查(预期有问题)。 反例不应触发检查(禁止行上预期无问题)。

返回整体成功状态、每个示例结果及聚合统计数据。

参数:

  • inspectionKtsCode :编译和验证的 inspection.kts 脚本内容。

  • pathToSpecification :要校验的规范示例的路径。

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

检查 KTS MCP 工具

生成检查KTS API

返回目标语言的检查 KTS API 文档。 提供可用于编写 inspection.kts 文件的类和函数列表。

参数:

  • language :目标语言:'Java' 或 'Kotlin'。

  • wrapInTags :如为 true,则将 API 内容包裹在 <API><api.kt> 标记中。

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

生成检查KTS示例

返回用于目标语言代码生成示例 inspection.kts 模板。 提供已包装 XML 的示例,展示如何使用 InspectionKts API 编写检查。

参数:

  • language :目标语言:'Java' 或 'Kotlin'。

  • includeAdditionalExamples :如为 true,除模板外还包含其他精选示例。

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

生成 psi 树

为提供的 Java 或 Kotlin 代码创建 PSI 树,并以缩进文本形式返回。 可使用此工具了解编写检查时代码段的 PSI 结构。 输出显示元素类型及其层次结构,并提示何时需要 node.children()

参数:

  • code :要解析的源代码段。

  • language :目标语言:'Java' 或 'Kotlin'。

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

运行检查KTS

编译 inspection.kts 脚本,并在目标文件上运行。 如有编译错误则返回,否则返回检查发现的问题列表。 开发过程中,可用此工具测试 inspection.kts 脚本。

参数:

  • inspectionKtsCode :要编译和运行的 inspection.kts 脚本内容。

  • contextPath :项目内需分析的目标文件相对路径(如 src/my/package/Example.kt )。

  • targetFileContent :要分析的目标文件内容。 如未提供,该文件必须在项目中存在。

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

单仓库开发者工具包 MCP 工具

获取项目状态

检查项目是否准备好执行代码分析操作。 返回索引和扫描状态。 在进行如 lint_filesget_file_problems 等重操作前使用,以避免超时。

参数:

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

读取工具

读取文件

读取项目目录、项目依赖项或其他项目源根目录中的文件。 可读取 Jar/Jrt 文件内的源代码,并可反编译 Jar/Jrt 文件或磁盘中的 Java 类文件。 以编号行(从 1 开始)返回文本。

模式:

  • slice

  • lines

  • line_columns

  • offsets

  • indentation

模式详情:

  • slice 使用 start_linemax_lines

  • lines 使用 start_line/end_line (包含上限)。

  • line_columns 使用 start_line/start_columnend_line/end_columnend 为排他; end_line 默认为 start_line)。

  • offsets 使用 start_offset/end_offsetend 为排他)。

  • indentation 使用 start_line ,并配合 max_levels/include_*

max_lines 限定所有模式下的总输出数; context_lines 适用于范围模式(每侧)。

参数:

  • file_path :文件路径。 支持项目相对路径、带 '..' 的路径、绝对路径、类似 /path/lib.jar!/pkg/Foo .class 的归档条目,以及如 file:// jar:// jrt:// 等 URL。 可直接传入其他工具返回的任何路径(如来自 search_* 工具的路径)。

  • mode :读取模式: slicelinesline_columnsoffsetsindentation

  • start_line :读取起始的 1 基行号。

  • max_lines :要返回的最大行数(切片用作行数;所有模式均有限制输出)。

  • end_linelines/line_columns 模式下 1 基结束行(lines 为包含; line_columns 为排他)。

  • start_columnline_columns 模式下 1 基起始列。

  • end_column :范围读取的 1 基结束列(排他)。

  • start_offset :offsets 模式下 0 基起始偏移(需要 end_offset)。

  • end_offset :offsets 模式下 0 基结束偏移(排他)。

  • context_lines :范围周围包含的上下文行数(每侧)。

  • max_levels :缩进模式:要包含的最大缩进层数(0 = 仅锚点块)。

  • include_siblings :缩进模式:包含与锚点处于同一级缩进的同级块。

  • include_header :缩进模式:包含锚点正上方的页眉注释/注解。

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

重构工具

rename_refactoring

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

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

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

参数:

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

  • symbolName :要重命名的符号名称。

  • newName :符号的新名称。

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

运行 Notebook 工具

运行 Notebook 单元格

执行 Jupyter Notebook 的一个或所有单元。

示例:

  • {"file_path": "/abs/path/demo.ipynb", "cell_id": "13c5cec416369e19"}

  • {"file_path": "/abs/path/demo.ipynb"}

参数:

  • file_path .ipynb Notebook 的绝对路径。

  • cell_id :可选 Jupyter 单元 ID。 如未填写,将执行所有单元。

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

搜索工具

搜索文件

通过 glob 模式在项目内搜索文件。 当需要用 glob 语法匹配文件路径时,请使用此工具。

Glob 模式相对于项目根目录。

示例:

  • "**/*.kt"

  • "src/**/Foo*.java"

  • "build.gradle.kts"

'/' 的模式将按 "**/pattern" 处理。 paths 是相对于项目根目录的可选附加 glob 筛选器。

参数:

  • q :要搜索的 glob 模式。

  • paths :可选的项目相对 glob 模式筛选器列表,用于筛选结果。 支持 ! 排除。 以 / 结尾将扩展为 **。 无 / 的模式将按 **/pattern 处理。 空字符串将被忽略。

  • includeExcluded :是否在结果中包含已排除/已忽略的文件。

  • limit :要返回的最大结果数。

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

搜索正则表达式

在项目文件中根据正则表达式搜索匹配项。 当需要带代码段结果的正则表达式搜索时,请使用此工具。 结果包含匹配坐标(如有)(1 基行/列,0 基偏移量)。

路径为相对于项目根目录的 glob 模式。

示例:

  • ["src/**", "!**/test/**"]

  • ["**/*.kt"]

  • ["foo/"]

参数:

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

  • paths :可选的项目相对 glob 模式筛选器列表,用于筛选结果。 支持 ! 排除。 以 / 结尾将扩展为 **。 无 / 的模式将按 **/pattern 处理。 空字符串将被忽略。

  • limit :要返回的最大结果数。

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

搜索符号

搜索符号(类、方法、字段)。 使用此工具可按标识符片段进行语义查询。 结果包含匹配坐标(如有)(1 基行/列,0 基偏移量)。

路径为相对于项目根目录的 glob 模式。

默认只搜索项目符号。 如未找到合适结果,可使用 include_external=true 再试,进一步搜索 SDK 与库符号。

参数:

  • q :符号查询文本。

  • paths :可选的项目相对 glob 模式筛选器列表,用于筛选结果。 支持 ! 排除。 以 / 结尾将扩展为 **。 无 / 的模式将按 **/pattern 处理。 空字符串将被忽略。

  • include_external :是否包含 SDK 和库中的符号。 默认禁用,如仍未找到合适项,可通过 include_external=true 再试。

  • limit :要返回的最大结果数。

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

搜索文本

在项目文件中搜索文本子字符串。 使用该工具可快速文本搜索并获取代码段结果。 结果包含匹配坐标(如有)(1 基行/列,0 基偏移量)。

路径为相对于项目根目录的 glob 模式。

示例:

  • ["src/**", "!**/test/**"]

  • ["**/*.kt"]

  • ["foo/"]

参数:

  • q :要搜索的文本。

  • paths :可选的项目相对 glob 模式筛选器列表,用于筛选结果。 支持 ! 排除。 以 / 结尾将扩展为 **。 无 / 的模式将按 **/pattern 处理。 空字符串将被忽略。

  • limit :要返回的最大结果数。

  • 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_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 :项目路径。 已知时请始终提供此值,以减少调用歧义。 如果仅知道当前工作目录,也可以将其用作项目路径。

VCS 工具

get_repositories

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

参数:

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

2026年 7月 14日