@roxybrowser/openapi 1.0.4-beta.0 → 1.0.4-beta.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.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # RoxyBrowser MCP Server
2
2
 
3
+ [English](README.md) | [中文](README_CN.md)
4
+
3
5
  A Model Context Protocol (MCP) server for [RoxyBrowser](https://www.roxybrowser.com/) that provides AI assistants with the ability to manage browser instances and obtain Chrome DevTools Protocol (CDP) WebSocket endpoints for automation.
4
6
 
5
7
  ## Features
@@ -7,7 +9,7 @@ A Model Context Protocol (MCP) server for [RoxyBrowser](https://www.roxybrowser.
7
9
  - 🚀 **Browser Management**: Open and close RoxyBrowser instances programmatically
8
10
  - 🔗 **CDP Integration**: Get WebSocket endpoints for Chrome DevTools Protocol automation
9
11
  - 🤖 **AI-Friendly**: Seamlessly integrates with AI assistants through MCP
10
- - 🎯 **Playwright Ready**: Works perfectly with [@playwright/mcp](https://github.com/microsoft/playwright-mcp)
12
+ - 🎯 **Playwright Ready**: Works perfectly with [PlayRoxy MCP](https://github.com/roxybrowserlabs/playroxy-mcp) (RoxyBrowser's customized Playwright MCP)
11
13
  - 📊 **Workspace Support**: Manage browsers across different workspaces and projects
12
14
  - 🛠️ **Browser Creation**: Create browsers with layered complexity (Simple, Standard, Advanced)
13
15
  - 🌐 **Proxy Management**: Built-in proxy validation, testing, and configuration tools
@@ -19,193 +21,66 @@ A Model Context Protocol (MCP) server for [RoxyBrowser](https://www.roxybrowser.
19
21
 
20
22
  1. **RoxyBrowser** installed and running
21
23
  2. **RoxyBrowser API** enabled in settings:
22
- - Open RoxyBrowser → API → API配置
23
- - Set "启用状态" to "启用" (Enable)
24
+ - Open RoxyBrowser → API
25
+ - Set "API Status" to "Enable"
24
26
  - Copy your API Key
25
27
  - Note the API port (default: 50000)
26
28
 
27
- ### Installation
28
-
29
- ```bash
30
- # Clone or download the roxy-browser-mcp project
31
- cd roxy-browser-mcp
32
-
33
- # Install dependencies
34
- npm install
35
-
36
- # Build the TypeScript project
37
- npm run build
38
- ```
39
-
40
- ### Configuration
41
-
42
- Set up your environment variables:
43
-
44
- ```bash
45
- # Required: Your RoxyBrowser API Key
46
- export ROXY_API_KEY="your_api_key_here"
47
-
48
- # Optional: API host (default: http://127.0.0.1:50000)
49
- export ROXY_API_HOST="http://127.0.0.1:50000"
50
-
51
- # Optional: Request timeout in milliseconds (default: 30000)
52
- export ROXY_TIMEOUT="30000"
53
- ```
54
-
55
29
  ### MCP Client Configuration
56
30
 
57
- Add the server to your MCP client configuration:
31
+ Add both RoxyBrowser OpenAPI and PlayRoxy MCP to your MCP client configuration:
58
32
 
59
33
  **Claude Desktop / VS Code / Cursor:**
60
34
  ```json
61
35
  {
62
36
  "mcpServers": {
63
- "roxy-browser": {
64
- "command": "node",
65
- "args": ["/path/to/roxy-browser-mcp/lib/index.js"],
37
+ "roxybrowser-openapi": {
38
+ "command": "npx",
39
+ "args": ["@roxybrowser/openapi@latest"],
66
40
  "env": {
67
- "ROXY_API_KEY": "your_api_key_here",
41
+ "ROXY_API_KEY": "YOUR API KEY",
68
42
  "ROXY_API_HOST": "http://127.0.0.1:50000"
69
43
  }
44
+ },
45
+ "roxybrowser-playwright-mcp": {
46
+ "command": "npx",
47
+ "args": ["@roxybrowser/playwright-mcp@latest"]
70
48
  }
71
49
  }
72
50
  }
73
51
  ```
74
52
 
75
- ## Usage
76
-
77
- ### Available Tools
78
-
79
- #### Browser Management Tools
80
-
81
- ##### 1. `roxy_list_workspaces`
82
- Get all available workspaces and their projects.
83
-
84
- **Parameters:**
85
- - `pageIndex` (optional): Page number for pagination (default: 1)
86
- - `pageSize` (optional): Items per page (default: 15)
87
-
88
- **Example:**
89
- ```
90
- AI: "List all RoxyBrowser workspaces"
91
- ```
92
-
93
- ##### 2. `roxy_list_browsers`
94
- Get browsers in a specific workspace/project.
95
-
96
- **Parameters:**
97
- - `workspaceId` (required): Workspace ID
98
- - `projectIds` (optional): Comma-separated project IDs
99
- - `windowName` (optional): Filter by browser window name
100
- - `pageIndex` (optional): Page number (default: 1)
101
- - `pageSize` (optional): Items per page (default: 15)
102
-
103
- **Example:**
104
- ```
105
- AI: "List browsers in workspace 1 project 5"
106
- ```
107
-
108
- ##### 3. `roxy_open_browsers` ⭐
109
- Open multiple browsers and get their CDP WebSocket endpoints.
110
-
111
- **Parameters:**
112
- - `workspaceId` (required): Workspace ID
113
- - `dirIds` (required): Array of browser directory IDs
114
- - `args` (optional): Browser startup arguments
115
-
116
- **Example:**
117
- ```
118
- AI: "Open 5 browsers from workspace 1 with IDs: abc123, def456, ghi789, jkl012, mno345"
119
- ```
120
-
121
- **Returns:**
122
- - CDP WebSocket URLs for each browser
123
- - HTTP endpoints
124
- - Process IDs
125
- - Ready-to-use playwright-mcp commands
126
-
127
- ##### 4. `roxy_close_browsers`
128
- Close multiple browsers by their directory IDs.
129
-
130
- **Parameters:**
131
- - `dirIds` (required): Array of browser directory IDs to close
132
-
133
- **Example:**
134
- ```
135
- AI: "Close browsers with IDs: abc123, def456, ghi789"
136
- ```
137
-
138
- #### Browser Creation Tools 🆕
139
-
140
- ##### 5. `roxy_create_browser_simple`
141
- Create a browser with simple configuration - perfect for quick setup.
142
-
143
- **Parameters:**
144
- - `workspaceId` (required): Workspace ID
145
- - `windowName` (optional): Browser window name
146
- - `projectId` (optional): Project ID
147
- - `proxyHost` (optional): Proxy server host
148
- - `proxyPort` (optional): Proxy server port
149
- - `proxyUserName` (optional): Proxy username
150
- - `proxyPassword` (optional): Proxy password
151
- - `proxyType` (optional): HTTP, HTTPS, or SOCKS5
152
-
153
- **Example:**
154
- ```
155
- AI: "Create a simple browser in workspace 1 with proxy 192.168.1.100:8080"
156
- ```
157
-
158
- ##### 6. `roxy_create_browser_standard`
159
- Create a browser with standard configuration - covers most use cases.
160
-
161
- **Parameters:**
162
- - `workspaceId` (required): Workspace ID
163
- - `windowName` (optional): Browser window name
164
- - `projectId` (optional): Project ID
165
- - `os` (optional): Windows, macOS, Linux, IOS, Android
166
- - `osVersion` (optional): OS version
167
- - `coreVersion` (optional): Browser core version
168
- - `proxyInfo` (optional): Complete proxy configuration object
169
- - `openWidth` (optional): Window width
170
- - `openHeight` (optional): Window height
171
- - `language` (optional): Browser language
172
- - `timeZone` (optional): Browser timezone
173
- - `defaultOpenUrl` (optional): URLs to open by default
174
-
175
- **Example:**
176
- ```
177
- AI: "Create a standard Windows 11 browser with 1920x1080 resolution and SOCKS5 proxy"
178
- ```
53
+ **Note:** Replace `YOUR API KEY` and `YOUR API HOST` with your actual RoxyBrowser credentials.
179
54
 
180
- ##### 7. `roxy_create_browser_advanced`
181
- Create a browser with complete configuration control - for expert users.
55
+ ## Available Tools
182
56
 
183
- **Parameters:**
184
- - All standard parameters plus:
185
- - `userAgent` (optional): Custom user agent
186
- - `searchEngine` (optional): Default search engine
187
- - `labelIds` (optional): Label IDs to assign
188
- - `proxyInfo` (optional): Full proxy configuration
189
- - `fingerInfo` (optional): Complete fingerprint configuration
190
- - `windowPlatformList` (optional): Platform account information
57
+ ### Workspace & Project Management
58
+ - `roxy_list_workspaces` - List all available workspaces and their projects
59
+ - `roxy_list_accounts` - Get platform accounts and credentials in a workspace
60
+ - `roxy_list_labels` - Get browser labels/tags for organization
191
61
 
192
- **Example:**
193
- ```
194
- AI: "Create an advanced browser with custom fingerprint settings and multiple platform accounts"
195
- ```
62
+ ### Browser Management
63
+ - `roxy_list_browsers` - List browsers in a workspace/project with filtering
64
+ - `roxy_get_browser_detail` - Get detailed browser information and configuration
65
+ - `roxy_open_browsers` - Open browsers and get CDP WebSocket endpoints for automation
66
+ - `roxy_close_browsers` - Close running browsers (does NOT free quota)
67
+ - `roxy_delete_browsers` - Delete browser profiles permanently (frees quota)
68
+ - `roxy_get_connection_info` - Get CDP endpoints and PIDs for opened browsers
196
69
 
197
- #### Proxy Management Tools 🆕
70
+ ### Browser Creation
71
+ - `roxy_create_browser_simple` - Create browser with basic configuration
72
+ - `roxy_create_browser_standard` - Create browser with common settings (OS, proxy, window size, etc.)
73
+ - `roxy_create_browser_advanced` - Create browser with full control (fingerprint, platform accounts, etc.)
198
74
 
199
- ##### 8. `roxy_validate_proxy_config`
200
- Validate proxy configuration before using it.
75
+ ### Browser Maintenance
76
+ - `roxy_update_browser` - Update existing browser configuration
77
+ - `roxy_random_fingerprint` - Randomize browser fingerprint
78
+ - `roxy_clear_local_cache` - Clear local browser cache
79
+ - `roxy_clear_server_cache` - Clear server-side browser cache
201
80
 
202
- **Parameters:**
203
- - `proxyInfo` (required): Proxy configuration to validate
204
-
205
- **Example:**
206
- ```
207
- AI: "Validate this proxy configuration before creating browsers"
208
- ```
81
+ ### Utilities
82
+ - `roxy_validate_proxy_config` - Validate proxy configuration
83
+ - `roxy_system_diagnostics` - System health check and diagnostics
209
84
 
210
85
  ## Complete Workflow Examples
211
86
 
@@ -220,14 +95,11 @@ AI: "Validate this proxy configuration before creating browsers"
220
95
  → Uses roxy_open_browsers with the returned ID
221
96
  → Returns CDP WebSocket URL like: ws://127.0.0.1:52314/devtools/browser/xxx
222
97
 
223
- 3. AI: "Connect to the browser and automate tasks"
224
- → Uses playwright-mcp with --cdp-endpoint flag
225
- npx @playwright/mcp@latest --cdp-endpoint "ws://127.0.0.1:52314/devtools/browser/xxx"
226
-
227
- 4. AI: "Navigate to gmail.com, login, and send emails"
228
- → Uses playwright-mcp tools: browser_navigate, browser_type, browser_click, etc.
98
+ 3. AI: "Navigate to gmail.com, login, and send emails"
99
+ → Uses PlayRoxy MCP tools automatically (browser_navigate, browser_type, browser_click, etc.)
100
+ PlayRoxy MCP connects to the opened browser via CDP endpoint
229
101
 
230
- 5. AI: "Close the browser when done"
102
+ 4. AI: "Close the browser when done"
231
103
  → Uses roxy_close_browsers
232
104
  ```
233
105
 
@@ -243,20 +115,23 @@ AI: "Validate this proxy configuration before creating browsers"
243
115
  → Returns configured browser ID
244
116
 
245
117
  3. AI: "Open the browser and start automation"
246
- → Uses roxy_open_browsers → playwright-mcp integration
247
- Begin automated tasks
118
+ → Uses roxy_open_browsers → gets CDP endpoint
119
+ PlayRoxy MCP automatically connects and begins automation tasks
248
120
  ```
249
121
 
250
122
  ## Integration with Playwright MCP
251
123
 
252
- RoxyBrowser MCP is designed to work seamlessly with [@playwright/mcp](https://github.com/microsoft/playwright-mcp):
124
+ RoxyBrowser MCP is designed to work seamlessly with [PlayRoxy MCP](https://github.com/roxybrowserlabs/playroxy-mcp), our customized Playwright MCP server built specifically for RoxyBrowser compatibility.
253
125
 
254
- ```bash
255
- # 1. Use RoxyBrowser MCP to open browsers and get WebSocket URLs
256
- # 2. Start playwright-mcp with the WebSocket endpoint:
126
+ **PlayRoxy MCP** is based on [Microsoft's Playwright MCP](https://github.com/microsoft/playwright-mcp) with enhancements for RoxyBrowser's fingerprint browser features.
257
127
 
258
- npx @playwright/mcp@latest --cdp-endpoint "ws://127.0.0.1:52314/devtools/browser/xxx"
259
- ```
128
+ ### Workflow
129
+
130
+ 1. Use RoxyBrowser OpenAPI MCP to create and open browsers
131
+ 2. Get CDP WebSocket endpoints from opened browsers
132
+ 3. Use PlayRoxy MCP to automate browser tasks with full Playwright capabilities
133
+
134
+ Both servers work together seamlessly when configured in your MCP client (see configuration above).
260
135
 
261
136
  ## Development
262
137
 
@@ -266,11 +141,35 @@ npm run dev
266
141
 
267
142
  # Build for production
268
143
  npm run build
269
-
270
- # Clean build artifacts
271
- npm run clean
272
144
  ```
273
145
 
146
+ ## API Reference
147
+
148
+ ### Environment Variables
149
+
150
+ | Variable | Required | Default | Description |
151
+ |----------|----------|---------|-------------|
152
+ | `ROXY_API_KEY` | ✅ Yes | - | API key from RoxyBrowser settings |
153
+ | `ROXY_API_HOST` | ✅ Yes | `http://127.0.0.1:50000` | RoxyBrowser API endpoint |
154
+ | `ROXY_TIMEOUT` | No | `30000` | Request timeout in milliseconds |
155
+
156
+ ### Error Codes
157
+
158
+ | Code | Name | Description |
159
+ |------|------|-------------|
160
+ | **0** | SUCCESS | Operation completed successfully |
161
+ | **101** | INSUFFICIENT_QUOTA | Insufficient profiles quota |
162
+ | **400** | INVALID_PARAMS | Invalid parameters provided |
163
+ | **401** | UNAUTHORIZED | Authentication failed - invalid API key |
164
+ | **403** | FORBIDDEN | Access denied - insufficient permissions |
165
+ | **404** | NOT_FOUND | Resource not found |
166
+ | **408** | TIMEOUT | Request timeout |
167
+ | **409** | CONFLICT | Resource conflict or insufficient quota |
168
+ | **500** | SERVER_ERROR | Internal server error |
169
+ | **502** | BAD_GATEWAY | Bad gateway - proxy or network issue |
170
+ | **503** | SERVICE_UNAVAILABLE | Service temporarily unavailable |
171
+ | **504** | GATEWAY_TIMEOUT | Gateway timeout |
172
+
274
173
  ## Troubleshooting
275
174
 
276
175
  ### Connection Issues
@@ -279,10 +178,10 @@ npm run clean
279
178
 
280
179
  Check:
281
180
  1. RoxyBrowser is running
282
- 2. API is enabled: RoxyBrowser → API → API配置 启用状态 = 启用
283
- 3. Correct API key: Copy from RoxyBrowser → API → API配置 → API Key
284
- 4. Correct port: Check RoxyBrowser → API → API配置 端口 (default: 50000)
285
- 5. No firewall blocking localhost:50000
181
+ 2. API is enabled: RoxyBrowser → API → API Status = Enable
182
+ 3. Correct API key: Copy from RoxyBrowser → API → API Key
183
+ 4. Correct port: Check RoxyBrowser → API → Port Settings (default: 50000)
184
+ 5. No firewall blocking http://127.0.0.1:50000
286
185
 
287
186
  ### Authentication Issues
288
187
 
@@ -295,29 +194,20 @@ export ROXY_API_KEY="your_actual_api_key_from_roxybrowser"
295
194
 
296
195
  ### Browser Opening Issues
297
196
 
197
+ **Error: "Insufficient profiles quota" (Code 101 or 409)**
198
+
199
+ Solutions:
200
+ - Purchase more profiles in RoxyBrowser Billing Center
201
+ - **Delete** unused browser profiles using `roxy_delete_browsers` (closing alone does NOT free quota)
202
+ - Upgrade your subscription plan
203
+ - Check current quota usage in workspace settings
204
+
298
205
  **Some browsers fail to open:**
299
206
 
300
207
  - Check that the browser profiles exist and are not corrupted
301
208
  - Ensure sufficient system resources (RAM, CPU)
302
209
  - Verify the dirIds are valid (use `roxy_list_browsers` first)
303
-
304
- ## API Reference
305
-
306
- ### Environment Variables
307
-
308
- | Variable | Required | Default | Description |
309
- |----------|----------|---------|-------------|
310
- | `ROXY_API_KEY` | ✅ Yes | - | API key from RoxyBrowser settings |
311
- | `ROXY_API_HOST` | No | `http://127.0.0.1:50000` | RoxyBrowser API endpoint |
312
- | `ROXY_TIMEOUT` | No | `30000` | Request timeout in milliseconds |
313
-
314
- ### Error Codes
315
-
316
- | Code | Meaning | Action |
317
- |------|---------|---------|
318
- | 0 | Success | - |
319
- | 408 | Timeout | Check network connection |
320
- | 500 | Server Error | Check RoxyBrowser logs |
210
+ - Run `roxy_system_diagnostics` for comprehensive health check
321
211
 
322
212
  ## License
323
213
 
@@ -329,4 +219,4 @@ MIT License - see LICENSE file for details.
329
219
  2. Create a feature branch
330
220
  3. Make your changes
331
221
  4. Add tests if applicable
332
- 5. Submit a pull request
222
+ 5. Submit a pull request
@@ -1 +1 @@
1
- {"version":3,"file":"browser-creator.d.ts","sourceRoot":"","sources":["../../src/browser/browser-creator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAG3B,SAAS,EAMV,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,GAAG,mBAAmB;IA2BhF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB;IAsCpF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB;IAIpF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAanE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,SAAS,EAAE,SAAS,EAAE,GACrB,mBAAmB,EAAE;IAWxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA+BxF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqBjC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB;IAkFtE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;QACtD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpD;CAeF"}
1
+ {"version":3,"file":"browser-creator.d.ts","sourceRoot":"","sources":["../../src/browser/browser-creator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAG3B,SAAS,EAOV,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,GAAG,mBAAmB;IA2BhF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB;IAsCpF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB;IAIpF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAanE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,SAAS,EAAE,SAAS,EAAE,GACrB,mBAAmB,EAAE;IAWxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA+BxF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqBjC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB;IAkFtE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;QACtD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpD;CAeF"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Handles browser creation with different complexity levels and configuration building
5
5
  */
6
+ import { LATEST_CORE_VERSION, } from '../types.js';
6
7
  export class BrowserCreator {
7
8
  /**
8
9
  * Convert simple parameters to full browser configuration
@@ -171,7 +172,7 @@ export class BrowserCreator {
171
172
  const defaultConfig = {
172
173
  os: 'Windows',
173
174
  osVersion: '11',
174
- coreVersion: '125',
175
+ coreVersion: LATEST_CORE_VERSION,
175
176
  searchEngine: 'Google',
176
177
  // Default fingerprint settings
177
178
  fingerInfo: {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-creator.js","sourceRoot":"","sources":["../../src/browser/browser-creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-creator.js","sourceRoot":"","sources":["../../src/browser/browser-creator.ts"],"names":[],"mappings":"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"}