diff --git a/client/src/components/SidePanel/MCPBuilder/MCPCardActions.tsx b/client/src/components/SidePanel/MCPBuilder/MCPCardActions.tsx index d92f08323a..015dfce014 100644 --- a/client/src/components/SidePanel/MCPBuilder/MCPCardActions.tsx +++ b/client/src/components/SidePanel/MCPBuilder/MCPCardActions.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { Pencil, PlugZap, SlidersHorizontal, RefreshCw, X } from 'lucide-react'; import { Spinner, TooltipAnchor } from '@librechat/client'; import type { MCPServerStatus } from 'librechat-data-provider'; @@ -11,6 +12,7 @@ interface MCPCardActionsProps { canCancel: boolean; hasCustomUserVars: boolean; canEdit: boolean; + editButtonRef?: React.RefObject; onEditClick: (e: React.MouseEvent) => void; onConfigClick: (e: React.MouseEvent) => void; onInitialize: () => void; @@ -34,6 +36,7 @@ export default function MCPCardActions({ canCancel, hasCustomUserVars, canEdit, + editButtonRef, onEditClick, onConfigClick, onInitialize, @@ -62,6 +65,7 @@ export default function MCPCardActions({ {/* Edit button stays visible during loading */} {canEdit && ( (null); const { initializeServer } = useMCPServerManager(); const [dialogOpen, setDialogOpen] = useState(false); - const triggerRef = useRef(null); const statusIconProps = getServerStatusIconProps(server.serverName); const { @@ -125,6 +125,7 @@ export default function MCPServerCard({ canCancel={canCancel} hasCustomUserVars={hasCustomUserVars} canEdit={canEdit} + editButtonRef={triggerRef} onEditClick={handleEditClick} onConfigClick={onConfigClick} onInitialize={handleInitialize} @@ -140,12 +141,7 @@ export default function MCPServerCard({ onOpenChange={setDialogOpen} triggerRef={triggerRef} server={server} - > - {/* Hidden trigger for focus management */} - - + /> )} ); diff --git a/client/src/components/SidePanel/MCPBuilder/MCPServerDialog/index.tsx b/client/src/components/SidePanel/MCPBuilder/MCPServerDialog/index.tsx index 048192df04..f86d3f8056 100644 --- a/client/src/components/SidePanel/MCPBuilder/MCPServerDialog/index.tsx +++ b/client/src/components/SidePanel/MCPBuilder/MCPServerDialog/index.tsx @@ -25,8 +25,8 @@ import MCPServerForm from './MCPServerForm'; interface MCPServerDialogProps { open: boolean; onOpenChange: (open: boolean) => void; - children: React.ReactNode; - triggerRef?: React.MutableRefObject; + children?: React.ReactNode; + triggerRef?: React.MutableRefObject; server?: MCPServerDefinition | null; }