brave-mcp 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +18 -10
  2. package/build/src/BrowserManager.js +600 -0
  3. package/build/src/McpContext.js +141 -122
  4. package/build/src/McpPage.js +205 -76
  5. package/build/src/McpResponse.js +71 -27
  6. package/build/src/McpWorker.js +66 -0
  7. package/build/src/ToolHandler.js +239 -133
  8. package/build/src/bin/brave-devtools-mcp-main.js +19 -13
  9. package/build/src/bin/brave-devtools.js +22 -39
  10. package/build/src/collectors/PageCollector.js +3 -2
  11. package/build/src/collectors/ServiceWorkerCollector.js +18 -11
  12. package/build/src/config/ConfigLocator.js +71 -0
  13. package/build/src/config/ConfigParser.js +213 -0
  14. package/build/src/config/browser-options.js +4 -13
  15. package/build/src/config/category-options.js +6 -14
  16. package/build/src/config/cli-commands.js +34 -0
  17. package/build/src/config/cli-options.js +57 -6
  18. package/build/src/config/mcp-options.js +124 -220
  19. package/build/src/config/puppeteer-options.js +68 -0
  20. package/build/src/config/tool-options.js +56 -0
  21. package/build/src/daemon/client.js +65 -37
  22. package/build/src/daemon/daemon.js +52 -41
  23. package/build/src/daemon/utils.js +1 -10
  24. package/build/src/devtools/DevToolsCommentBridge.js +9 -1
  25. package/build/src/formatters/CommentFormatter.js +4 -13
  26. package/build/src/formatters/HeapSnapshotFormatter.js +53 -0
  27. package/build/src/formatters/IssueFormatter.js +31 -31
  28. package/build/src/formatters/SnapshotFormatter.js +31 -4
  29. package/build/src/index.js +90 -78
  30. package/build/src/processors/ChunkedTraceParser.js +361 -0
  31. package/build/src/processors/HeapSnapshotManager.js +4 -0
  32. package/build/src/processors/PerformanceTrace.js +49 -15
  33. package/build/src/telemetry/ClearcutLogger.js +26 -16
  34. package/build/src/telemetry/metricsRegistry.js +3 -0
  35. package/build/src/telemetry/transformation.js +49 -4
  36. package/build/src/third_party/THIRD_PARTY_NOTICES +446 -249
  37. package/build/src/third_party/bundled-packages.json +7 -5
  38. package/build/src/third_party/devtools-formatter-worker.js +1230 -48
  39. package/build/src/third_party/devtools-heap-snapshot-worker.js +1658 -9
  40. package/build/src/third_party/index.js +43938 -37520
  41. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantRead.md +0 -1
  42. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantReadOptOut.md +5 -0
  43. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantSet.md +0 -1
  44. package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantSetOptOut.md +5 -0
  45. package/build/src/third_party/issue-descriptions/deprecation.md +1 -1
  46. package/build/src/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md +2 -0
  47. package/build/src/third_party/issue-descriptions/webInstallManifestMissingId.md +3 -0
  48. package/build/src/third_party/issue-descriptions/webInstallManifestMissingNameOrShortName.md +3 -0
  49. package/build/src/third_party/issue-descriptions/webInstallManifestParsingOrNetworkError.md +3 -0
  50. package/build/src/third_party/issue-descriptions/webInstallNoManifest.md +3 -0
  51. package/build/src/third_party/issue-descriptions/webInstallStartUrlInvalid.md +3 -0
  52. package/build/src/tools/ToolDefinition.js +25 -21
  53. package/build/src/tools/comments.js +17 -12
  54. package/build/src/tools/console.js +3 -3
  55. package/build/src/tools/css.js +10 -8
  56. package/build/src/tools/emulation.js +5 -5
  57. package/build/src/tools/extensions.js +10 -10
  58. package/build/src/tools/input.js +159 -87
  59. package/build/src/tools/lighthouse.js +15 -4
  60. package/build/src/tools/memory.js +69 -26
  61. package/build/src/tools/network.js +4 -4
  62. package/build/src/tools/pages.js +17 -14
  63. package/build/src/tools/performance.js +6 -6
  64. package/build/src/tools/pwa.js +8 -8
  65. package/build/src/tools/screencast.js +4 -4
  66. package/build/src/tools/screenshot.js +2 -2
  67. package/build/src/tools/script.js +95 -42
  68. package/build/src/tools/slim/tools.js +9 -6
  69. package/build/src/tools/snapshot.js +4 -4
  70. package/build/src/tools/thirdPartyDeveloper.js +7 -5
  71. package/build/src/tools/tools.js +37 -31
  72. package/build/src/tools/webmcp.js +7 -5
  73. package/build/src/utils/WaitForHelper.js +14 -8
  74. package/build/src/utils/errorHandling.js +17 -0
  75. package/build/src/utils/logger.js +16 -6
  76. package/build/src/utils/text.js +15 -0
  77. package/build/src/utils/url.js +68 -3
  78. package/build/src/version.js +1 -1
  79. package/package.json +10 -6
  80. package/skills/brave-devtools/SKILL.md +2 -1
  81. package/skills/brave-devtools-cli/SKILL.md +3 -2
  82. package/skills/troubleshooting/SKILL.md +1 -1
  83. package/build/src/browser.js +0 -331
  84. package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +0 -4
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![npm](https://img.shields.io/npm/v/brave-mcp.svg?logo=npm)](https://www.npmjs.com/package/brave-mcp)
7
7
  [![npm downloads](https://img.shields.io/npm/dm/brave-mcp.svg?logo=npm)](https://www.npmjs.com/package/brave-mcp)
8
8
  [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-active-5B5BD6)](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.triuzzi%2Fbrave-mcp)
9
- [![npm provenance](https://img.shields.io/badge/npm-provenance-2E7D32)](https://registry.npmjs.org/-/npm/v1/attestations/brave-mcp@1.7.1)
9
+ [![npm provenance](https://img.shields.io/badge/npm-provenance-2E7D32)](https://www.npmjs.com/package/brave-mcp#provenance)
10
10
  [![upstream](https://img.shields.io/badge/upstream-0%20commits%20behind-brightgreen)](https://github.com/triuzzi/brave-devtools-mcp/compare/ChromeDevTools:main...main)
11
11
  [![license](https://img.shields.io/github/license/triuzzi/brave-devtools-mcp)](./LICENSE)
12
12
 
@@ -16,34 +16,40 @@
16
16
 
17
17
  ## Install in one command
18
18
 
19
+ The commands below use `--autoConnect`, which attaches `brave-mcp` to the Brave you already have open, so the agent works with your real tabs and signed-in sessions. Enable it once: open `brave://inspect/#remote-debugging` in Brave and check **Allow remote debugging for this browser instance**. Brave keeps this setting across restarts.
20
+
19
21
  ### Claude Code
20
22
 
21
23
  ```bash
22
- claude mcp add brave-devtools --scope user -- npx -y brave-mcp@latest
24
+ claude mcp add brave-devtools --scope user -- npx -y brave-mcp@latest --autoConnect
23
25
  ```
24
26
 
25
27
  ### Cursor
26
28
 
27
29
  ```bash
28
- cursor --add-mcp '{"name":"brave-devtools","command":"npx","args":["-y","brave-mcp@latest"]}'
30
+ cursor --add-mcp '{"name":"brave-devtools","command":"npx","args":["-y","brave-mcp@latest","--autoConnect"]}'
29
31
  ```
30
32
 
31
33
  ### Codex
32
34
 
33
35
  ```bash
34
- codex mcp add brave-devtools -- npx -y brave-mcp@latest
36
+ codex mcp add brave-devtools -- npx -y brave-mcp@latest --autoConnect
35
37
  ```
36
38
 
37
39
  ### OpenCode
38
40
 
39
41
  ```bash
40
- opencode mcp add brave-devtools -- npx -y brave-mcp@latest
42
+ opencode mcp add brave-devtools -- npx -y brave-mcp@latest --autoConnect
41
43
  ```
42
44
 
43
45
  Restart your client, then try this prompt:
44
46
 
45
47
  > Open my app in Brave. Find console errors and failed network requests, inspect the accessibility tree, run Lighthouse, and explain the highest-impact issue.
46
48
 
49
+ When the agent connects, Brave asks for permission. Click **Allow**.
50
+
51
+ `--autoConnect` attaches to Brave Release unless you add `--channel beta` or `--channel nightly`. To keep the agent out of your everyday browser, leave out `--autoConnect`: the server then launches its own Brave with a dedicated profile.
52
+
47
53
  ## Why use this instead of Chrome DevTools MCP?
48
54
 
49
55
  | Capability | `brave-mcp` | `chrome-devtools-mcp` |
@@ -107,14 +113,14 @@ You can disable these update checks by setting `BRAVE_DEVTOOLS_MCP_NO_UPDATE_CHE
107
113
 
108
114
  ## Getting started
109
115
 
110
- Add the following config to your MCP client:
116
+ Enable remote debugging once at `brave://inspect/#remote-debugging`, then add the following config to your MCP client to attach to your running Brave:
111
117
 
112
118
  ```json
113
119
  {
114
120
  "mcpServers": {
115
121
  "brave-devtools": {
116
122
  "command": "npx",
117
- "args": ["-y", "brave-mcp@latest"]
123
+ "args": ["-y", "brave-mcp@latest", "--autoConnect"]
118
124
  }
119
125
  }
120
126
  }
@@ -123,6 +129,8 @@ Add the following config to your MCP client:
123
129
  > [!NOTE]
124
130
  > Using `brave-mcp@latest` ensures that your MCP client will always use the latest version of the Brave DevTools MCP server.
125
131
 
132
+ Leave out `--autoConnect` to have the server launch its own Brave with a dedicated profile instead.
133
+
126
134
  If you are interested in doing only basic browser tasks, use the `--slim` mode:
127
135
 
128
136
  ```json
@@ -140,7 +148,7 @@ See [Slim tool reference](./docs/slim-tool-reference.md).
140
148
 
141
149
  ### MCP Client configuration
142
150
 
143
- For setup instructions specific to your editor or agent (e.g. Antigravity, Claude Code, Cursor, VS Code), please see our [Client Configurations Guide][client-configurations-guide].
151
+ For setup instructions specific to your editor or agent (e.g. Antigravity, Claude Code, Cursor, VS Code), please see our [Client Configurations Guide][client-configurations-guide]. To attach to your running Brave, add `--autoConnect` to the server arguments shown there.
144
152
 
145
153
  ### Your first prompt
146
154
 
@@ -150,10 +158,10 @@ Enter the following prompt in your MCP Client to check if everything is working:
150
158
  Check the performance of https://brave.com
151
159
  ```
152
160
 
153
- Your MCP client should open the browser and record a performance trace.
161
+ Brave asks you to allow the connection. After you click **Allow**, your MCP client opens the page in Brave and records a performance trace.
154
162
 
155
163
  > [!NOTE]
156
- > The MCP server will start the browser automatically once the MCP client uses a tool that requires a running browser instance. Connecting to the Brave DevTools MCP server on its own will not automatically start the browser.
164
+ > The MCP server connects to Brave only when the MCP client first uses a tool that needs a browser, not when the client starts. Without `--autoConnect`, that is when the server launches its own Brave.
157
165
 
158
166
  ## Tools
159
167