GoLand 2025.2 Help

MCP 服务器

从版本 2025.2 开始,GoLand 附带集成的 MCP server ,允许外部客户端(例如 Claude Desktop、Cursor、VS Code 等)访问由 IDE 提供的工具。 这使用户可以在不离开所选应用程序的情况下控制并与 JetBrains IDE 交互。

外部客户端设置

对于 Claude Code、 Claude Desktop、 Cursor、 VS Code 和 Windsurf 这类外部客户端,可自动完成配置:

  1. 在主菜单中,转到 设置 | 工具 | MCP Server。

  2. 点击 启用 MCP Server。

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

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

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

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

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

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

无确认执行操作

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

启用此模式的方法如下:

  1. 在主菜单中,转到 设置 | 工具 | MCP Server。

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

  3. 点击 应用。

支持的工具

以下是 MCP server 提供的工具列表:

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 实用工具的伪图格式,提供指定目录的树状表示。 使用此工具可查看某个目录或整个项目的内容。 相比 ls 或 dir 等命令行工具,优先使用此工具列出目录内容。

参数:

  • 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 — 替换成功。

  • 未找到项目目录 — 无法确定项目目录。

  • 未找到文件 — 指定的文件不存在。

  • 无法获取文档 — 无法访问文件内容。

  • 未找到匹配项 — 未在文件中找到要替换的文本。

参数:

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

最后修改日期: 2025年 9月 26日