// MCP Manager View // Renders the MCP server management interface async function renderMcpManager() { const container = document.getElementById('mainContent'); if (!container) return; // Hide stats grid and search for MCP view const statsGrid = document.getElementById('statsGrid'); const searchInput = document.getElementById('searchInput'); if (statsGrid) statsGrid.style.display = 'none'; if (searchInput) searchInput.parentElement.style.display = 'none'; // Load MCP config if not already loaded if (!mcpConfig) { await loadMcpConfig(); } const currentPath = projectPath.replace(/\//g, '\\'); const projectData = mcpAllProjects[currentPath] || {}; const projectServers = projectData.mcpServers || {}; const disabledServers = projectData.disabledMcpServers || []; // Get all available servers from all projects const allAvailableServers = getAllAvailableMcpServers(); // Separate current project servers and available servers const currentProjectServerNames = Object.keys(projectServers); // Separate global servers and project servers that are not in current project const globalServerEntries = Object.entries(mcpGlobalServers) .filter(([name]) => !currentProjectServerNames.includes(name)); const otherProjectServers = Object.entries(allAvailableServers) .filter(([name, info]) => !currentProjectServerNames.includes(name) && !info.isGlobal); container.innerHTML = `
No MCP servers configured for this project
Add servers from the available list below
No additional MCP servers found in other projects
| Project | MCP Servers | Status |
|---|---|---|
|
${isCurrentProject ? '📍' : '📁'}
${escapeHtml(path.split('\\').pop() || path)}
${isCurrentProject ? '(Current)' : ''}
${escapeHtml(path)}
|
${serverNames.length === 0
? 'No MCP servers'
: serverNames.map(serverName => {
const isEnabled = !projectDisabled.includes(serverName);
return `
${escapeHtml(serverName)}
`;
}).join('')
}
|
${enabledCount}/${serverNames.length} |