inspect_networkDump
Debug API calls by dumping captured network logs. Filter traffic by URL substring and optionally include JSON response bodies to analyze complete request data and diagnose issues.
Instructions
Dump captured network log. Pass bodies:true to include response bodies (JSON APIs). Waits up to 3s for pending body fetches.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bodies | No | Include response bodies for API calls | |
| url_filter | No | Filter entries by URL substring |
Implementation Reference
- extension/background.js:624-644 (handler)The main handler for 'inspect.networkDump' tool. It retrieves captured network entries from the networkCaptures map, filters by URL if specified, optionally fetches response bodies via CDP Network.getResponseBody, and returns the captured network entries.
case 'inspect.networkDump': { const capture = networkCaptures.get(tabId) if (!capture) return { entries: [] } // Wait briefly for in-flight requests to complete await new Promise(r => setTimeout(r, Math.min(params.wait_ms || 500, 3000))) const entries = capture.entries.filter(e => { if (params.url_filter && !e.url?.includes(params.url_filter)) return false return true }) // Optionally fetch response bodies if (params.bodies) { for (const entry of entries) { if (!entry.requestId || entry.responseBody !== undefined) continue try { const body = await chrome.debugger.sendCommand({ tabId }, 'Network.getResponseBody', { requestId: entry.requestId }) entry.responseBody = body?.body?.substring(0, 10000) || '' } catch { /* body not available */ } } } return { count: entries.length, entries } } - extension/background.js:318-320 (registration)Tool capability registration where 'inspect.networkDump' is listed as a supported tool in the capabilities response.
'tab.new', 'tab.list', 'tab.close', 'inspect.page', 'inspect.networkStart', 'inspect.networkDump', 'inspect.networkStop', 'intercept.on', 'intercept.off' - extension/background.js:714-737 (helper)CDP Network Event Listener that captures network responses when network capturing is active. Filters for API-like requests (JSON, XML) and stores them in the networkCaptures map for later retrieval by inspect.networkDump.
// --- CDP Network Event Listener (for inspect.networkStart/networkDump) --- chrome.debugger.onEvent.addListener((source, method, params) => { const tabId = source.tabId const capture = networkCaptures.get(tabId) if (!capture?.listening) return if (method === 'Network.responseReceived') { const { response, requestId } = params if (!response?.url) return // Only capture API-like requests (JSON, XHR, fetch) const ct = response.headers?.['content-type'] || response.headers?.['Content-Type'] || '' const isApi = ct.includes('json') || ct.includes('xml') || response.mimeType?.includes('json') const isDoc = ct.includes('html') || ct.includes('css') || ct.includes('javascript') || ct.includes('image') || ct.includes('font') if (isDoc && !isApi) return capture.entries.push({ url: response.url, method: params.type || 'GET', status: response.status, type: response.mimeType || ct.split(';')[0], requestId, }) } })