chrome-mcp
Tools

Observers

Console output, network requests and native dialogs. Requires --enable-observers.

Generated from @mehmoodqureshi/chrome-mcp 0.9.11. 3 tools.

console_logs

Console output and uncaught errors recorded on the page (requires --enable-observers). This is how you find out WHY a page misbehaved rather than only what it looks like afterwards. Pass sinceSeq to poll for what is new, clear:true to drain.

ArgumentTypeRequiredDescription
level"log" | "info" | "warn" | "error" | "debug" | "exception"noOnly entries at this level
frameIdnumbernoFrame id from frames_list
allFramesbooleannoAct on the first match in ANY frame (the element may be in an iframe)
sinceSeqnumbernoOnly entries newer than this seq (from a previous call)
limitnumbernoMax entries to return (default 200)
clearbooleannoEmpty the buffer after reading
tabIdstringnoTab id (default: active tab)
{
  "tool": "console_logs",
  "args": {
    "level": "log"
  }
}

network_log

Requests the page made - fetch and XMLHttpRequest with method, URL, status and duration (requires --enable-observers). Set includeResources:true to also list scripts/images/styles from Resource Timing (those carry timing and size but no status). Does not include the document request or headers.

ArgumentTypeRequiredDescription
urlContainsstringnoOnly requests whose URL contains this substring
frameIdnumbernoFrame id from frames_list
allFramesbooleannoAct on the first match in ANY frame (the element may be in an iframe)
failedOnlybooleannoOnly requests that errored or returned status >= 400
includeResourcesbooleannoAlso include Resource Timing entries (scripts, images, styles)
sinceSeqnumberno
limitnumberno
clearbooleanno
tabIdstringnoTab id (default: active tab)
{
  "tool": "network_log",
  "args": {
    "urlContains": "<urlContains>"
  }
}

dialogs

Native dialogs (alert/confirm/prompt/beforeunload) the page raised, and how they were answered (requires --enable-observers). With observers on, dialogs are intercepted rather than left to block the renderer - which is what otherwise turns a click that opens a confirm() into a mystery TIMEOUT. Set policy:'accept' to answer confirms with true.

ArgumentTypeRequiredDescription
policy"dismiss" | "accept"noHow to answer future dialogs (default dismiss: confirm->false, prompt->null)
frameIdnumbernoFrame id from frames_list
allFramesbooleannoAct on the first match in ANY frame (the element may be in an iframe)
promptTextstringnoText to answer prompt() with when policy is 'accept'
sinceSeqnumberno
limitnumberno
clearbooleanno
tabIdstringnoTab id (default: active tab)
{
  "tool": "dialogs",
  "args": {
    "policy": "dismiss"
  }
}

On this page