brave-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Debugging environment variable (typically empty). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| clickB | Clicks on the provided element |
| close_pageB | Closes the page by its index. The last open page cannot be closed. |
| dragB | Drag an element onto another element |
| emulateC | Emulates various features on the selected page. |
| evaluate_scriptA | Evaluate a JavaScript function inside the currently selected page. Returns the response as JSON, so returned values have to be JSON-serializable. |
| fillB | Type text into an input, text area or select an option from a element. |
| fill_formA | 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. |
| get_console_messageA | Gets a console message by its ID. You can get all messages by calling list_console_messages. |
| get_network_requestA | Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. |
| handle_dialogA | If a browser dialog was opened, use this command to handle it |
| hoverB | Hover over the provided element |
| lighthouse_auditA | Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run performance_start_trace |
| list_console_messagesA | List all console messages for the currently selected page since the last navigation. |
| list_network_requestsA | List all requests for the currently selected page since the last navigation. |
| list_pagesA | Get a list of pages open in the browser. |
| navigate_pageA | Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise. |
| new_pageB | Open a new tab and load a URL. Use project URL if not specified otherwise. |
| performance_analyze_insightA | Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording. |
| performance_start_traceA | Start a performance trace on the selected webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed. |
| performance_stop_traceA | Stop the active performance trace recording on the selected webpage. |
| press_keyA | 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). |
| resize_pageA | Resizes the selected page's window so that the page has specified dimension |
| select_pageA | Select a page as a context for future tool calls. |
| take_memory_snapshotA | Capture a heap snapshot of the currently selected page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks. |
| take_screenshotB | Take a screenshot of the page or element. |
| take_snapshotA | Take a text snapshot of the currently selected 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). |
| type_textA | Type text using keyboard into a previously focused input |
| upload_fileB | Upload a file through a provided element. |
| wait_forA | Wait for the specified text to appear on the selected page. |
| browser_listA | Liste tous les navigateurs Chromium installés (Chrome, Brave, Edge) avec leur statut (en cours d'exécution, CDP actif). |
| browser_useA | Bascule la connexion vers un navigateur spécifique.
|
| browser_statusA | Affiche le statut détaillé de la connexion CDP et des pages ouvertes dans le navigateur. |
| browser_launchA | Lance un navigateur Chromium avec CDP et votre profil utilisateur (sessions, cookies, comptes). Si le navigateur tourne déjà sans CDP, il sera fermé et relancé avec CDP. Ne crée PAS de profil isolé — uniquement des sessions utilisateur. |
| browser_restartA | Ferme un navigateur en cours (sans CDP) et le relance avec CDP + votre profil utilisateur. Utile quand le navigateur est déjà ouvert mais pas en mode debug. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Several tools have overlapping purposes: fill, fill_form, and type_text all handle text input; browser_launch and browser_restart are nearly identical; browser_list and browser_status both report on browser state. While descriptions provide some clarification, an agent could easily misselect between these pairs.
The majority of tools follow a verb_noun pattern (list_pages, close_page, take_screenshot, navigate_page), but several browser management tools reverse this (browser_list, browser_launch, browser_status) and some tools are single verbs (click, hover, fill, drag). The mixed ordering and occasional vague names (emulate) create an inconsistent but still readable pattern.
With 34 tools spanning page interaction, form handling, performance tracing, network/console inspection, and browser management, the server is heavily overloaded. While the domain is broad, the count exceeds the 25+ threshold and many tools could be consolidated (e.g., merging fill and type_text, or combining browser_list/status).
The toolset covers a comprehensive browser automation lifecycle: navigation, page selection, interaction, form filling, file upload, screenshots, snapshots, performance traces, and network/console inspection. Minor gaps include lack of explicit cookie management or request interception, but these can be worked around via evaluate_script.