diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/MCPServersList.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/MCPServersList.tsx
deleted file mode 100644
index 83835f5b..00000000
--- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/MCPServersList.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-import { VoidSwitch, VoidButtonBgDarken } from '../util/inputs.js';
-import { MCPConfigFileParseErrorResponse, MCPServerEventType, MCPServerEventResponse, MCPServerObject, MCPServerOfName } from '../../../../common/mcpServiceTypes.js';
-import { useEffect, useState } from 'react';
-import { useAccessor, useMCPServiceState } from '../util/services.js';
-
-
-// MCP Server component
-const MCPServer = ({ name, server }: { name: string, server: MCPServerObject }) => {
-
- const accessor = useAccessor();
- const mcpService = accessor.get('IMCPService');
-
- const handleChangeEvent = (e: boolean) => {
- // Handle the change event
- mcpService.toggleMCPServer(name, e);
- }
-
- return (
-
-
- {/* Status indicator */}
-
-
- {/* Server name */}
-
{name}
-
- {/* Power toggle switch */}
-
-
-
-
-
- {/* Tools section */}
-
-
- {server.isOn && server.tools.length > 0 ? (
- server.tools.map((tool) => (
-
- {tool.name}
-
- ))
- ) : (
- No tools available
- )}
-
-
-
- {/* Command badge */}
- {server.isOn && server.command && (
-
-
Command:
-
- {server.command}
-
-
- )}
-
- {/* Error message if present */}
- {server.error && (
-
-
- {server.error}
-
- )}
-
- );
-};
-
-// Main component that renders the list of servers
-const MCPServersList = () => {
-
- const mcpServiceState = useMCPServiceState()
- const accessor = useAccessor();
- const mcpService = accessor.get('IMCPService');
-
- return (
-
-
- {!mcpServiceState.error && Object.entries(mcpServiceState.mcpServerOfName).map(([name, server]) => (
-
-
-
- ))}
- {mcpServiceState.error && (
-
- {mcpServiceState.error}
-
- )}
-
-
- );
-};
-
-export default MCPServersList;
diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx
index d5174cbe..7dca05c7 100644
--- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx
+++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx
@@ -19,7 +19,8 @@ import { ToolApprovalType, toolApprovalTypes } from '../../../../common/toolsSer
import Severity from '../../../../../../../base/common/severity.js'
import { getModelCapabilities, modelOverrideKeys, ModelOverrides } from '../../../../common/modelCapabilities.js';
import { TransferEditorType, TransferFilesInfo } from '../../../extensionTransferTypes.js';
-import MCPServersList from './MCPServersList.js';
+import { MCPServerObject } from '../../../../common/mcpServiceTypes.js';
+import { useMCPServiceState } from '../util/services.js';
const ButtonLeftTextRightOption = ({ text, leftButton }: { text: string, leftButton?: React.ReactNode }) => {
@@ -899,6 +900,118 @@ export const OneClickSwitchButton = ({ fromEditor = 'VS Code', className = '' }:
// full settings
+// MCP Server component
+const MCPServer = ({ name, server }: { name: string, server: MCPServerObject }) => {
+ const accessor = useAccessor();
+ const mcpService = accessor.get('IMCPService');
+
+ const handleChangeEvent = (e: boolean) => {
+ // Handle the change event
+ mcpService.toggleMCPServer(name, e);
+ }
+
+ return (
+
+
+ {/* Status indicator */}
+
+
+ {/* Server name */}
+
{name}
+
+ {/* Power toggle switch */}
+
+
+
+
+
+ {/* Tools section */}
+
+
+ {server.isOn && server.tools.length > 0 ? (
+ server.tools.map((tool: { name: string; description?: string }) => (
+
+ {tool.name}
+
+ ))
+ ) : (
+ No tools available
+ )}
+
+
+
+ {/* Command badge */}
+ {server.isOn && server.command && (
+
+
Command:
+
+ {server.command}
+
+
+ )}
+
+ {/* Error message if present */}
+ {server.error && (
+
+
+ {server.error}
+
+ )}
+
+ );
+};
+
+// Main component that renders the list of servers
+const MCPServersList = () => {
+ const mcpServiceState = useMCPServiceState()
+ const accessor = useAccessor();
+ const mcpService = accessor.get('IMCPService');
+
+
+ let content: React.ReactNode
+ if (mcpServiceState.error) {
+ content =
+ {mcpServiceState.error}
+
+ }
+ else {
+ const entries = Object.entries(mcpServiceState.mcpServerOfName)
+ if (entries.length === 0) {
+ content =
+ No servers found
+
+ }
+ else {
+ content = entries.map(([name, server]) => (
+
+
+
+ ))
+ }
+ }
+
+ return content
+};
+
export const Settings = () => {
const isDark = useIsDark()
const accessor = useAccessor()
@@ -1235,6 +1348,7 @@ export const Settings = () => {
AI Instructions
+
-
-
MCP
- { await mcpService.revealMCPConfigFile() }}>
- Add MCP Server
-
-
+
MCP
-
-
-
+
+ { await mcpService.revealMCPConfigFile() }}>
+ Add MCP Server
+
+
+
+
+
+