( name: string, serverRef: ScopedMcpServerConfig, )
| 1649 | * @param serverRef Server configuration |
| 1650 | */ |
| 1651 | export async function clearServerCache( |
| 1652 | name: string, |
| 1653 | serverRef: ScopedMcpServerConfig, |
| 1654 | ): Promise<void> { |
| 1655 | const key = getServerCacheKey(name, serverRef) |
| 1656 | |
| 1657 | try { |
| 1658 | const wrappedClient = await connectToServer(name, serverRef) |
| 1659 | |
| 1660 | if (wrappedClient.type === 'connected') { |
| 1661 | await wrappedClient.cleanup() |
| 1662 | } |
| 1663 | } catch { |
| 1664 | // Ignore errors - server might have failed to connect |
| 1665 | } |
| 1666 | |
| 1667 | // Clear from cache (both connection and fetch caches so reconnect |
| 1668 | // fetches fresh tools/resources/commands instead of stale ones) |
| 1669 | connectToServer.cache.delete(key) |
| 1670 | fetchToolsForClient.cache.delete(name) |
| 1671 | fetchResourcesForClient.cache.delete(name) |
| 1672 | fetchCommandsForClient.cache.delete(name) |
| 1673 | if (feature('MCP_SKILLS')) { |
| 1674 | fetchMcpSkillsForClient!.cache.delete(name) |
| 1675 | } |
| 1676 | } |
| 1677 | |
| 1678 | /** |
| 1679 | * Ensures a valid connected client for an MCP server. |
no test coverage detected