diff --git a/plugins/mcp-server/resources/messages/McpServerBundle.properties b/plugins/mcp-server/resources/messages/McpServerBundle.properties index 3f4980777157..4a4b3b46e755 100644 --- a/plugins/mcp-server/resources/messages/McpServerBundle.properties +++ b/plugins/mcp-server/resources/messages/McpServerBundle.properties @@ -1,9 +1,5 @@ -border.title.notifications=Notifications border.title.terminal.commands=Terminal Commands checkbox.enable.brave.mode.skip.command.execution.confirmations=Enable Brave Mode (skip command execution confirmations) -checkbox.show.claude.notifications=Show Claude notifications -checkbox.show.claude.settings.notifications=Show Claude settings notifications -checkbox.show.node.js.notifications=Show Node.js notifications command.name.replace.file.text=Replace File Text command.name.replace.selected.text=Replace Selected Text configurable.name.mcp.plugin=MCP Plugin @@ -12,13 +8,6 @@ dialog.message.no.suitable.runner.found.for.configuration.executor=No suitable r dialog.message.run.configuration.doesn.t.support.catching.output=Run configuration doesn't support catching output dialog.title.confirm.command.execution=Confirm Command Execution label.do.you.want.to.run.command.in.terminal=Do you want to run command `{0}` in the terminal? -notification.content.claude.client.not.installed=Claude Client is not installed -notification.content.don.t.show.again=Don't show again -notification.content.install.mcp.server.proxy=Install MCP server proxy -notification.content.mcp.server.proxy.not.configured=MCP Server Proxy is not configured -notification.content.mcp.server.proxy.requires.node.js.to.be.installed=MCP Server Proxy requires Node.js to be installed -notification.content.open.installation.instruction=Open installation instruction -notification.on.tool.window.title.node.not.installed=Node is not installed tab.title.mcp.command=MCP Command text.note.you.can.enable.brave.mode.in.settings.to.skip.this.confirmation=Note: You can enable 'Brave Mode' in settings to skip this confirmation. text.warning.enabling.brave.mode.will.allow.terminal.commands.to.execute.without.confirmation.use.with.caution=Enabling Brave Mode will allow terminal commands to execute without confirmation. Use with caution. diff --git a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/BuiltinGeneralToolset.kt b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/BuiltinGeneralToolset.kt index 2d29f3066ca8..cd14028b8e7a 100644 --- a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/BuiltinGeneralToolset.kt +++ b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/BuiltinGeneralToolset.kt @@ -13,6 +13,7 @@ import com.intellij.execution.ui.RunContentDescriptor import com.intellij.find.FindManager import com.intellij.find.impl.FindInProjectUtil import com.intellij.ide.DataManager +import com.intellij.mcpserver.McpServerBundle import com.intellij.mcpserver.McpToolset import com.intellij.mcpserver.annotations.McpDescription import com.intellij.mcpserver.annotations.McpTool @@ -36,11 +37,11 @@ import com.intellij.usageView.UsageInfo import com.intellij.usages.FindUsagesProcessPresentation import com.intellij.usages.UsageViewPresentation import com.intellij.util.Processor -import kotlin.coroutines.coroutineContext -import kotlin.io.path.Path import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit import java.util.concurrent.TimeoutException +import kotlin.coroutines.coroutineContext +import kotlin.io.path.Path class BuiltinGeneralToolset : McpToolset { @McpTool @@ -141,7 +142,7 @@ class BuiltinGeneralToolset : McpToolset { val runner: ProgramRunner<*>? = ProgramRunner.getRunner(executor.id, settings.configuration) if (runner == null) { future.completeExceptionally( - ExecutionException("No suitable runner found for configuration '${settings.name}' and executor '${executor.id}'") + ExecutionException(McpServerBundle.message("dialog.message.no.suitable.runner.found.for.configuration.executor", settings.name, executor.id)) ) return@invokeLater } @@ -153,7 +154,7 @@ class BuiltinGeneralToolset : McpToolset { if (descriptor == null) { if (!future.isDone) { future.completeExceptionally( - ExecutionException("Run configuration doesn't support catching output") + ExecutionException(McpServerBundle.message("dialog.message.run.configuration.doesn.t.support.catching.output")) ) } return @@ -195,7 +196,7 @@ class BuiltinGeneralToolset : McpToolset { } catch (e: Throwable) { if (!future.isDone) { future.completeExceptionally( - ExecutionException("Failed to prepare or start run configuration: ${e.message}", e) + ExecutionException(McpServerBundle.message("dialog.message.failed.to.prepare.or.start.run.configuration", e.message.orEmpty()), e) ) } } diff --git a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/TextToolset.kt b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/TextToolset.kt index 2b7181af26ef..7753b25b8890 100644 --- a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/TextToolset.kt +++ b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/TextToolset.kt @@ -2,6 +2,7 @@ package com.intellij.mcpserver.toolsets.general +import com.intellij.mcpserver.McpServerBundle import com.intellij.mcpserver.McpToolset import com.intellij.mcpserver.annotations.McpDescription import com.intellij.mcpserver.annotations.McpTool @@ -94,7 +95,7 @@ class TextToolset : McpToolset { var response: String? = null application.invokeAndWait { - WriteCommandAction.runWriteCommandAction(project, "Replace Selected Text", null, { + WriteCommandAction.runWriteCommandAction(project, McpServerBundle.message("command.name.replace.selected.text"), null, { val editor = FileEditorManager.getInstance(project).selectedTextEditor val document = editor?.document val selectionModel = editor?.selectionModel @@ -128,7 +129,7 @@ class TextToolset : McpToolset { val project = coroutineContext.project var response: String? = null application.invokeAndWait { - WriteCommandAction.runWriteCommandAction(project, "Replace File Text", null, { + WriteCommandAction.runWriteCommandAction(project, McpServerBundle.message("command.name.replace.file.text"), null, { val editor = FileEditorManager.getInstance(project).selectedTextEditor val document = editor?.document if (document != null) { diff --git a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/terminal/TerminalToolset.kt b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/terminal/TerminalToolset.kt index ecd0594c343e..a5fb56d868c7 100644 --- a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/terminal/TerminalToolset.kt +++ b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/terminal/TerminalToolset.kt @@ -2,6 +2,7 @@ package com.intellij.mcpserver.toolsets.terminal +import com.intellij.mcpserver.McpServerBundle import com.intellij.mcpserver.McpToolset import com.intellij.mcpserver.annotations.McpDescription import com.intellij.mcpserver.annotations.McpTool @@ -71,16 +72,16 @@ class TerminalToolset : McpToolset { val confirmationDialog = object : DialogWrapper(project, true) { init { init() - title = "Confirm Command Execution" + title = McpServerBundle.message("dialog.title.confirm.command.execution") } override fun createCenterPanel(): JComponent? { return panel { row { - label("Do you want to run command `${command.take(100)}` in the terminal?") + label(McpServerBundle.message("label.do.you.want.to.run.command.in.terminal", command.take(100))) } row { - comment("Note: You can enable 'Brave Mode' in settings to skip this confirmation.") + comment(McpServerBundle.message("text.note.you.can.enable.brave.mode.in.settings.to.skip.this.confirmation")) } } } @@ -94,7 +95,7 @@ class TerminalToolset : McpToolset { return@invokeAndWait } - val terminalWidget = ShTerminalRunner.run(project, command, project.basePath ?: "", "MCP Command", true) + val terminalWidget = ShTerminalRunner.run(project, command, project.basePath ?: "", McpServerBundle.message("tab.title.mcp.command"), true) val shellWidget = if (terminalWidget != null) ShellTerminalWidget.asShellJediTermWidget(terminalWidget) else null if (shellWidget == null) {