MCP 服务器
从 2025.2 版本起,GoLand 随附集成的 MCP 服务器 ,允许 Claude Desktop、光标、Codex、VS Code 等外部客户端访问 IDE 提供的工具。 这使用户可以在不离开所选应用程序的情况下控制并与 JetBrains IDE 交互。
启用 MCP 服务器插件
此功能依赖于 MCP 服务器插件,该插件在 GoLand 中默认捆绑并启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 MCP 服务器 插件,然后选择插件名称旁边的复选框。
外部客户端设置
对于 Claude Code、 Claude Desktop、 光标、 VS Code、 Codex 和 Windsurf 等外部客户端,可自动完成配置:
在主菜单中,进入 .
点击 启用 MCP Server。
在 客户端自动配置 部分中,为每个要与 MCP server 配合使用的客户端点击 自动配置。 这将自动更新其 JSON 配置。

请重启客户端以使配置生效。
如果您希望从其他客户端连接到 MCP server,则需要进行手动配置:
在 手动客户端配置 部分,根据连接类型点击 复制 SSE 配置、 复制 Stdio 配置 或 复制 HTTP 流配置。

将复制的配置粘贴到客户端的设置或配置文件中。
请重启客户端以使配置生效。
无确认执行操作
MCP server 允许连接的外部客户端在 IDE 中执行终端命令或运行配置时无需每次确认。
启用此模式的方法如下:
在主菜单中,进入 .
在 命令执行 部分中启用 在无确认情况下运行 shell 命令或运行配置(勇敢模式) 设置。
点击 Apply。
支持的工具
MCP 服务器提供一组工具,使外部客户端可以与 IDE 和项目交互,例如分析代码、修改文件、运行配置或执行终端命令。
可以在 中查看和管理全部可用工具列表。 在此页面,可根据工作流程和偏好设置启用或禁用特定工具。
下方可以找到由 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)使用。可选的启动重写(
programArguments、workingDirectory、envs)仅对本次运行生效且不会被保留。 除非明确需要更改本次运行的已配置启动值,否则不要传递这些重写参数。 缺失/null 的重写参数会保持现有运行配置值不变。 对于字符串重写(programArguments、workingDirectory),缺失/null 或空字符串("")会保持现有值不变。 传递如" "这样的仅空格字符串用于清空此次启动的现有值。传递
configurationName,或filePath与line一起。 这些模式互斥。行为:
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。supportsDynamicLaunchOverrides是execute_run_configuration和xdebug_start_debugger_session中一次性启动重写(programArguments、workingDirectory、envs)的唯一有效能力标志。 仅当该标志为true时,才传递这些重写参数给所选配置。提供
filePath时,此工具会在该文件中发现可执行文件入口点(运行点),例如测试方法、main 方法或 IDE 显示运行装订区域图标的其它可执行文件入口点。 结果中包含filePath和runPoints;可用返回的行号配合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实用工具的伪图格式,提供指定目录的树状表示。 使用此工具可查看某个目录或整个项目的内容。 相比ls或dir等命令行工具,优先使用此工具列出目录内容。参数:
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_files或get_file_problems等重操作前使用,以避免超时。参数:
projectPath:项目路径。 已知时请始终提供此值,以减少调用歧义。 如果仅知道当前工作目录,也可以将其用作项目路径。
读取工具
- 读取文件
读取项目目录、项目依赖项或其他项目源根目录中的文件。 可读取 Jar/Jrt 文件内的源代码,并可反编译 Jar/Jrt 文件或磁盘中的 Java 类文件。 以编号行(从 1 开始)返回文本。
模式:
slicelinesline_columnsoffsetsindentation
模式详情:
slice使用start_line和max_lines。lines使用start_line/end_line(包含上限)。line_columns使用start_line/start_column和end_line/end_column(end为排他;end_line默认为start_line)。offsets使用start_offset/end_offset(end为排他)。indentation使用start_line,并配合max_levels/include_*。
max_lines限定所有模式下的总输出数;context_lines适用于范围模式(每侧)。参数:
file_path:文件路径。 支持项目相对路径、带 '..' 的路径、绝对路径、类似 /path/lib.jar!/pkg/Foo .class 的归档条目,以及如 file:// 、 jar:// 和 jrt:// 等 URL。 可直接传入其他工具返回的任何路径(如来自search_*工具的路径)。mode:读取模式:slice、lines、line_columns、offsets或indentation。start_line:读取起始的 1 基行号。max_lines:要返回的最大行数(切片用作行数;所有模式均有限制输出)。end_line:lines/line_columns模式下 1 基结束行(lines为包含;line_columns为排他)。start_column:line_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:项目路径。 已知时请始终提供此值,以减少调用歧义。 如果仅知道当前工作目录,也可以将其用作项目路径。