diff --git a/client/src/components/MCP/MCPServerMenuItem.tsx b/client/src/components/MCP/MCPServerMenuItem.tsx index f3a02d7e34..c37381ed3c 100644 --- a/client/src/components/MCP/MCPServerMenuItem.tsx +++ b/client/src/components/MCP/MCPServerMenuItem.tsx @@ -1,16 +1,15 @@ import * as Ariakit from '@ariakit/react'; import { Check } from 'lucide-react'; -import { MCPIcon } from '@librechat/client'; import type { MCPServerDefinition } from '~/hooks/MCP/useMCPServerManager'; import type { MCPServerStatusIconProps } from './MCPServerStatusIcon'; import MCPServerStatusIcon from './MCPServerStatusIcon'; -import ClickHouseIcon from './ClickHouseIcon'; import { getStatusColor, getStatusTextKey, shouldShowActionButton, type ConnectionStatusMap, } from './mcpServerUtils'; +import { renderMCPIcon } from './renderMCPIcon'; import { useLocalize } from '~/hooks'; import { cn } from '~/utils'; @@ -41,28 +40,6 @@ export default function MCPServerMenuItem({ // Include status in aria-label so screen readers announce it const accessibleLabel = `${displayName}, ${statusText}`; - const renderIcon = () => { - if (server.config?.iconPath) { - return ( - {displayName} - ); - } - - if (server.serverName.toLowerCase().includes('clickhouse')) { - return ; - } - - return ( -
- -
- ); - }; - return ( {/* Server Icon with Status Dot */}
- {renderIcon()} + {renderMCPIcon({ + iconPath: server.config?.iconPath, + serverName: server.serverName, + displayName, + className: 'h-8 w-8 rounded-lg object-cover', + wrapDefault: true, + })} {/* Status dot - decorative, status is announced via aria-label on MenuItem */}