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