From 933194b1f71eeb7edd9899adb11c2c345ee8ade4 Mon Sep 17 00:00:00 2001
From: Joel
Date: Thu, 5 Jun 2025 15:08:57 +0800
Subject: [PATCH] feat: mcp tools not support warning
---
.../tool-selector/index.tsx | 1 +
.../tool-selector/tool-item.tsx | 11 ++++++++--
.../mcp-tool-not-support-tooltip.tsx | 22 +++++++++++++++++++
web/i18n/en-US/plugin.ts | 1 +
web/i18n/zh-Hans/plugin.ts | 1 +
5 files changed, 34 insertions(+), 2 deletions(-)
create mode 100644 web/app/components/workflow/nodes/_base/components/mcp-tool-not-support-tooltip.tsx
diff --git a/web/app/components/plugins/plugin-detail-panel/tool-selector/index.tsx b/web/app/components/plugins/plugin-detail-panel/tool-selector/index.tsx
index fba99f4e68..ec35db953a 100644
--- a/web/app/components/plugins/plugin-detail-panel/tool-selector/index.tsx
+++ b/web/app/components/plugins/plugin-detail-panel/tool-selector/index.tsx
@@ -279,6 +279,7 @@ const ToolSelector: FC = ({
}
+ canChooseMCPTool={canChooseMCPTool}
/>
)}
diff --git a/web/app/components/plugins/plugin-detail-panel/tool-selector/tool-item.tsx b/web/app/components/plugins/plugin-detail-panel/tool-selector/tool-item.tsx
index 391b8a8528..7747870f13 100644
--- a/web/app/components/plugins/plugin-detail-panel/tool-selector/tool-item.tsx
+++ b/web/app/components/plugins/plugin-detail-panel/tool-selector/tool-item.tsx
@@ -17,6 +17,7 @@ import { ToolTipContent } from '@/app/components/base/tooltip/content'
import { InstallPluginButton } from '@/app/components/workflow/nodes/_base/components/install-plugin-button'
import { SwitchPluginVersion } from '@/app/components/workflow/nodes/_base/components/switch-plugin-version'
import cn from '@/utils/classnames'
+import McpToolNotSupportTooltip from '@/app/components/workflow/nodes/_base/components/mcp-tool-not-support-tooltip'
type Props = {
icon?: any
@@ -37,6 +38,7 @@ type Props = {
onInstall?: () => void
versionMismatch?: boolean
open: boolean
+ canChooseMCPTool?: boolean,
}
const ToolItem = ({
@@ -58,11 +60,13 @@ const ToolItem = ({
isError,
errorTip,
versionMismatch,
+ canChooseMCPTool,
}: Props) => {
const { t } = useTranslation()
const providerNameText = isMCPTool ? providerShowName : providerName?.split('/').pop()
const isTransparent = uninstalled || versionMismatch || isError
const [isDeleting, setIsDeleting] = useState(false)
+ const isShowCanNotChooseMCPTip = isMCPTool && !canChooseMCPTool
return (
{toolLabel}
- {!noAuth && !isError && !uninstalled && !versionMismatch && (
+ {!noAuth && !isError && !uninstalled && !versionMismatch && !isShowCanNotChooseMCPTip && (
@@ -107,7 +111,7 @@ const ToolItem = ({
- {!isError && !uninstalled && !noAuth && !versionMismatch && showSwitch && (
+ {!isError && !uninstalled && !noAuth && !versionMismatch && !isShowCanNotChooseMCPTip && showSwitch && (
e.stopPropagation()}>
)}
+ {isShowCanNotChooseMCPTip && (
+
+ )}
{!isError && !uninstalled && !versionMismatch && noAuth && (