From 11a68a8b183c4e8e08976d2464b9015e4b57667b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milorad=20FIlipovi=C4=87?= Date: Fri, 12 Dec 2025 16:51:48 +0100 Subject: [PATCH] fix(editor): Address MCP re-design feedback (no-changelog) (#23077) --- .../frontend/@n8n/i18n/src/locales/en.json | 7 +-- .../features/ai/mcpAccess/SettingsMCPView.vue | 49 +++++++++++++++++-- .../ai/mcpAccess/components/MCPEmptyState.vue | 2 +- .../components/header/MCPHeaderActions.vue | 9 +--- .../components/header/McpAccessToggle.vue | 2 +- .../connectPopover/McpConnectPopover.test.ts | 21 ++++---- .../connectPopover/McpConnectPopover.vue | 12 ++--- .../components/tabs/OAuthClientsTable.test.ts | 11 ++++- .../components/tabs/OAuthClientsTable.vue | 17 ++++++- .../src/features/ai/mcpAccess/mcp.store.ts | 12 +++++ 10 files changed, 107 insertions(+), 35 deletions(-) diff --git a/packages/frontend/@n8n/i18n/src/locales/en.json b/packages/frontend/@n8n/i18n/src/locales/en.json index 170bbefa4ae..128582bab44 100644 --- a/packages/frontend/@n8n/i18n/src/locales/en.json +++ b/packages/frontend/@n8n/i18n/src/locales/en.json @@ -2372,13 +2372,13 @@ "settings.communityNodes.confirmModal.update.buttonLabel": "Confirm update", "settings.communityNodes.confirmModal.update.buttonLoadingLabel": "Updating...", "settings.communityNodes.confirmModal.cancel": "Cancel", - "settings.mcp": "MCP Server", + "settings.mcp": "Instance-level MCP", + "settings.mcp.description": "Let MCP clients like Claude, Lovable, and other AI tools discover and execute your n8n workflows", "settings.mcp.header.toggle.enabled": "Enabled", "settings.mcp.header.toggle.disabled": "Disabled", "settings.mcp.actionBox.heading": "Connect AI assistants to your workflows", - "settings.mcp.actionBox.button.label": "Enable MCP server", + "settings.mcp.actionBox.button.label": "Enable MCP access", "settings.mcp.emptyState.docs.part1": "Read our docs to", - "settings.mcp.toggle.disabled.notice": "Let MCP clients like Claude, Lovable, and other AI tools discover and execute your n8n workflows.", "settings.mcp.tabs.workflows": "Workflows", "settings.mcp.tabs.oauth": "Connected clients", "settings.mcp.access.token.notice": "Make sure to copy your access token, you won't be able to see it again", @@ -2393,6 +2393,7 @@ "settings.mcp.workflows.table.empty.button.label": "Find workflows", "settings.mcp.oauth.table.empty.title": "No OAuth clients connected", "settings.mcp.oauth.table.empty.description": "Clients that connect via OAuth will show up here", + "settings.mcp.oauth.table.empty.button": "See connection instructions", "settings.mcp.toggle.disabled.tooltip": "Only instance admins can change this", "settings.mcp.toggle.error": "Error updating MCP access", "settings.mcp.instructions.rotateKey.tooltip": "Generate new token.
This one will be automatically revoked", diff --git a/packages/frontend/editor-ui/src/features/ai/mcpAccess/SettingsMCPView.vue b/packages/frontend/editor-ui/src/features/ai/mcpAccess/SettingsMCPView.vue index c1bd318edc2..7a18872c4be 100644 --- a/packages/frontend/editor-ui/src/features/ai/mcpAccess/SettingsMCPView.vue +++ b/packages/frontend/editor-ui/src/features/ai/mcpAccess/SettingsMCPView.vue @@ -8,12 +8,15 @@ import { computed, onMounted, ref } from 'vue'; import { useMCPStore } from '@/features/ai/mcpAccess/mcp.store'; import { useUsersStore } from '@/features/settings/users/users.store'; import { useUIStore } from '@/app/stores/ui.store'; -import { LOADING_INDICATOR_TIMEOUT } from '@/features/ai/mcpAccess/mcp.constants'; +import { + LOADING_INDICATOR_TIMEOUT, + MCP_DOCS_PAGE_URL, +} from '@/features/ai/mcpAccess/mcp.constants'; import MCPEmptyState from '@/features/ai/mcpAccess/components/MCPEmptyState.vue'; import MCpHeaderActions from '@/features/ai/mcpAccess/components/header/MCPHeaderActions.vue'; import WorkflowsTable from '@/features/ai/mcpAccess/components/tabs/WorkflowsTable.vue'; import OAuthClientsTable from '@/features/ai/mcpAccess/components/tabs/OAuthClientsTable.vue'; -import { N8nHeading, N8nTabs, N8nTooltip, N8nButton } from '@n8n/design-system'; +import { N8nHeading, N8nTabs, N8nTooltip, N8nButton, N8nText, N8nLink } from '@n8n/design-system'; import type { TabOptions } from '@n8n/design-system'; import { useMcp } from '@/features/ai/mcpAccess/composables/useMcp'; import type { OAuthClientResponseDto } from '@n8n/api-types'; @@ -179,7 +182,27 @@ const revokeClientAccess = async (client: OAuthClientResponseDto) => {