Skip to main content
Glama
close.ts1.53 kB
import { BrowserToolBase } from '../base.js'; import { ToolContext, ToolResponse, ToolMetadata, SessionConfig, createSuccessResponse } from '../../common/types.js'; async function resetState() { const { resetBrowserState } = await import('../../../toolHandler.js'); resetBrowserState(); } /** * Tool for closing the browser */ export class CloseTool extends BrowserToolBase { static getMetadata(sessionConfig?: SessionConfig): ToolMetadata { return { name: "close", description: "Close the browser and release all resources", inputSchema: { type: "object", properties: {}, required: [], }, }; } async execute(args: any, context: ToolContext): Promise<ToolResponse> { if (context.browser) { try { // Check if browser is still connected if (context.browser.isConnected()) { await context.browser.close().catch(error => { console.error("Error while closing browser:", error); }); } else { console.error("Browser already disconnected, cleaning up state"); } } catch (error) { console.error("Error during browser close operation:", error); // Continue with resetting state even if close fails } finally { // Always reset the global browser and page references await resetState(); } return createSuccessResponse("Browser closed successfully"); } return createSuccessResponse("No browser instance to close"); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antonzherdev/mcp-web-inspector'

If you have feedback or need assistance with the MCP directory API, please join our Discord server