import { CardContainer } from '@/components/card-container'; import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import Spotlight from '@/components/spotlight'; import { Button } from '@/components/ui/button'; import { Checkbox } from '@/components/ui/checkbox'; import { SearchInput } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { RAGFlowPagination } from '@/components/ui/ragflow-pagination'; import { useListMcpServer } from '@/hooks/use-mcp-request'; import { pick } from 'lodash'; import { Download, LayoutList, ListChecks, Plus, Trash2, Upload, } from 'lucide-react'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { ProfileSettingWrapperCard } from '../components/user-setting-header'; import { EditMcpDialog } from './edit-mcp-dialog'; import { ImportMcpDialog } from './import-mcp-dialog'; import { McpCard } from './mcp-card'; import { useBulkOperateMCP } from './use-bulk-operate-mcp'; import { useEditMcp } from './use-edit-mcp'; import { useImportMcp } from './use-import-mcp'; export default function McpServer() { const { data, setPagination, searchString, handleInputChange, pagination } = useListMcpServer(); const { editVisible, showEditModal, hideEditModal, handleOk, id, loading } = useEditMcp(); const { selectedList, handleSelectChange, handleDelete, handleExportMcp, handleSelectAll, } = useBulkOperateMCP(data.mcp_servers); const { t } = useTranslation(); const { importVisible, showImportModal, hideImportModal, onImportOk } = useImportMcp(); const [isSelectionMode, setSelectionMode] = useState(false); const handlePageChange = useCallback( (page: number, pageSize?: number) => { setPagination({ page, pageSize }); }, [setPagination], ); const switchSelectionMode = useCallback(() => { setSelectionMode((prev) => !prev); }, []); return (
{t('mcp.mcpServers')}
{t('mcp.customizeTheListOfMcpServers')}
} > {isSelectionMode && (
{t('mcp.selected')} {selectedList.length}
)} {data.mcp_servers.map((item) => ( ))}
{editVisible && ( )} {importVisible && ( )}
); }