(name: string, enabled: boolean)
| 1551 | * @param enabled Whether the server should be enabled |
| 1552 | */ |
| 1553 | export function setMcpServerEnabled(name: string, enabled: boolean): void { |
| 1554 | const isBuiltinStateChange = |
| 1555 | isDefaultDisabledBuiltin(name) && isMcpServerDisabled(name) === enabled |
| 1556 | |
| 1557 | saveCurrentProjectConfig(current => { |
| 1558 | if (isDefaultDisabledBuiltin(name)) { |
| 1559 | const prev = current.enabledMcpServers || [] |
| 1560 | const next = toggleMembership(prev, name, enabled) |
| 1561 | if (next === prev) return current |
| 1562 | return { ...current, enabledMcpServers: next } |
| 1563 | } |
| 1564 | |
| 1565 | const prev = current.disabledMcpServers || [] |
| 1566 | const next = toggleMembership(prev, name, !enabled) |
| 1567 | if (next === prev) return current |
| 1568 | return { ...current, disabledMcpServers: next } |
| 1569 | }) |
| 1570 | |
| 1571 | if (isBuiltinStateChange) { |
| 1572 | logEvent('tengu_builtin_mcp_toggle', { |
| 1573 | serverName: |
| 1574 | name as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, |
| 1575 | enabled, |
| 1576 | }) |
| 1577 | } |
| 1578 | } |
| 1579 |
no test coverage detected