@darbotlabs/darbot-browser-mcp 0.2.0 → 1.3.0
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.
- package/LICENSE +1 -1
- package/README.md +222 -161
- package/cli.js +1 -1
- package/config.d.ts +77 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/ai/context.js +150 -0
- package/lib/ai/guardrails.js +382 -0
- package/lib/ai/integration.js +397 -0
- package/lib/ai/intent.js +237 -0
- package/lib/ai/manualPromise.js +111 -0
- package/lib/ai/memory.js +273 -0
- package/lib/ai/ml-scorer.js +265 -0
- package/lib/ai/orchestrator-tools.js +292 -0
- package/lib/ai/orchestrator.js +473 -0
- package/lib/ai/planner.js +300 -0
- package/lib/ai/reporter.js +493 -0
- package/lib/ai/workflow.js +407 -0
- package/lib/auth/apiKeyAuth.js +46 -0
- package/lib/auth/entraAuth.js +110 -0
- package/lib/auth/entraJwtVerifier.js +117 -0
- package/lib/auth/index.js +210 -0
- package/lib/auth/managedIdentityAuth.js +175 -0
- package/lib/auth/mcpOAuthProvider.js +186 -0
- package/lib/auth/tunnelAuth.js +120 -0
- package/lib/browserContextFactory.js +1 -1
- package/lib/browserServer.js +1 -1
- package/lib/cdpRelay.js +2 -2
- package/lib/common.js +68 -0
- package/lib/config.js +62 -3
- package/lib/connection.js +1 -1
- package/lib/context.js +1 -1
- package/lib/fileUtils.js +1 -1
- package/lib/guardrails.js +382 -0
- package/lib/health.js +178 -0
- package/lib/httpServer.js +1 -1
- package/lib/index.js +1 -1
- package/lib/javascript.js +1 -1
- package/lib/manualPromise.js +1 -1
- package/lib/memory.js +273 -0
- package/lib/openapi.js +373 -0
- package/lib/orchestrator.js +473 -0
- package/lib/package.js +1 -1
- package/lib/pageSnapshot.js +17 -2
- package/lib/planner.js +302 -0
- package/lib/program.js +17 -5
- package/lib/reporter.js +493 -0
- package/lib/resources/resource.js +1 -1
- package/lib/server.js +5 -3
- package/lib/tab.js +1 -1
- package/lib/tools/ai-native.js +298 -0
- package/lib/tools/autonomous.js +147 -0
- package/lib/tools/clock.js +183 -0
- package/lib/tools/common.js +1 -1
- package/lib/tools/console.js +1 -1
- package/lib/tools/diagnostics.js +132 -0
- package/lib/tools/dialogs.js +1 -1
- package/lib/tools/emulation.js +155 -0
- package/lib/tools/files.js +1 -1
- package/lib/tools/install.js +1 -1
- package/lib/tools/keyboard.js +1 -1
- package/lib/tools/navigate.js +1 -1
- package/lib/tools/network.js +1 -1
- package/lib/tools/pageSnapshot.js +58 -0
- package/lib/tools/pdf.js +1 -1
- package/lib/tools/profiles.js +76 -25
- package/lib/tools/screenshot.js +1 -1
- package/lib/tools/scroll.js +93 -0
- package/lib/tools/snapshot.js +1 -1
- package/lib/tools/storage.js +328 -0
- package/lib/tools/tab.js +16 -0
- package/lib/tools/tabs.js +1 -1
- package/lib/tools/testing.js +1 -1
- package/lib/tools/tool.js +1 -1
- package/lib/tools/utils.js +1 -1
- package/lib/tools/vision.js +1 -1
- package/lib/tools/wait.js +1 -1
- package/lib/tools.js +22 -1
- package/lib/transport.js +251 -31
- package/package.json +28 -22
package/README.md
CHANGED
|
@@ -2,34 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Your Autonomous Browser Companion**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Darbot Browser is a framework for autonomous web automation. This tool enables AI models to interact with UI through structured accessibility snapshots, delivering autonomous browsing without requiring vision models. Optimized for Microsoft Edge with comprehensive session state support.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@darbotlabs/darbot-browser-mcp)
|
|
10
10
|
[](https://www.npmjs.com/package/@darbotlabs/darbot-browser-mcp)
|
|
11
11
|
[](https://marketplace.visualstudio.com/items?itemName=darbotlabs.darbot-browser-mcp)
|
|
12
12
|
[](./LICENSE)
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Key Features
|
|
15
15
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
16
|
+
- **Fast and lightweight** - Uses accessibility tree, not pixel-based input
|
|
17
|
+
- **DarbotLM framework** - No vision models needed, operates purely on structured data
|
|
18
|
+
- **Deterministic** - Avoids ambiguity common with screenshot-based approaches
|
|
19
|
+
- **Session States** - Save and restore complete browser sessions with Edge profile context
|
|
20
|
+
- **52 Autonomous Tools** - Comprehensive autonomous browser capabilities
|
|
21
|
+
- **Autonomous Crawling** - BFS strategy with memory, guardrails, and reporting
|
|
22
|
+
- **DarbotLabsMemory System** - State tracking and deduplication with darbot-memory-mcp integration
|
|
23
|
+
- **HTML Reports** - Comprehensive crawl reports with screenshots and statistics
|
|
24
|
+
- **Multi-Platform** - Available as NPM package, VS Code extension, NuGet package, and browser extension
|
|
22
25
|
|
|
23
|
-
##
|
|
24
|
-
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
- **Node.js** 23 or newer
|
|
25
29
|
- **VS Code, Cursor, Windsurf, Claude Desktop** or any other MCP client
|
|
26
30
|
- **Microsoft Edge** (recommended) or Chrome/Firefox/WebKit
|
|
27
31
|
|
|
28
|
-
##
|
|
32
|
+
## Installation Options
|
|
29
33
|
|
|
30
34
|
Darbot Browser MCP is available in multiple package formats:
|
|
31
35
|
|
|
32
|
-
###
|
|
36
|
+
### NPM Package
|
|
37
|
+
|
|
33
38
|
```bash
|
|
34
39
|
# Install globally
|
|
35
40
|
npm install -g @darbotlabs/darbot-browser-mcp
|
|
@@ -38,44 +43,48 @@ npm install -g @darbotlabs/darbot-browser-mcp
|
|
|
38
43
|
npx @darbotlabs/darbot-browser-mcp@latest
|
|
39
44
|
```
|
|
40
45
|
|
|
41
|
-
###
|
|
46
|
+
### VS Code Extension
|
|
47
|
+
|
|
42
48
|
Install the **"Darbot Browser MCP"** extension from the VS Code marketplace or search for `darbotlabs.darbot-browser-mcp`.
|
|
43
49
|
|
|
44
50
|
The extension **automatically configures the MCP server** when installed - just enable MCP in VS Code settings and start the server!
|
|
45
51
|
|
|
46
|
-
[
|
|
52
|
+
[**Install VS Code Extension**](https://marketplace.visualstudio.com/items?itemName=darbotlabs.darbot-browser-mcp)
|
|
47
53
|
|
|
48
54
|
**Quick Setup:**
|
|
55
|
+
|
|
49
56
|
1. Install the extension from VS Code marketplace
|
|
50
57
|
2. The extension will automatically prompt you to enable MCP and configure the server
|
|
51
|
-
3. Use Command Palette: "Darbot Browser MCP: Start Server"
|
|
58
|
+
3. Use Command Palette: "Darbot Browser MCP: Start Server"
|
|
52
59
|
4. Start chatting with GitHub Copilot using browser automation tools!
|
|
53
60
|
|
|
54
|
-
###
|
|
61
|
+
### NuGet Package (.NET)
|
|
62
|
+
|
|
55
63
|
```bash
|
|
56
64
|
# Install for .NET projects
|
|
57
65
|
dotnet add package DarbotLabs.Browser.MCP
|
|
58
66
|
```
|
|
59
67
|
|
|
60
|
-
###
|
|
68
|
+
### Browser Extension
|
|
69
|
+
|
|
61
70
|
Install the **Browser MCP Bridge** extension from the Chrome Web Store to share browser tabs with the MCP server.
|
|
62
71
|
|
|
63
72
|
---
|
|
64
73
|
|
|
65
|
-
##
|
|
74
|
+
## Why Choose Darbot Browser MCP?
|
|
66
75
|
|
|
67
|
-
| Traditional Browser Automation |
|
|
68
|
-
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
76
|
+
| Traditional Browser Automation | Darbot Browser MCP |
|
|
77
|
+
| ----------------------------- | -------------------- |
|
|
78
|
+
| ERROR Pixel-based, brittle selectors | AI-friendly accessibility snapshots |
|
|
79
|
+
| ERROR Requires vision models | Pure structured data approach |
|
|
80
|
+
| ERROR Complex setup and maintenance | Simple NPM install, ready in seconds |
|
|
81
|
+
| ERROR Browser-specific code | Universal MCP protocol |
|
|
82
|
+
| ERROR No session management | Advanced autonomous session states |
|
|
74
83
|
|
|
75
|
-
###
|
|
84
|
+
### Complete Autonomous Toolkit (52 Tools)
|
|
76
85
|
|
|
77
86
|
<details>
|
|
78
|
-
<summary><b
|
|
87
|
+
<summary><b> Core Autonomous Operations</b></summary>
|
|
79
88
|
|
|
80
89
|
- `browser_navigate` - Autonomously navigate to any URL
|
|
81
90
|
- `browser_click` - Autonomous intelligent element clicking
|
|
@@ -86,12 +95,22 @@ Install the **Browser MCP Bridge** extension from the Chrome Web Store to share
|
|
|
86
95
|
</details>
|
|
87
96
|
|
|
88
97
|
<details>
|
|
89
|
-
<summary><b
|
|
98
|
+
<summary><b>Autonomous Crawling & Intelligence</b></summary>
|
|
90
99
|
|
|
91
|
-
- `
|
|
92
|
-
- `
|
|
93
|
-
-
|
|
94
|
-
-
|
|
100
|
+
- `browser_start_autonomous_crawl` - Start intelligent BFS crawling with memory and reporting
|
|
101
|
+
- `browser_configure_memory` - Configure memory system with darbot-memory-mcp integration
|
|
102
|
+
- Built-in guardrail system for safe autonomous operation
|
|
103
|
+
- Comprehensive HTML reporting with screenshots and statistics
|
|
104
|
+
|
|
105
|
+
</details>
|
|
106
|
+
|
|
107
|
+
<details>
|
|
108
|
+
<summary><b>Autonomous Session State Management</b></summary>
|
|
109
|
+
|
|
110
|
+
- `browser_save_profile` - Save complete browser session states with Edge profile context
|
|
111
|
+
- `browser_switch_profile` - Restore saved session states
|
|
112
|
+
- `browser_list_profiles` - List all saved session states with Edge/workspace context
|
|
113
|
+
- `browser_delete_profile` - Delete session states from storage
|
|
95
114
|
|
|
96
115
|
</details>
|
|
97
116
|
|
|
@@ -105,7 +124,7 @@ Install the **Browser MCP Bridge** extension from the Chrome Web Store to share
|
|
|
105
124
|
</details>
|
|
106
125
|
|
|
107
126
|
<details>
|
|
108
|
-
<summary><b
|
|
127
|
+
<summary><b>️ Autonomous Tab Management</b></summary>
|
|
109
128
|
|
|
110
129
|
- `browser_tab_new` - Autonomously open new tabs
|
|
111
130
|
- `browser_tab_list` - Autonomously get all open tabs
|
|
@@ -115,7 +134,7 @@ Install the **Browser MCP Bridge** extension from the Chrome Web Store to share
|
|
|
115
134
|
</details>
|
|
116
135
|
|
|
117
136
|
<details>
|
|
118
|
-
<summary><b
|
|
137
|
+
<summary><b>Autonomous Testing & Development</b></summary>
|
|
119
138
|
|
|
120
139
|
- `browser_generate_playwright_test` - Autonomously auto-generate test code
|
|
121
140
|
- `browser_console_messages` - Autonomous debug with console access
|
|
@@ -123,24 +142,26 @@ Install the **Browser MCP Bridge** extension from the Chrome Web Store to share
|
|
|
123
142
|
|
|
124
143
|
</details>
|
|
125
144
|
|
|
126
|
-
[
|
|
145
|
+
[**View All 52 tools**](#tools)
|
|
127
146
|
|
|
128
147
|
<!--
|
|
129
148
|
// Generate using:
|
|
130
149
|
node utils/generate-links.js
|
|
131
150
|
-->
|
|
132
151
|
|
|
133
|
-
##
|
|
152
|
+
## Getting Started
|
|
134
153
|
|
|
135
154
|
The fastest way to get started is with the VS Code extension, which automatically configures everything for you. For other clients, you'll need to manually configure the MCP server.
|
|
136
155
|
|
|
137
|
-
###
|
|
156
|
+
### **VS Code (Automatic Setup)**
|
|
157
|
+
|
|
138
158
|
1. Install the [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=darbotlabs.darbot-browser-mcp)
|
|
139
159
|
2. Extension auto-configures MCP settings
|
|
140
160
|
3. Start the server via Command Palette
|
|
141
161
|
4. Use with GitHub Copilot Chat!
|
|
142
162
|
|
|
143
|
-
###
|
|
163
|
+
### **Manual Configuration (Other Clients)**
|
|
164
|
+
|
|
144
165
|
For Claude Desktop, Cursor, Windsurf, etc., add this configuration:
|
|
145
166
|
|
|
146
167
|
```js
|
|
@@ -156,18 +177,17 @@ For Claude Desktop, Cursor, Windsurf, etc., add this configuration:
|
|
|
156
177
|
}
|
|
157
178
|
```
|
|
158
179
|
|
|
159
|
-
###
|
|
180
|
+
### Quick Install Buttons
|
|
160
181
|
|
|
161
|
-
|
|
182
|
+
**VS Code (Automatic):**
|
|
162
183
|
[<img src="https://img.shields.io/badge/VS_Code-Auto_Install_Extension-0098FF?style=for-the-badge&logo=visual-studio-code" alt="Install VS Code Extension">](https://marketplace.visualstudio.com/items?itemName=darbotlabs.darbot-browser-mcp)
|
|
163
184
|
|
|
164
|
-
|
|
185
|
+
**Manual Configuration:**
|
|
165
186
|
[<img src="https://img.shields.io/badge/VS_Code-Manual_Server_Config-0098FF?style=for-the-badge&logo=visual-studio-code" alt="Install in VS Code">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522browser%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540darbotlabs%252Fdarbot-browser-mcp%2540latest%2522%255D%257D) [<img src="https://img.shields.io/badge/VS_Code_Insiders-Manual_Server_Config-24bfa5?style=for-the-badge&logo=visual-studio-code" alt="Install in VS Code Insiders">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522browser%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540darbotlabs%252Fdarbot-browser-mcp%2540latest%2522%255D%257D)
|
|
166
187
|
|
|
167
|
-
|
|
168
188
|
<details><summary><b>Install in VS Code (Automatic Setup)</b></summary>
|
|
169
189
|
|
|
170
|
-
|
|
190
|
+
**Recommended: Use the VS Code Extension for automatic setup!**
|
|
171
191
|
|
|
172
192
|
The [Darbot Browser MCP Extension](https://marketplace.visualstudio.com/items?itemName=darbotlabs.darbot-browser-mcp) automatically handles all configuration:
|
|
173
193
|
|
|
@@ -177,6 +197,7 @@ The [Darbot Browser MCP Extension](https://marketplace.visualstudio.com/items?it
|
|
|
177
197
|
4. **Chat with Copilot**: Ask GitHub Copilot to "browse to example.com"
|
|
178
198
|
|
|
179
199
|
**Manual CLI installation (if you prefer):**
|
|
200
|
+
|
|
180
201
|
```bash
|
|
181
202
|
# For VS Code
|
|
182
203
|
code --add-mcp '{"name":"browser","command":"npx","args":["@darbotlabs/darbot-browser-mcp@latest"]}'
|
|
@@ -208,6 +229,7 @@ Go to `Cursor Settings` -> `MCP` -> `Add new MCP Server`. Name to your liking, u
|
|
|
208
229
|
}
|
|
209
230
|
}
|
|
210
231
|
```
|
|
232
|
+
|
|
211
233
|
</details>
|
|
212
234
|
|
|
213
235
|
<details>
|
|
@@ -227,6 +249,7 @@ Follow Windsuff MCP [documentation](https://docs.windsurf.com/windsurf/cascade/m
|
|
|
227
249
|
}
|
|
228
250
|
}
|
|
229
251
|
```
|
|
252
|
+
|
|
230
253
|
</details>
|
|
231
254
|
|
|
232
255
|
<details>
|
|
@@ -246,6 +269,7 @@ Follow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user),
|
|
|
246
269
|
}
|
|
247
270
|
}
|
|
248
271
|
```
|
|
272
|
+
|
|
249
273
|
</details>
|
|
250
274
|
|
|
251
275
|
<details>
|
|
@@ -256,6 +280,7 @@ Use the Claude Code CLI to add the Browser MCP server:
|
|
|
256
280
|
```bash
|
|
257
281
|
claude mcp add browser npx @darbotlabs/darbot-browser-mcp@latest
|
|
258
282
|
```
|
|
283
|
+
|
|
259
284
|
</details>
|
|
260
285
|
|
|
261
286
|
<details>
|
|
@@ -287,53 +312,69 @@ Browser MCP server supports following arguments. They can be provided in the JSO
|
|
|
287
312
|
|
|
288
313
|
```
|
|
289
314
|
> npx darbot-browser-mcp@latest --help
|
|
290
|
-
--allowed-origins <origins>
|
|
291
|
-
|
|
292
|
-
--blocked-origins <origins>
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
--block-service-workers
|
|
298
|
-
--browser <browser>
|
|
299
|
-
|
|
300
|
-
--browser-agent <endpoint>
|
|
301
|
-
--caps <caps>
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
--cdp-endpoint <endpoint>
|
|
305
|
-
--config <path>
|
|
306
|
-
--device <device>
|
|
307
|
-
--executable-path <path>
|
|
308
|
-
--headless
|
|
309
|
-
--host <host>
|
|
310
|
-
|
|
311
|
-
--ignore-https-errors
|
|
312
|
-
--isolated
|
|
313
|
-
|
|
314
|
-
--image-responses <mode>
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
--no-sandbox
|
|
319
|
-
|
|
320
|
-
--output-dir <path>
|
|
321
|
-
--port <port>
|
|
322
|
-
--proxy-bypass <bypass>
|
|
323
|
-
|
|
324
|
-
--proxy-server <proxy>
|
|
325
|
-
|
|
326
|
-
--save-trace
|
|
327
|
-
|
|
328
|
-
--storage-state <path>
|
|
329
|
-
|
|
330
|
-
--user-agent <ua string>
|
|
331
|
-
--user-data-dir <path>
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
315
|
+
--allowed-origins <origins> semicolon-separated list of origins to allow the
|
|
316
|
+
browser to request. Default is to allow all.
|
|
317
|
+
--blocked-origins <origins> semicolon-separated list of origins to block the
|
|
318
|
+
browser from requesting. Blocklist is evaluated
|
|
319
|
+
before allowlist. If used without the allowlist,
|
|
320
|
+
requests not matching the blocklist are still
|
|
321
|
+
allowed.
|
|
322
|
+
--block-service-workers block service workers
|
|
323
|
+
--browser <browser> browser or chrome channel to use, possible
|
|
324
|
+
values: msedge, chrome, firefox, webkit.
|
|
325
|
+
--browser-agent <endpoint> Use browser agent (experimental).
|
|
326
|
+
--caps <caps> comma-separated list of capabilities to enable,
|
|
327
|
+
possible values: tabs, pdf, history, wait,
|
|
328
|
+
files, install. Default is all.
|
|
329
|
+
--cdp-endpoint <endpoint> CDP endpoint to connect to.
|
|
330
|
+
--config <path> path to the configuration file.
|
|
331
|
+
--device <device> device to emulate, for example: "iPhone 15"
|
|
332
|
+
--executable-path <path> path to the browser executable.
|
|
333
|
+
--headless run browser in headless mode, headed by default
|
|
334
|
+
--host <host> host to bind server to. Default is localhost.
|
|
335
|
+
Use 0.0.0.0 to bind to all interfaces.
|
|
336
|
+
--ignore-https-errors ignore https errors
|
|
337
|
+
--isolated keep the browser profile in memory, do not save
|
|
338
|
+
it to disk.
|
|
339
|
+
--image-responses <mode> whether to send image responses to the client.
|
|
340
|
+
Can be "allow", "omit", or "auto". Defaults to
|
|
341
|
+
"auto", which sends images if the client can
|
|
342
|
+
display them.
|
|
343
|
+
--no-sandbox disable the sandbox for all process types that
|
|
344
|
+
are normally sandboxed.
|
|
345
|
+
--output-dir <path> path to the directory for output files.
|
|
346
|
+
--port <port> port to listen on for SSE transport.
|
|
347
|
+
--proxy-bypass <bypass> comma-separated domains to bypass proxy, for
|
|
348
|
+
example ".com,chromium.org,.domain.com"
|
|
349
|
+
--proxy-server <proxy> specify proxy server, for example
|
|
350
|
+
"http://myproxy:3128" or "socks5://myproxy:8080"
|
|
351
|
+
--save-trace Whether to save the Playwright Trace of the
|
|
352
|
+
session into the output directory.
|
|
353
|
+
--storage-state <path> path to the storage state file for isolated
|
|
354
|
+
sessions.
|
|
355
|
+
--user-agent <ua string> specify user agent string
|
|
356
|
+
--user-data-dir <path> path to the user data directory. If not
|
|
357
|
+
specified, a temporary directory will be
|
|
358
|
+
created.
|
|
359
|
+
--viewport-size <size> specify browser viewport size in pixels, for
|
|
360
|
+
example "1280, 720"
|
|
361
|
+
--vision Run server that uses screenshots (Aria snapshots
|
|
362
|
+
are used by default)
|
|
363
|
+
--edge-profile <name> Edge profile name to use (e.g., "Profile 1",
|
|
364
|
+
"Default"). This is recorded in saved session
|
|
365
|
+
states.
|
|
366
|
+
--edge-profile-email <email> Email associated with the Edge profile. This is
|
|
367
|
+
recorded in saved session states for context.
|
|
368
|
+
--auto-sign-in Auto sign in with work/school account (Edge
|
|
369
|
+
profile preference)
|
|
370
|
+
--profile-switching Enable automatic profile switching based on site
|
|
371
|
+
(Edge profile preference)
|
|
372
|
+
--intranet-switch Automatically switch to work profile for
|
|
373
|
+
intranet sites (Edge profile preference)
|
|
374
|
+
--ie-mode-switch Automatically switch profile for IE mode sites
|
|
375
|
+
(Edge profile preference)
|
|
376
|
+
--default-profile <name> Default Edge profile for external links (Edge
|
|
377
|
+
profile preference)
|
|
337
378
|
```
|
|
338
379
|
|
|
339
380
|
<!--- End of options generated section -->
|
|
@@ -467,6 +508,7 @@ npx @darbotlabs/darbot-browser-mcp@latest --config path/to/config.json
|
|
|
467
508
|
noImageResponses?: boolean;
|
|
468
509
|
}
|
|
469
510
|
```
|
|
511
|
+
|
|
470
512
|
</details>
|
|
471
513
|
|
|
472
514
|
### Standalone MCP server
|
|
@@ -478,13 +520,13 @@ run the MCP server from environment with the DISPLAY and pass the `--port` flag
|
|
|
478
520
|
npx @darbotlabs/darbot-browser-mcp@latest --port 8931
|
|
479
521
|
```
|
|
480
522
|
|
|
481
|
-
And then in MCP client config, set the `url` to the
|
|
523
|
+
And then in MCP client config, set the `url` to the MCP endpoint:
|
|
482
524
|
|
|
483
525
|
```js
|
|
484
526
|
{
|
|
485
527
|
"mcpServers": {
|
|
486
528
|
"playwright": {
|
|
487
|
-
"url": "http://localhost:8931/
|
|
529
|
+
"url": "http://localhost:8931/mcp"
|
|
488
530
|
}
|
|
489
531
|
}
|
|
490
532
|
}
|
|
@@ -511,6 +553,7 @@ You can build the Docker image yourself.
|
|
|
511
553
|
```
|
|
512
554
|
docker build -t mcr.microsoft.com/playwright/mcp .
|
|
513
555
|
```
|
|
556
|
+
|
|
514
557
|
</details>
|
|
515
558
|
|
|
516
559
|
<details>
|
|
@@ -533,6 +576,7 @@ http.createServer(async (req, res) => {
|
|
|
533
576
|
// ...
|
|
534
577
|
});
|
|
535
578
|
```
|
|
579
|
+
|
|
536
580
|
</details>
|
|
537
581
|
|
|
538
582
|
### Tools
|
|
@@ -569,16 +613,16 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
569
613
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
570
614
|
|
|
571
615
|
- **browser_snapshot**
|
|
572
|
-
- Title:
|
|
573
|
-
- Description:
|
|
616
|
+
- Title: Autonomous page snapshot
|
|
617
|
+
- Description: Autonomously capture a detailed accessibility snapshot of the current page for analysis. This provides structured page content better than a screenshot.
|
|
574
618
|
- Parameters: None
|
|
575
619
|
- Read-only: **true**
|
|
576
620
|
|
|
577
621
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
578
622
|
|
|
579
623
|
- **browser_click**
|
|
580
|
-
- Title:
|
|
581
|
-
- Description:
|
|
624
|
+
- Title: Autonomous click
|
|
625
|
+
- Description: Autonomously perform click interactions on web page elements
|
|
582
626
|
- Parameters:
|
|
583
627
|
- `element` (string): Human-readable element description used to obtain permission to interact with the element
|
|
584
628
|
- `ref` (string): Exact target element reference from the page snapshot
|
|
@@ -588,8 +632,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
588
632
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
589
633
|
|
|
590
634
|
- **browser_drag**
|
|
591
|
-
- Title:
|
|
592
|
-
- Description:
|
|
635
|
+
- Title: Autonomous drag & drop
|
|
636
|
+
- Description: Autonomously perform drag and drop operations between web page elements
|
|
593
637
|
- Parameters:
|
|
594
638
|
- `startElement` (string): Human-readable source element description used to obtain the permission to interact with the element
|
|
595
639
|
- `startRef` (string): Exact source element reference from the page snapshot
|
|
@@ -600,8 +644,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
600
644
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
601
645
|
|
|
602
646
|
- **browser_hover**
|
|
603
|
-
- Title:
|
|
604
|
-
- Description:
|
|
647
|
+
- Title: Autonomous hover
|
|
648
|
+
- Description: Autonomously hover over specific elements on the web page
|
|
605
649
|
- Parameters:
|
|
606
650
|
- `element` (string): Human-readable element description used to obtain permission to interact with the element
|
|
607
651
|
- `ref` (string): Exact target element reference from the page snapshot
|
|
@@ -610,8 +654,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
610
654
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
611
655
|
|
|
612
656
|
- **browser_type**
|
|
613
|
-
- Title:
|
|
614
|
-
- Description:
|
|
657
|
+
- Title: Autonomous text input
|
|
658
|
+
- Description: Autonomously type text into editable elements on the web page
|
|
615
659
|
- Parameters:
|
|
616
660
|
- `element` (string): Human-readable element description used to obtain permission to interact with the element
|
|
617
661
|
- `ref` (string): Exact target element reference from the page snapshot
|
|
@@ -623,8 +667,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
623
667
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
624
668
|
|
|
625
669
|
- **browser_select_option**
|
|
626
|
-
- Title:
|
|
627
|
-
- Description:
|
|
670
|
+
- Title: Autonomous dropdown selection
|
|
671
|
+
- Description: Autonomously select options in dropdown menus on the web page
|
|
628
672
|
- Parameters:
|
|
629
673
|
- `element` (string): Human-readable element description used to obtain permission to interact with the element
|
|
630
674
|
- `ref` (string): Exact target element reference from the page snapshot
|
|
@@ -634,8 +678,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
634
678
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
635
679
|
|
|
636
680
|
- **browser_press_key**
|
|
637
|
-
- Title:
|
|
638
|
-
- Description:
|
|
681
|
+
- Title: Autonomous keyboard input
|
|
682
|
+
- Description: Autonomously press keys on the keyboard to interact with the web page
|
|
639
683
|
- Parameters:
|
|
640
684
|
- `key` (string): Name of the key to press or a character to generate, such as `ArrowLeft` or `a`
|
|
641
685
|
- Read-only: **false**
|
|
@@ -643,8 +687,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
643
687
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
644
688
|
|
|
645
689
|
- **browser_wait_for**
|
|
646
|
-
- Title:
|
|
647
|
-
- Description:
|
|
690
|
+
- Title: Autonomous wait conditions
|
|
691
|
+
- Description: Autonomously wait for specific conditions: text appearance, text disappearance, or time duration
|
|
648
692
|
- Parameters:
|
|
649
693
|
- `time` (number, optional): The time to wait in seconds
|
|
650
694
|
- `text` (string, optional): The text to wait for
|
|
@@ -654,8 +698,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
654
698
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
655
699
|
|
|
656
700
|
- **browser_file_upload**
|
|
657
|
-
- Title:
|
|
658
|
-
- Description:
|
|
701
|
+
- Title: Autonomous file upload
|
|
702
|
+
- Description: Autonomously upload one or multiple files when a file chooser dialog appears
|
|
659
703
|
- Parameters:
|
|
660
704
|
- `paths` (array): The absolute paths to the files to upload. Can be a single file or multiple files.
|
|
661
705
|
- Read-only: **false**
|
|
@@ -663,8 +707,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
663
707
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
664
708
|
|
|
665
709
|
- **browser_handle_dialog**
|
|
666
|
-
- Title:
|
|
667
|
-
- Description:
|
|
710
|
+
- Title: Autonomous dialog handling
|
|
711
|
+
- Description: Autonomously handle browser dialog boxes (alerts, confirmations, prompts)
|
|
668
712
|
- Parameters:
|
|
669
713
|
- `accept` (boolean): Whether to accept the dialog.
|
|
670
714
|
- `promptText` (string, optional): The text of the prompt in case of a prompt dialog.
|
|
@@ -679,7 +723,7 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
679
723
|
|
|
680
724
|
- **browser_navigate**
|
|
681
725
|
- Title: Navigate to a URL
|
|
682
|
-
- Description:
|
|
726
|
+
- Description: Autonomously navigate the browser to any URL. Use this command to launch and direct the browser to websites.
|
|
683
727
|
- Parameters:
|
|
684
728
|
- `url` (string): The URL to navigate to
|
|
685
729
|
- Read-only: **false**
|
|
@@ -688,7 +732,7 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
688
732
|
|
|
689
733
|
- **browser_navigate_back**
|
|
690
734
|
- Title: Go back
|
|
691
|
-
- Description:
|
|
735
|
+
- Description: Autonomously navigate back to the previous page in browser history
|
|
692
736
|
- Parameters: None
|
|
693
737
|
- Read-only: **true**
|
|
694
738
|
|
|
@@ -696,7 +740,7 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
696
740
|
|
|
697
741
|
- **browser_navigate_forward**
|
|
698
742
|
- Title: Go forward
|
|
699
|
-
- Description:
|
|
743
|
+
- Description: Autonomously navigate forward to the next page in browser history
|
|
700
744
|
- Parameters: None
|
|
701
745
|
- Read-only: **true**
|
|
702
746
|
|
|
@@ -708,8 +752,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
708
752
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
709
753
|
|
|
710
754
|
- **browser_take_screenshot**
|
|
711
|
-
- Title:
|
|
712
|
-
- Description:
|
|
755
|
+
- Title: Autonomous screenshot capture
|
|
756
|
+
- Description: Autonomously take visual screenshots of the current page or specific elements. Use browser_snapshot for structured page data instead of visual screenshots.
|
|
713
757
|
- Parameters:
|
|
714
758
|
- `raw` (boolean, optional): Whether to return without compression (in PNG format). Default is false, which returns a JPEG image.
|
|
715
759
|
- `filename` (string, optional): File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified.
|
|
@@ -720,8 +764,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
720
764
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
721
765
|
|
|
722
766
|
- **browser_pdf_save**
|
|
723
|
-
- Title:
|
|
724
|
-
- Description:
|
|
767
|
+
- Title: Autonomous PDF generation
|
|
768
|
+
- Description: Autonomously save the current web page as a PDF document for archival or sharing
|
|
725
769
|
- Parameters:
|
|
726
770
|
- `filename` (string, optional): File name to save the pdf to. Defaults to `page-{timestamp}.pdf` if not specified.
|
|
727
771
|
- Read-only: **true**
|
|
@@ -729,16 +773,16 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
729
773
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
730
774
|
|
|
731
775
|
- **browser_network_requests**
|
|
732
|
-
- Title:
|
|
733
|
-
- Description:
|
|
776
|
+
- Title: Autonomous network monitoring
|
|
777
|
+
- Description: Autonomously capture and analyze all network requests made since page load for debugging
|
|
734
778
|
- Parameters: None
|
|
735
779
|
- Read-only: **true**
|
|
736
780
|
|
|
737
781
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
738
782
|
|
|
739
783
|
- **browser_console_messages**
|
|
740
|
-
- Title:
|
|
741
|
-
- Description:
|
|
784
|
+
- Title: Autonomous console monitoring
|
|
785
|
+
- Description: Autonomously retrieve all browser console messages for debugging and analysis
|
|
742
786
|
- Parameters: None
|
|
743
787
|
- Read-only: **true**
|
|
744
788
|
|
|
@@ -750,24 +794,24 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
750
794
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
751
795
|
|
|
752
796
|
- **browser_install**
|
|
753
|
-
- Title:
|
|
754
|
-
- Description:
|
|
797
|
+
- Title: Autonomous browser installation
|
|
798
|
+
- Description: Autonomously install the required browser engine specified in configuration. Use this to resolve browser installation errors.
|
|
755
799
|
- Parameters: None
|
|
756
800
|
- Read-only: **false**
|
|
757
801
|
|
|
758
802
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
759
803
|
|
|
760
804
|
- **browser_close**
|
|
761
|
-
- Title:
|
|
762
|
-
- Description:
|
|
805
|
+
- Title: Autonomous browser closure
|
|
806
|
+
- Description: Autonomously close the browser session and terminate all operations
|
|
763
807
|
- Parameters: None
|
|
764
808
|
- Read-only: **true**
|
|
765
809
|
|
|
766
810
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
767
811
|
|
|
768
812
|
- **browser_resize**
|
|
769
|
-
- Title:
|
|
770
|
-
- Description:
|
|
813
|
+
- Title: Autonomous window resizing
|
|
814
|
+
- Description: Autonomously resize the browser window to specific dimensions for optimal viewing
|
|
771
815
|
- Parameters:
|
|
772
816
|
- `width` (number): Width of the browser window
|
|
773
817
|
- `height` (number): Height of the browser window
|
|
@@ -781,16 +825,16 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
781
825
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
782
826
|
|
|
783
827
|
- **browser_tab_list**
|
|
784
|
-
- Title:
|
|
785
|
-
- Description:
|
|
828
|
+
- Title: Autonomous tab listing
|
|
829
|
+
- Description: Autonomously list all open browser tabs and their current status
|
|
786
830
|
- Parameters: None
|
|
787
831
|
- Read-only: **true**
|
|
788
832
|
|
|
789
833
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
790
834
|
|
|
791
835
|
- **browser_tab_new**
|
|
792
|
-
- Title:
|
|
793
|
-
- Description:
|
|
836
|
+
- Title: Autonomous new tab creation
|
|
837
|
+
- Description: Autonomously open a new browser tab, optionally navigating to a specified URL
|
|
794
838
|
- Parameters:
|
|
795
839
|
- `url` (string, optional): The URL to navigate to in the new tab. If not provided, the new tab will be blank.
|
|
796
840
|
- Read-only: **true**
|
|
@@ -798,8 +842,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
798
842
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
799
843
|
|
|
800
844
|
- **browser_tab_select**
|
|
801
|
-
- Title:
|
|
802
|
-
- Description:
|
|
845
|
+
- Title: Autonomous tab selection
|
|
846
|
+
- Description: Autonomously select and switch to a specific browser tab by index
|
|
803
847
|
- Parameters:
|
|
804
848
|
- `index` (number): The index of the tab to select
|
|
805
849
|
- Read-only: **true**
|
|
@@ -807,8 +851,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
807
851
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
808
852
|
|
|
809
853
|
- **browser_tab_close**
|
|
810
|
-
- Title:
|
|
811
|
-
- Description:
|
|
854
|
+
- Title: Autonomous tab closure
|
|
855
|
+
- Description: Autonomously close a browser tab by index, or close the current tab if no index specified
|
|
812
856
|
- Parameters:
|
|
813
857
|
- `index` (number, optional): The index of the tab to close. Closes current tab if not provided.
|
|
814
858
|
- Read-only: **false**
|
|
@@ -816,42 +860,42 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
816
860
|
</details>
|
|
817
861
|
|
|
818
862
|
<details>
|
|
819
|
-
<summary><b>
|
|
863
|
+
<summary><b>Session States</b></summary>
|
|
820
864
|
|
|
821
865
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
822
866
|
|
|
823
867
|
- **browser_save_profile**
|
|
824
|
-
- Title: Save
|
|
825
|
-
- Description: Save the current browser state
|
|
868
|
+
- Title: Save session state
|
|
869
|
+
- Description: Save the current browser session state (cookies, localStorage, URL) for later restoration. Includes Edge profile and VS Code workspace context.
|
|
826
870
|
- Parameters:
|
|
827
|
-
- `name` (string): Name for the
|
|
828
|
-
- `description` (string, optional): Optional description for the
|
|
871
|
+
- `name` (string): Name for the session state
|
|
872
|
+
- `description` (string, optional): Optional description for the session state
|
|
829
873
|
- Read-only: **false**
|
|
830
874
|
|
|
831
875
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
832
876
|
|
|
833
877
|
- **browser_switch_profile**
|
|
834
|
-
- Title:
|
|
835
|
-
- Description:
|
|
878
|
+
- Title: Restore session state
|
|
879
|
+
- Description: Restore a previously saved session state, including cookies, localStorage, and navigate to the saved URL
|
|
836
880
|
- Parameters:
|
|
837
|
-
- `name` (string): Name of the
|
|
881
|
+
- `name` (string): Name of the session state to restore
|
|
838
882
|
- Read-only: **false**
|
|
839
883
|
|
|
840
884
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
841
885
|
|
|
842
886
|
- **browser_list_profiles**
|
|
843
|
-
- Title: List
|
|
844
|
-
- Description: List all saved
|
|
887
|
+
- Title: List session states
|
|
888
|
+
- Description: List all saved Darbot session states with their Edge profile context and workspace information
|
|
845
889
|
- Parameters: None
|
|
846
890
|
- Read-only: **true**
|
|
847
891
|
|
|
848
892
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
849
893
|
|
|
850
894
|
- **browser_delete_profile**
|
|
851
|
-
- Title: Delete
|
|
852
|
-
- Description:
|
|
895
|
+
- Title: Delete session state
|
|
896
|
+
- Description: Permanently delete a saved session state from storage
|
|
853
897
|
- Parameters:
|
|
854
|
-
- `name` (string): Name of the
|
|
898
|
+
- `name` (string): Name of the session state to delete
|
|
855
899
|
- Read-only: **false**
|
|
856
900
|
|
|
857
901
|
</details>
|
|
@@ -862,8 +906,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
862
906
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
863
907
|
|
|
864
908
|
- **browser_generate_playwright_test**
|
|
865
|
-
- Title:
|
|
866
|
-
- Description:
|
|
909
|
+
- Title: Autonomous test generation
|
|
910
|
+
- Description: Autonomously generate Playwright test code for browser automation scenarios and user workflows
|
|
867
911
|
- Parameters:
|
|
868
912
|
- `name` (string): The name of the test
|
|
869
913
|
- `description` (string): The description of the test
|
|
@@ -931,8 +975,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
931
975
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
932
976
|
|
|
933
977
|
- **browser_press_key**
|
|
934
|
-
- Title:
|
|
935
|
-
- Description:
|
|
978
|
+
- Title: Autonomous keyboard input
|
|
979
|
+
- Description: Autonomously press keys on the keyboard to interact with the web page
|
|
936
980
|
- Parameters:
|
|
937
981
|
- `key` (string): Name of the key to press or a character to generate, such as `ArrowLeft` or `a`
|
|
938
982
|
- Read-only: **false**
|
|
@@ -940,8 +984,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
940
984
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
941
985
|
|
|
942
986
|
- **browser_wait_for**
|
|
943
|
-
- Title:
|
|
944
|
-
- Description:
|
|
987
|
+
- Title: Autonomous wait conditions
|
|
988
|
+
- Description: Autonomously wait for specific conditions: text appearance, text disappearance, or time duration
|
|
945
989
|
- Parameters:
|
|
946
990
|
- `time` (number, optional): The time to wait in seconds
|
|
947
991
|
- `text` (string, optional): The text to wait for
|
|
@@ -951,8 +995,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
951
995
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
952
996
|
|
|
953
997
|
- **browser_file_upload**
|
|
954
|
-
- Title:
|
|
955
|
-
- Description:
|
|
998
|
+
- Title: Autonomous file upload
|
|
999
|
+
- Description: Autonomously upload one or multiple files when a file chooser dialog appears
|
|
956
1000
|
- Parameters:
|
|
957
1001
|
- `paths` (array): The absolute paths to the files to upload. Can be a single file or multiple files.
|
|
958
1002
|
- Read-only: **false**
|
|
@@ -960,8 +1004,8 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
960
1004
|
<!-- NOTE: This has been generated via update-readme.js -->
|
|
961
1005
|
|
|
962
1006
|
- **browser_handle_dialog**
|
|
963
|
-
- Title:
|
|
964
|
-
- Description:
|
|
1007
|
+
- Title: Autonomous dialog handling
|
|
1008
|
+
- Description: Autonomously handle browser dialog boxes (alerts, confirmations, prompts)
|
|
965
1009
|
- Parameters:
|
|
966
1010
|
- `accept` (boolean): Whether to accept the dialog.
|
|
967
1011
|
- `promptText` (string, optional): The text of the prompt in case of a prompt dialog.
|
|
@@ -975,29 +1019,46 @@ X Y coordinate space, based on the provided screenshot.
|
|
|
975
1019
|
## Package Formats
|
|
976
1020
|
|
|
977
1021
|
### NPM Package
|
|
1022
|
+
|
|
978
1023
|
- **Name**: `@darbotlabs/darbot-browser-mcp`
|
|
979
1024
|
- **Installation**: `npm install -g @darbotlabs/darbot-browser-mcp`
|
|
980
1025
|
- **Usage**: `npx @darbotlabs/darbot-browser-mcp@latest`
|
|
981
1026
|
|
|
982
1027
|
### VS Code Extension
|
|
1028
|
+
|
|
983
1029
|
- **Name**: Darbot Browser MCP
|
|
984
1030
|
- **Publisher**: darbotlabs
|
|
985
1031
|
- **Installation**: Search for "Darbot Browser MCP" in VS Code Extensions marketplace
|
|
986
1032
|
- **Features**: Start/stop MCP server, status monitoring, configuration management
|
|
987
1033
|
|
|
988
1034
|
### NuGet Package (.NET)
|
|
1035
|
+
|
|
989
1036
|
- **Name**: `DarbotLabs.Browser.MCP`
|
|
990
1037
|
- **Installation**: `dotnet add package DarbotLabs.Browser.MCP`
|
|
991
1038
|
- **Usage**: Host the Browser MCP server in .NET applications
|
|
992
1039
|
|
|
993
1040
|
### Browser Extension
|
|
1041
|
+
|
|
994
1042
|
- **Name**: Browser MCP Bridge
|
|
995
1043
|
- **Installation**: Available in Chrome Web Store (coming soon)
|
|
996
1044
|
- **Features**: Share browser tabs with MCP server via CDP bridge
|
|
997
1045
|
|
|
998
1046
|
## Repository Structure
|
|
1047
|
+
|
|
999
1048
|
- `/vscode-extension/` - VS Code extension source
|
|
1000
1049
|
- `/dotnet/` - .NET NuGet package source
|
|
1001
1050
|
- `/extension/` - Browser extension source
|
|
1002
1051
|
- `/src/` - Main MCP server source code
|
|
1003
1052
|
- `/tests/` - Test suite
|
|
1053
|
+
|
|
1054
|
+
## Autonomous Features
|
|
1055
|
+
|
|
1056
|
+
For detailed information about the autonomous crawling capabilities, including memory system, BFS planner, guardrails, and reporting, see [AUTONOMOUS_FEATURES.md](./AUTONOMOUS_FEATURES.md).
|
|
1057
|
+
|
|
1058
|
+
**Key Autonomous Capabilities:**
|
|
1059
|
+
|
|
1060
|
+
- Intelligent BFS crawling with memory and state tracking
|
|
1061
|
+
- Darbot-memory-mcp integration for persistent memory
|
|
1062
|
+
- HTML report generation with screenshots and statistics
|
|
1063
|
+
- Configurable domain filtering and safety policies
|
|
1064
|
+
|