brave-mcp
MCP server for Brave DevTools
Versions
1.6.0latest1.5.01.3.01.2.00.5.0+ show 8 moreshow less
0.4.00.3.00.2.20.2.10.2.00.1.20.1.10.1.0Tools 68
page_tool A page scoped tool
page_file_tool A page scoped tool with file verification
get_console_message Gets a console message by its ID. You can get all messages by calling ${LIST_CONSOLE_MESSAGES_TOOL_NAME}.
performance_start_trace Start a performance trace on the target webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed.
performance_stop_trace Stop the active performance trace recording on the target webpage.
performance_analyze_insight Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording.
take_heapsnapshot Capture a heap snapshot of the target page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.
get_heapsnapshot_summary Loads and caches a memory heapsnapshot and returns snapshot summary stats, including native contexts and their sizes, and retained by context summary.
get_heapsnapshot_details Loads and caches a memory heapsnapshot and returns all available information including statistics, static data, and aggregated node information. Supports pagination for aggregates.
get_heapsnapshot_class_nodes Loads and caches a memory heapsnapshot and returns instances of a specific class with their IDs.
get_heapsnapshot_retainers Loads and caches a memory heapsnapshot and returns retainers for a specific node ID.
close_heapsnapshot Closes a previously loaded and cached memory heapsnapshot, freeing its memory.
get_heapsnapshot_retaining_paths Loads and caches a memory heapsnapshot and returns retaining paths for a specific node ID. This helps to understand why a node is not being garbage collected.
get_heapsnapshot_edges Loads and caches a memory heapsnapshot and returns outgoing edges (references) for a specific node ID.
get_heapsnapshot_dominators Loads and caches a memory heapsnapshot and returns the dominator chain for a specific node ID. This helps to identify which objects are keeping the target node alive.
compare_heapsnapshots Loads and caches two memory heapsnapshots and returns the comparison. If classIndex is provided, returns detailed diff for that class, otherwise returns summary diff.
get_heapsnapshot_duplicate_strings Loads and caches a memory heapsnapshot and returns duplicate strings grouped by their value.
get_heapsnapshot_object_details Loads and caches a memory heapsnapshot and returns detailed information about a specific object by its node ID, including size, type, distance, and DOM detachedness.
query_heapsnapshot_objects Loads and caches a memory heapsnapshot and queries objects matching specific filters (className, propertyName, nodeType, retainedSize, selfSize, isDetached, sortBy).
analyze_heapsnapshot_contexts Loads and caches a memory heapsnapshot to identify and rank closure contexts holding dead captured fields—variables no remaining live closure can read. Scopes are ranked globally by the retained size of these dead values to provide a prioritizing heuristic, rather than an exact measure of reclaimable bytes.
install_extension Installs a Chrome extension from the given path.
uninstall_extension Uninstalls a Chrome extension by its ID.
list_extensions Lists all the Chrome extensions installed in the browser. This includes their name, ID, version, and enabled status.
reload_extension Reloads an unpacked Chrome extension by its ID.
trigger_extension_action Triggers the default action of an extension by its ID.
install_pwa Installs a Progressive Web App (PWA) identified by its manifest ID.
uninstall_pwa Uninstalls a Progressive Web App identified by its manifest ID and
launch_pwa Launches an installed Progressive Web App using its saved display mode.
get_os_app_state Returns the OS integration state (badge count and registered file
list_network_requests Lists the most recent requests for the target page since the last navigation.
get_network_request Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives).
list_webmcp_tools Lists all WebMCP tools the page exposes (excluding debugging tools, which are exposed via 'list_3p_developer_tools').
execute_webmcp_tool Executes a WebMCP tool exposed by the page (for debugging tools, use 'execute_3p_developer_tool').
take_snapshot Take a text snapshot of the target page based on the a11y tree. The snapshot lists page elements along with a unique identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot. The snapshot indicates the element selected in the DevTools Elements panel (if any).
wait_for Wait for the specified text to appear on the selected page.
lighthouse_audit Get Lighthouse scores, failing audits, and the DOM nodes they flag for accessibility, SEO, best practices, and agentic browsing. Full reports are saved to disk. This excludes performance. For performance audits, run ${startTrace(args).name}
screencast_start Starts recording a screencast (video) of the target page.
screencast_stop Stops the active screencast recording on the target page.
list_pages Get a list of pages${args?.categoryExtensions ? ' including extension service workers' : ''} open in the browser.
select_page Select a page as a context for future tool calls.
close_page Closes the page by its index. The last open page cannot be closed.
new_page Open a new tab and load a URL. Use project URL if not specified otherwise.
navigate_page Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise.
resize_page Resizes the page's window so that the page has specified dimension
handle_dialog If a browser dialog was opened, use this command to handle it
get_tab_id Get the tab ID of the page
take_screenshot Take a screenshot of the page or element.
open_devtools Open a DevTools window for the selected page.
get_devtools_comments Retrieve user comments from the DevTools window for the page.
resolve_devtools_comment Append an agent reply to a DevTools comment thread and mark it as resolved.
reveal_in_devtools Navigate DevTools to a specified panel and highlight a target DOM node or network request. The parameters uid and reqid are mutually exclusive.
emulate Emulates various features on the target page. Each call replaces all emulation settings (except extraHttpHeaders), so pass all desired settings in a single call.
evaluate_script Evaluate JavaScript inside the target page${cliArgs.categoryExtensions ? ' or service worker' : ''}. The source can be provided inline or loaded from a local file. Returns the response as JSON, so returned values have to be JSON-serializable.
list_3p_developer_tools Lists all third-party developer tools the page exposes for providing runtime information (including debugging WebMCP tools and tools exposed via the 'devtoolstooldiscovery' event). Third-party developer tools can be called via the 'execute_3p_developer_tool()' MCP tool. Alternatively, third-party developer tools exposed via the 'devtoolstooldiscovery' event can be executed by calling 'evaluate_script' and adding the following command to the script: \
execute_3p_developer_tool Executes a third-party developer tool exposed by the page.
click Clicks on the provided element
click_at Clicks at the provided coordinates
hover Hover over the provided element
fill Type text into an input, text area or select an option from a <select> element.
type_text Type text using keyboard into a previously focused input
drag Drag an element onto another element
fill_form Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call.
upload_file Upload a file through a provided element.
press_key Press a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations).
get_css_styles Retrieve matched CSS rules, inline styles (element.style), inherited styles, custom properties, and cascade wrappers (@layer, @media, @container, @scope) for an element identified by its UID. Rules are ordered from highest to lowest cascade precedence and include source line numbers (e.g. index:196). Active (winning) declarations have no prefix tag, while (losing) overridden declarations are prefixed with [overloaded]. Treat the output as authoritative and complete. Results are paginated (10 rules per page by default); use pageIdx to page through the remaining rules. Requires a UID from take_snapshot.
screenshot Takes a screenshot
navigate Loads a URL
evaluate Evaluates a JavaScript script
Permissions 4
network medium filesystem low shell high env_vars low