GoLand 2026.1 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 配置

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

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

无确认执行操作

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

启用此模式的方法如下:

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

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

  3. 点击 Apply

支持的工具

以下是 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 :仅列出数据库树中选中的架构为真;全部列出则为假。

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月 26日