MCPcopy
hub / github.com/codeaashu/claude-code / MCPToggle

Function MCPToggle

src/commands/mcp/mcp.tsx:12–56  ·  view source on GitHub ↗
(t0)

Source from the content-addressed store, hash-verified

10// TODO: This is a hack to get the context value from toggleMcpServer (useContext only works in a component)
11// Ideally, all MCP state and functions would be in global state.
12function MCPToggle(t0) {
13 const $ = _c(7);
14 const {
15 action,
16 target,
17 onComplete
18 } = t0;
19 const mcpClients = useAppState(_temp);
20 const toggleMcpServer = useMcpToggleEnabled();
21 const didRun = useRef(false);
22 let t1;
23 let t2;
24 if ($[0] !== action || $[1] !== mcpClients || $[2] !== onComplete || $[3] !== target || $[4] !== toggleMcpServer) {
25 t1 = () => {
26 if (didRun.current) {
27 return;
28 }
29 didRun.current = true;
30 const isEnabling = action === "enable";
31 const clients = mcpClients.filter(_temp2);
32 const toToggle = target === "all" ? clients.filter(c_0 => isEnabling ? c_0.type === "disabled" : c_0.type !== "disabled") : clients.filter(c_1 => c_1.name === target);
33 if (toToggle.length === 0) {
34 onComplete(target === "all" ? `All MCP servers are already ${isEnabling ? "enabled" : "disabled"}` : `MCP server "${target}" not found`);
35 return;
36 }
37 for (const s_0 of toToggle) {
38 toggleMcpServer(s_0.name);
39 }
40 onComplete(target === "all" ? `${isEnabling ? "Enabled" : "Disabled"} ${toToggle.length} MCP server(s)` : `MCP server "${target}" ${isEnabling ? "enabled" : "disabled"}`);
41 };
42 t2 = [action, target, mcpClients, toggleMcpServer, onComplete];
43 $[0] = action;
44 $[1] = mcpClients;
45 $[2] = onComplete;
46 $[3] = target;
47 $[4] = toggleMcpServer;
48 $[5] = t1;
49 $[6] = t2;
50 } else {
51 t1 = $[5];
52 t2 = $[6];
53 }
54 useEffect(t1, t2);
55 return null;
56}
57function _temp2(c) {
58 return c.name !== "ide";
59}

Callers

nothing calls this directly

Calls 2

useAppStateFunction · 0.85
useMcpToggleEnabledFunction · 0.85

Tested by

no test coverage detected