import React, { useEffect, useState } from 'react'; import { Select } from 'antd'; import { fetchMCPServers } from '../networking'; import { MCPServer } from '../mcp_tools/types'; interface MCPServerSelectorProps { onChange: (selectedMCPServers: string[]) => void; value?: string[]; className?: string; accessToken: string; placeholder?: string; disabled?: boolean; } const MCPServerSelector: React.FC = ({ onChange, value, className, accessToken, placeholder = "Select MCP servers", disabled = false }) => { const [mcpServers, setMCPServers] = useState([]); const [loading, setLoading] = useState(false); useEffect(() => { const fetchMCPServerList = async () => { if (!accessToken) return; setLoading(true); try { const response = await fetchMCPServers(accessToken); if (response && Array.isArray(response)) { // Direct array response setMCPServers(response); } else if (response.data && Array.isArray(response.data)) { // Response with data wrapper setMCPServers(response.data); } } catch (error) { console.error("Error fetching MCP servers:", error); } finally { setLoading(false); } }; fetchMCPServerList(); }, [accessToken]); return (