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