getNetworkErrors
Identify and analyze network error logs in browser sessions using a Chrome extension integrated with Anthropic's Model Context Protocol for monitoring and debugging.
Instructions
Check our network ERROR logs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- browser-tools-mcp/mcp-server.ts:216-232 (handler)The inline handler function for the 'getNetworkErrors' MCP tool. It discovers/connects to the browser connector server, fetches network error logs from the '/network-errors' endpoint, formats the JSON response as text content, and marks it with isError: true.server.tool("getNetworkErrors", "Check our network ERROR logs", async () => { return await withServerConnection(async () => { const response = await fetch( `http://${discoveredHost}:${discoveredPort}/network-errors` ); const json = await response.json(); return { content: [ { type: "text", text: JSON.stringify(json, null, 2), }, ], isError: true, }; }); });
- browser-tools-mcp/mcp-server.ts:216-232 (registration)Registration of the 'getNetworkErrors' tool using server.tool(), including its description and inline handler.server.tool("getNetworkErrors", "Check our network ERROR logs", async () => { return await withServerConnection(async () => { const response = await fetch( `http://${discoveredHost}:${discoveredPort}/network-errors` ); const json = await response.json(); return { content: [ { type: "text", text: JSON.stringify(json, null, 2), }, ], isError: true, }; }); });
- Helper function used by getNetworkErrors (and other tools) to ensure server connection, handle discovery, and retry on failures before executing the API call.async function withServerConnection<T>( apiCall: () => Promise<T> ): Promise<T | any> { // Attempt to discover server if not already discovered if (!serverDiscovered) { const discovered = await discoverServer(); if (!discovered) { return { content: [ { type: "text", text: "Failed to discover browser connector server. Please ensure it's running.", }, ], isError: true, }; } } // Now make the actual API call with discovered host/port try { return await apiCall(); } catch (error: any) { // If the request fails, try rediscovering the server once console.error( `API call failed: ${error.message}. Attempting rediscovery...` ); serverDiscovered = false; if (await discoverServer()) { console.error("Rediscovery successful. Retrying API call..."); try { // Retry the API call with the newly discovered connection return await apiCall(); } catch (retryError: any) { console.error(`Retry failed: ${retryError.message}`); return { content: [ { type: "text", text: `Error after reconnection attempt: ${retryError.message}`, }, ], isError: true, }; } } else { console.error("Rediscovery failed. Could not reconnect to server."); return { content: [ { type: "text", text: `Failed to reconnect to server: ${error.message}`, }, ], isError: true, }; } } }