Skip to main content
Glama

browser_navigate

Direct the browser to a specified URL to initiate automated web accessibility scans, enabling WCAG compliance checks with visual and JSON reports for remediation.

Instructions

Navigate to a URL

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to navigate to

Implementation Reference

  • Handler function that executes the browser_navigate tool: ensures an active tab, navigates to the specified URL, includes a snapshot in the response, and adds the equivalent Playwright code.
    handle: async (context, params, response) => { const tab = await context.ensureTab(); await tab.navigate(params.url); response.setIncludeSnapshot(); response.addCode(`await page.goto('${params.url}');`); },
  • Input schema definition for the browser_navigate tool, specifying the required 'url' parameter.
    schema: { name: 'browser_navigate', title: 'Navigate to a URL', description: 'Navigate to a URL', inputSchema: z.object({ url: z.string().describe('The URL to navigate to'), }), type: 'destructive', },
  • src/tools.ts:38-56 (registration)
    Registration of all tools, including browser_navigate from the navigate module, into the allTools array used by the backend.
    export const allTools: Tool<any>[] = [ ...common, ...console, ...dialogs, ...evaluate, ...files, ...form, ...install, ...keyboard, ...navigate, ...network, ...mouse, ...pdf, ...screenshot, ...snapshot, ...tabs, ...wait, ...verify, ];
  • MCP backend callTool method that dispatches to the specific tool handler by name, including browser_navigate.
    async callTool(name: string, rawArguments: mcpServer.CallToolRequest['params']['arguments']) { const tool = this._tools.find(tool => tool.schema.name === name)!; if (!tool) throw new Error(`Tool "${name}" not found`); const parsedArguments = tool.schema.inputSchema.parse(rawArguments || {}); const context = this._context!; const response = new Response(context, name, parsedArguments); context.setRunningTool(name); try { await tool.handle(context, parsedArguments, response); await response.finish(); this._sessionLog?.logResponse(response); } catch (error: any) { response.addError(String(error)); } finally { context.setRunningTool(undefined); } return response.serialize(); }
  • BrowserServerBackend constructor initializes _tools using filteredTools, which includes browser_navigate.
    constructor(config: FullConfig, factory: BrowserContextFactory) { this._config = config; this._browserContextFactory = factory; this._tools = filteredTools(config);

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/JustasMonkev/mcp-accessibility-scanner'

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