@vibebrowser/mcp 0.2.2 → 0.2.3
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 +18 -10
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/connection.d.ts +31 -9
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +71 -13
- package/dist/connection.js.map +1 -1
- package/dist/relay.d.ts +10 -0
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +70 -12
- package/dist/relay.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +48 -5
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -227,23 +227,31 @@ Add to your Codex configuration:
|
|
|
227
227
|
|
|
228
228
|
## How It Works
|
|
229
229
|
|
|
230
|
+
Default local mode (no flags):
|
|
231
|
+
|
|
230
232
|
```
|
|
231
|
-
|
|
232
|
-
│
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
Claude / Cursor / VS Code (stdio)
|
|
234
|
+
│
|
|
235
|
+
▼
|
|
236
|
+
[vibebrowser-mcp]
|
|
237
|
+
│ ws://127.0.0.1:19888
|
|
238
|
+
▼
|
|
239
|
+
Local Relay (auto-spawned)
|
|
240
|
+
│ ws://127.0.0.1:19889
|
|
241
|
+
▼
|
|
242
|
+
Vibe Extension (Chrome)
|
|
235
243
|
```
|
|
236
244
|
|
|
237
|
-
1. AI applications connect via MCP
|
|
238
|
-
2.
|
|
239
|
-
3. The
|
|
240
|
-
4. Results flow back to the
|
|
245
|
+
1. AI applications connect via MCP over stdio
|
|
246
|
+
2. `vibebrowser-mcp` (or `vibe-mcp`) connects to the local relay on port `19888`
|
|
247
|
+
3. The relay forwards commands to the extension on port `19889`
|
|
248
|
+
4. Results flow back to the agent
|
|
241
249
|
|
|
242
250
|
### Multi-Agent Mode
|
|
243
251
|
|
|
244
252
|
When multiple agents connect, Vibe MCP automatically spawns a relay daemon:
|
|
245
253
|
|
|
246
|
-
- First agent starts the relay (listens on ports
|
|
254
|
+
- First agent starts the relay (listens on ports 19888 and 19889)
|
|
247
255
|
- Additional agents connect to the relay as clients
|
|
248
256
|
- Relay multiplexes all agent requests to the single extension connection
|
|
249
257
|
- Each agent receives only its own responses
|
|
@@ -254,7 +262,7 @@ When multiple agents connect, Vibe MCP automatically spawns a relay daemon:
|
|
|
254
262
|
npx @vibebrowser/mcp --help
|
|
255
263
|
|
|
256
264
|
Options:
|
|
257
|
-
-p, --port <number> WebSocket port for
|
|
265
|
+
-p, --port <number> WebSocket port for local relay (agent) connection (default: 19888)
|
|
258
266
|
-d, --debug Enable debug logging
|
|
259
267
|
-h, --help Show help
|
|
260
268
|
```
|
package/dist/cli.d.ts
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* Vibe MCP Server - CLI Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Command-line interface for starting the MCP server.
|
|
6
|
+
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* Local (default): connects to local relay daemon on localhost
|
|
9
|
+
* Remote (--remote <uuid>): connects to public relay at relay.api.vibebrowser.app
|
|
6
10
|
*/
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
|
package/dist/cli.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* Vibe MCP Server - CLI Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Command-line interface for starting the MCP server.
|
|
6
|
+
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* Local (default): connects to local relay daemon on localhost
|
|
9
|
+
* Remote (--remote <uuid>): connects to public relay at relay.api.vibebrowser.app
|
|
6
10
|
*/
|
|
7
11
|
import { program } from 'commander';
|
|
8
12
|
import { createServer } from './server.js';
|
|
@@ -11,8 +15,10 @@ program
|
|
|
11
15
|
.name('vibe-mcp')
|
|
12
16
|
.description('MCP server for Vibe AI Browser - allows AI agents to control your browser')
|
|
13
17
|
.version('0.1.0')
|
|
14
|
-
.option('-p, --port <number>', 'WebSocket port for
|
|
18
|
+
.option('-p, --port <number>', 'WebSocket port for local relay (agent) connection', String(DEFAULT_WS_PORT))
|
|
15
19
|
.option('-d, --debug', 'Enable debug logging', false)
|
|
20
|
+
.option('-r, --remote <uuid>', 'Connect to a remote extension via public relay (provide the extension UUID)')
|
|
21
|
+
.option('--relay-url <url>', 'Custom relay server URL (default: wss://relay.api.vibebrowser.app)')
|
|
16
22
|
.action(async (options) => {
|
|
17
23
|
const port = parseInt(options.port, 10);
|
|
18
24
|
if (isNaN(port) || port < 1024 || port > 65535) {
|
|
@@ -23,6 +29,8 @@ program
|
|
|
23
29
|
await createServer({
|
|
24
30
|
port,
|
|
25
31
|
debug: options.debug,
|
|
32
|
+
remoteUuid: options.remote,
|
|
33
|
+
remoteRelayUrl: options.relayUrl,
|
|
26
34
|
});
|
|
27
35
|
}
|
|
28
36
|
catch (error) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,2EAA2E,CAAC;KACxF,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,mDAAmD,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;KAC3G,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,CAAC;KACpD,MAAM,CAAC,qBAAqB,EAAE,6EAA6E,CAAC;KAC5G,MAAM,CAAC,mBAAmB,EAAE,oEAAoE,CAAC;KACjG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,CAAC;YACjB,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,cAAc,EAAE,OAAO,CAAC,QAAQ;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -2,14 +2,23 @@
|
|
|
2
2
|
* Vibe MCP Server - Relay Connection
|
|
3
3
|
*
|
|
4
4
|
* Connects to the relay server as a WebSocket client.
|
|
5
|
-
*
|
|
5
|
+
* Supports two modes:
|
|
6
|
+
* - Local: connects to local relay daemon at ws://127.0.0.1:19888
|
|
7
|
+
* - Remote: connects to public relay at wss://relay.api.vibebrowser.app/<uuid>
|
|
6
8
|
*/
|
|
7
9
|
import { EventEmitter } from 'events';
|
|
8
10
|
import { ConnectionStatus, ToolDefinition, ToolResult, SnapshotResult } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Remote relay configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface RemoteConfig {
|
|
15
|
+
uuid: string;
|
|
16
|
+
relayUrl?: string;
|
|
17
|
+
}
|
|
9
18
|
/**
|
|
10
19
|
* Relay connection manager
|
|
11
20
|
*
|
|
12
|
-
* Connects to
|
|
21
|
+
* Connects to a relay server (local or remote) to reach the extension.
|
|
13
22
|
*/
|
|
14
23
|
export declare class ExtensionConnection extends EventEmitter {
|
|
15
24
|
private ws;
|
|
@@ -21,22 +30,30 @@ export declare class ExtensionConnection extends EventEmitter {
|
|
|
21
30
|
private tools;
|
|
22
31
|
private reconnectTimer;
|
|
23
32
|
private extensionConnected;
|
|
24
|
-
|
|
33
|
+
private remoteConfig;
|
|
34
|
+
constructor(port?: number, debug?: boolean, remote?: RemoteConfig);
|
|
25
35
|
/**
|
|
26
|
-
* Start connection to relay server
|
|
27
|
-
*
|
|
36
|
+
* Start connection to relay server.
|
|
37
|
+
* In local mode: spawns relay daemon if needed, then connects.
|
|
38
|
+
* In remote mode: connects directly to public relay.
|
|
28
39
|
*/
|
|
29
40
|
start(): Promise<void>;
|
|
30
41
|
/**
|
|
31
|
-
* Spawn relay daemon as detached process
|
|
42
|
+
* Spawn relay daemon as detached process (local mode only)
|
|
32
43
|
*/
|
|
33
44
|
private spawnRelay;
|
|
34
45
|
/**
|
|
35
|
-
* Wait for relay to become available
|
|
46
|
+
* Wait for local relay to become available
|
|
36
47
|
*/
|
|
37
48
|
private waitForRelay;
|
|
38
49
|
/**
|
|
39
|
-
*
|
|
50
|
+
* Get the WebSocket URL for connection.
|
|
51
|
+
* Local mode: ws://127.0.0.1:<port>
|
|
52
|
+
* Remote mode: wss://relay.api.vibebrowser.app/<uuid>
|
|
53
|
+
*/
|
|
54
|
+
private getRelayUrl;
|
|
55
|
+
/**
|
|
56
|
+
* Connect to the relay server (local or remote)
|
|
40
57
|
*/
|
|
41
58
|
private connectToRelay;
|
|
42
59
|
/**
|
|
@@ -58,7 +75,12 @@ export declare class ExtensionConnection extends EventEmitter {
|
|
|
58
75
|
/**
|
|
59
76
|
* Refresh available tools from extension
|
|
60
77
|
*/
|
|
61
|
-
refreshTools(): Promise<ToolDefinition[]>;
|
|
78
|
+
refreshTools(timeoutMs?: number): Promise<ToolDefinition[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Wait briefly for a tools update event without forcing a request.
|
|
81
|
+
* This keeps MCP startup responsive when extension announces tools asynchronously.
|
|
82
|
+
*/
|
|
83
|
+
waitForToolsUpdate(timeoutMs?: number): Promise<ToolDefinition[]>;
|
|
62
84
|
/**
|
|
63
85
|
* Get cached list of available tools
|
|
64
86
|
*/
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EACL,gBAAgB,EAGhB,cAAc,EACd,UAAU,EACV,cAAc,EACf,MAAM,YAAY,CAAC;AAmBpB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,YAAY,CAA6B;gBAErC,IAAI,GAAE,MAAmB,EAAE,KAAK,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,YAAY;IAOpF;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B;;OAEG;YACW,UAAU;IAaxB;;OAEG;YACW,YAAY;IAoC1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;YACW,cAAc;IA6C5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;OAEG;YACW,WAAW;IAiCzB;;OAEG;IACG,YAAY,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzE;;;OAGG;IACG,kBAAkB,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA8B9E;;OAEG;IACH,QAAQ,IAAI,cAAc,EAAE;IAI5B;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAIhF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAI5C;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ"}
|
package/dist/connection.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Vibe MCP Server - Relay Connection
|
|
3
3
|
*
|
|
4
4
|
* Connects to the relay server as a WebSocket client.
|
|
5
|
-
*
|
|
5
|
+
* Supports two modes:
|
|
6
|
+
* - Local: connects to local relay daemon at ws://127.0.0.1:19888
|
|
7
|
+
* - Remote: connects to public relay at wss://relay.api.vibebrowser.app/<uuid>
|
|
6
8
|
*/
|
|
7
9
|
import WebSocket from 'ws';
|
|
8
10
|
import { EventEmitter } from 'events';
|
|
@@ -13,12 +15,18 @@ const NO_CONNECTION_MESSAGE = `No connection to Vibe extension. Please:
|
|
|
13
15
|
1. Install the Vibe AI Browser extension from https://vibebrowser.app
|
|
14
16
|
2. Click the Vibe extension icon in Chrome
|
|
15
17
|
3. Enable "MCP External Control" in Settings`;
|
|
18
|
+
const NO_CONNECTION_REMOTE_MESSAGE = `No connection to Vibe extension via remote relay. Please:
|
|
19
|
+
1. Install the Vibe AI Browser extension from https://vibebrowser.app
|
|
20
|
+
2. Open extension Settings > MCP External
|
|
21
|
+
3. Select "Remote" mode and note your Extension UUID
|
|
22
|
+
4. Make sure the extension is connected to the relay`;
|
|
16
23
|
const RELAY_CONNECT_TIMEOUT = 10000;
|
|
17
24
|
const RELAY_RECONNECT_DELAY = 2000;
|
|
25
|
+
const DEFAULT_RELAY_URL = 'wss://relay.api.vibebrowser.app';
|
|
18
26
|
/**
|
|
19
27
|
* Relay connection manager
|
|
20
28
|
*
|
|
21
|
-
* Connects to
|
|
29
|
+
* Connects to a relay server (local or remote) to reach the extension.
|
|
22
30
|
*/
|
|
23
31
|
export class ExtensionConnection extends EventEmitter {
|
|
24
32
|
ws = null;
|
|
@@ -30,17 +38,25 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
30
38
|
tools = [];
|
|
31
39
|
reconnectTimer = null;
|
|
32
40
|
extensionConnected = false;
|
|
33
|
-
|
|
41
|
+
remoteConfig = null;
|
|
42
|
+
constructor(port = AGENT_PORT, debug = false, remote) {
|
|
34
43
|
super();
|
|
35
44
|
this.port = port;
|
|
36
45
|
this.debug = debug;
|
|
46
|
+
this.remoteConfig = remote || null;
|
|
37
47
|
}
|
|
38
48
|
/**
|
|
39
|
-
* Start connection to relay server
|
|
40
|
-
*
|
|
49
|
+
* Start connection to relay server.
|
|
50
|
+
* In local mode: spawns relay daemon if needed, then connects.
|
|
51
|
+
* In remote mode: connects directly to public relay.
|
|
41
52
|
*/
|
|
42
53
|
async start() {
|
|
43
|
-
|
|
54
|
+
if (this.remoteConfig) {
|
|
55
|
+
this.log(`Remote mode: connecting to relay for UUID ${this.remoteConfig.uuid}`);
|
|
56
|
+
await this.connectToRelay();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Local mode: check if relay is already running
|
|
44
60
|
if (!isRelayRunning()) {
|
|
45
61
|
this.log('Starting relay daemon...');
|
|
46
62
|
await this.spawnRelay();
|
|
@@ -51,7 +67,7 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
51
67
|
await this.connectToRelay();
|
|
52
68
|
}
|
|
53
69
|
/**
|
|
54
|
-
* Spawn relay daemon as detached process
|
|
70
|
+
* Spawn relay daemon as detached process (local mode only)
|
|
55
71
|
*/
|
|
56
72
|
async spawnRelay() {
|
|
57
73
|
// Use __dirname equivalent for ESM
|
|
@@ -64,7 +80,7 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
64
80
|
this.log('Relay daemon spawned');
|
|
65
81
|
}
|
|
66
82
|
/**
|
|
67
|
-
* Wait for relay to become available
|
|
83
|
+
* Wait for local relay to become available
|
|
68
84
|
*/
|
|
69
85
|
async waitForRelay() {
|
|
70
86
|
const startTime = Date.now();
|
|
@@ -98,11 +114,23 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
98
114
|
throw new Error('Relay failed to start within timeout');
|
|
99
115
|
}
|
|
100
116
|
/**
|
|
101
|
-
*
|
|
117
|
+
* Get the WebSocket URL for connection.
|
|
118
|
+
* Local mode: ws://127.0.0.1:<port>
|
|
119
|
+
* Remote mode: wss://relay.api.vibebrowser.app/<uuid>
|
|
120
|
+
*/
|
|
121
|
+
getRelayUrl() {
|
|
122
|
+
if (this.remoteConfig) {
|
|
123
|
+
const base = this.remoteConfig.relayUrl || DEFAULT_RELAY_URL;
|
|
124
|
+
return `${base}/${this.remoteConfig.uuid}`;
|
|
125
|
+
}
|
|
126
|
+
return `ws://127.0.0.1:${this.port}`;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Connect to the relay server (local or remote)
|
|
102
130
|
*/
|
|
103
131
|
async connectToRelay() {
|
|
104
132
|
return new Promise((resolve, reject) => {
|
|
105
|
-
const url =
|
|
133
|
+
const url = this.getRelayUrl();
|
|
106
134
|
this.log(`Connecting to relay at ${url}...`);
|
|
107
135
|
try {
|
|
108
136
|
this.ws = new WebSocket(url);
|
|
@@ -232,7 +260,7 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
232
260
|
throw new Error('Not connected to relay');
|
|
233
261
|
}
|
|
234
262
|
if (!this.extensionConnected) {
|
|
235
|
-
throw new Error(NO_CONNECTION_MESSAGE);
|
|
263
|
+
throw new Error(this.remoteConfig ? NO_CONNECTION_REMOTE_MESSAGE : NO_CONNECTION_MESSAGE);
|
|
236
264
|
}
|
|
237
265
|
const requestId = `req_${++this.requestIdCounter}`;
|
|
238
266
|
return new Promise((resolve, reject) => {
|
|
@@ -253,11 +281,41 @@ export class ExtensionConnection extends EventEmitter {
|
|
|
253
281
|
/**
|
|
254
282
|
* Refresh available tools from extension
|
|
255
283
|
*/
|
|
256
|
-
async refreshTools() {
|
|
257
|
-
const tools = await this.sendRequest('list_tools');
|
|
284
|
+
async refreshTools(timeoutMs = 30_000) {
|
|
285
|
+
const tools = await this.sendRequest('list_tools', undefined, timeoutMs);
|
|
258
286
|
this.tools = tools;
|
|
259
287
|
return tools;
|
|
260
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Wait briefly for a tools update event without forcing a request.
|
|
291
|
+
* This keeps MCP startup responsive when extension announces tools asynchronously.
|
|
292
|
+
*/
|
|
293
|
+
async waitForToolsUpdate(timeoutMs = 1_500) {
|
|
294
|
+
if (this.tools.length > 0) {
|
|
295
|
+
return this.tools;
|
|
296
|
+
}
|
|
297
|
+
return new Promise((resolve) => {
|
|
298
|
+
const onToolsUpdated = (tools) => {
|
|
299
|
+
cleanup();
|
|
300
|
+
resolve(tools);
|
|
301
|
+
};
|
|
302
|
+
const onExtensionDisconnected = () => {
|
|
303
|
+
cleanup();
|
|
304
|
+
resolve(this.tools);
|
|
305
|
+
};
|
|
306
|
+
const timer = setTimeout(() => {
|
|
307
|
+
cleanup();
|
|
308
|
+
resolve(this.tools);
|
|
309
|
+
}, timeoutMs);
|
|
310
|
+
const cleanup = () => {
|
|
311
|
+
clearTimeout(timer);
|
|
312
|
+
this.off('tools_updated', onToolsUpdated);
|
|
313
|
+
this.off('extension_disconnected', onExtensionDisconnected);
|
|
314
|
+
};
|
|
315
|
+
this.on('tools_updated', onToolsUpdated);
|
|
316
|
+
this.on('extension_disconnected', onExtensionDisconnected);
|
|
317
|
+
});
|
|
318
|
+
}
|
|
261
319
|
/**
|
|
262
320
|
* Get cached list of available tools
|
|
263
321
|
*/
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/relay.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare class RelayServer extends EventEmitter {
|
|
|
23
23
|
private tools;
|
|
24
24
|
private requestIdCounter;
|
|
25
25
|
private debug;
|
|
26
|
+
private toolsSyncTimer;
|
|
26
27
|
constructor(debug?: boolean);
|
|
27
28
|
/**
|
|
28
29
|
* Start the relay server
|
|
@@ -56,6 +57,15 @@ export declare class RelayServer extends EventEmitter {
|
|
|
56
57
|
* Request tools list from extension
|
|
57
58
|
*/
|
|
58
59
|
private requestToolsFromExtension;
|
|
60
|
+
/**
|
|
61
|
+
* Replay in-flight agent requests after extension reconnects.
|
|
62
|
+
*/
|
|
63
|
+
private replayPendingRequestsToExtension;
|
|
64
|
+
/**
|
|
65
|
+
* Keep requesting tools until extension responds with tools_list.
|
|
66
|
+
*/
|
|
67
|
+
private startToolsSyncLoop;
|
|
68
|
+
private stopToolsSyncLoop;
|
|
59
69
|
/**
|
|
60
70
|
* Broadcast message to all connected agents
|
|
61
71
|
*/
|
package/dist/relay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,UAAU,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,UAAU,QAAQ,CAAC;AAiDhC;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,cAAc,CAA+B;gBAEzC,KAAK,GAAE,OAAe;IAKlC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB5B;;OAEG;YACW,oBAAoB;IAoBlC;;OAEG;YACW,gBAAgB;IAoB9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA0CjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoC1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAexC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;YACW,QAAQ;IA2CtB;;OAEG;IACH,OAAO,CAAC,GAAG;CAgBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAmBxC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAY3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,OAAe,GAAG,IAAI,CAe7D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5E"}
|
package/dist/relay.js
CHANGED
|
@@ -32,6 +32,7 @@ export class RelayServer extends EventEmitter {
|
|
|
32
32
|
tools = [];
|
|
33
33
|
requestIdCounter = 0;
|
|
34
34
|
debug;
|
|
35
|
+
toolsSyncTimer = null;
|
|
35
36
|
constructor(debug = false) {
|
|
36
37
|
super();
|
|
37
38
|
this.debug = debug;
|
|
@@ -97,33 +98,39 @@ export class RelayServer extends EventEmitter {
|
|
|
97
98
|
* Handle extension connection
|
|
98
99
|
*/
|
|
99
100
|
handleExtensionConnection(ws) {
|
|
100
|
-
|
|
101
|
-
// Close previous connection if any
|
|
101
|
+
// Replace prior extension connection (background/sidepanel can reconnect).
|
|
102
102
|
if (this.extensionWs) {
|
|
103
103
|
this.extensionWs.close();
|
|
104
104
|
}
|
|
105
|
+
this.log('Extension connected');
|
|
105
106
|
this.extensionWs = ws;
|
|
106
107
|
ws.on('message', (data) => {
|
|
107
108
|
try {
|
|
108
109
|
const message = JSON.parse(data.toString());
|
|
109
|
-
this.handleExtensionMessage(message);
|
|
110
|
+
this.handleExtensionMessage(ws, message);
|
|
110
111
|
}
|
|
111
112
|
catch (error) {
|
|
112
113
|
this.log(`Failed to parse extension message: ${error}`);
|
|
113
114
|
}
|
|
114
115
|
});
|
|
115
|
-
ws.on('close', () => {
|
|
116
|
-
|
|
116
|
+
ws.on('close', (code, reasonBuffer) => {
|
|
117
|
+
const reason = reasonBuffer?.toString() || '';
|
|
118
|
+
this.log(`Extension disconnected (code=${code}${reason ? `, reason=${reason}` : ''})`);
|
|
119
|
+
// Ignore stale close events from replaced sockets.
|
|
120
|
+
if (this.extensionWs !== ws) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
117
123
|
this.extensionWs = null;
|
|
118
124
|
this.tools = [];
|
|
125
|
+
this.stopToolsSyncLoop();
|
|
119
126
|
// Notify all agents
|
|
120
127
|
this.broadcastToAgents({ type: 'extension_disconnected' });
|
|
121
128
|
});
|
|
122
129
|
ws.on('error', (error) => {
|
|
123
130
|
this.log(`Extension WebSocket error: ${error.message}`);
|
|
124
131
|
});
|
|
125
|
-
// Request tools list
|
|
126
|
-
this.
|
|
132
|
+
// Request tools list, with retries in case the extension wasn't ready yet.
|
|
133
|
+
this.startToolsSyncLoop();
|
|
127
134
|
}
|
|
128
135
|
/**
|
|
129
136
|
* Handle agent connection
|
|
@@ -172,11 +179,19 @@ export class RelayServer extends EventEmitter {
|
|
|
172
179
|
/**
|
|
173
180
|
* Handle message from extension
|
|
174
181
|
*/
|
|
175
|
-
handleExtensionMessage(message) {
|
|
182
|
+
handleExtensionMessage(sourceWs, message) {
|
|
183
|
+
if (this.extensionWs !== sourceWs) {
|
|
184
|
+
this.log(`Ignoring stale extension message: ${message.type}`);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
176
187
|
this.log(`Extension message: ${message.type}`);
|
|
188
|
+
if (message.type === 'connected') {
|
|
189
|
+
this.replayPendingRequestsToExtension();
|
|
190
|
+
}
|
|
177
191
|
// Handle tools list
|
|
178
192
|
if (message.type === 'tools_list') {
|
|
179
193
|
this.tools = message.data;
|
|
194
|
+
this.stopToolsSyncLoop();
|
|
180
195
|
// Broadcast to all agents
|
|
181
196
|
this.broadcastToAgents({ type: 'tools_list', data: this.tools });
|
|
182
197
|
return;
|
|
@@ -220,15 +235,19 @@ export class RelayServer extends EventEmitter {
|
|
|
220
235
|
// Generate relay request ID
|
|
221
236
|
const relayRequestId = `relay_${++this.requestIdCounter}`;
|
|
222
237
|
// Store pending request mapping
|
|
238
|
+
const forwardMessage = {
|
|
239
|
+
...message,
|
|
240
|
+
requestId: relayRequestId,
|
|
241
|
+
};
|
|
223
242
|
this.pendingRequests.set(relayRequestId, {
|
|
224
243
|
agentId,
|
|
225
244
|
originalRequestId: message.requestId,
|
|
245
|
+
forwardMessage,
|
|
246
|
+
lastSentAt: Date.now(),
|
|
247
|
+
attempts: 1,
|
|
226
248
|
});
|
|
227
249
|
// Forward to extension with relay request ID
|
|
228
|
-
this.extensionWs.send(JSON.stringify(
|
|
229
|
-
...message,
|
|
230
|
-
requestId: relayRequestId,
|
|
231
|
-
}));
|
|
250
|
+
this.extensionWs.send(JSON.stringify(forwardMessage));
|
|
232
251
|
}
|
|
233
252
|
/**
|
|
234
253
|
* Request tools list from extension
|
|
@@ -242,6 +261,44 @@ export class RelayServer extends EventEmitter {
|
|
|
242
261
|
requestId,
|
|
243
262
|
}));
|
|
244
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Replay in-flight agent requests after extension reconnects.
|
|
266
|
+
*/
|
|
267
|
+
replayPendingRequestsToExtension() {
|
|
268
|
+
if (!this.extensionWs || this.pendingRequests.size === 0)
|
|
269
|
+
return;
|
|
270
|
+
for (const [relayRequestId, pending] of this.pendingRequests) {
|
|
271
|
+
try {
|
|
272
|
+
pending.attempts += 1;
|
|
273
|
+
pending.lastSentAt = Date.now();
|
|
274
|
+
this.pendingRequests.set(relayRequestId, pending);
|
|
275
|
+
this.extensionWs.send(JSON.stringify(pending.forwardMessage));
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
this.log(`Failed to replay request ${relayRequestId}: ${error}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Keep requesting tools until extension responds with tools_list.
|
|
284
|
+
*/
|
|
285
|
+
startToolsSyncLoop() {
|
|
286
|
+
this.stopToolsSyncLoop();
|
|
287
|
+
this.requestToolsFromExtension();
|
|
288
|
+
this.toolsSyncTimer = setInterval(() => {
|
|
289
|
+
if (!this.extensionWs) {
|
|
290
|
+
this.stopToolsSyncLoop();
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
this.requestToolsFromExtension();
|
|
294
|
+
}, 1_000);
|
|
295
|
+
}
|
|
296
|
+
stopToolsSyncLoop() {
|
|
297
|
+
if (this.toolsSyncTimer) {
|
|
298
|
+
clearInterval(this.toolsSyncTimer);
|
|
299
|
+
this.toolsSyncTimer = null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
245
302
|
/**
|
|
246
303
|
* Broadcast message to all connected agents
|
|
247
304
|
*/
|
|
@@ -285,6 +342,7 @@ export class RelayServer extends EventEmitter {
|
|
|
285
342
|
this.extensionWs.close();
|
|
286
343
|
this.extensionWs = null;
|
|
287
344
|
}
|
|
345
|
+
this.stopToolsSyncLoop();
|
|
288
346
|
// Close servers
|
|
289
347
|
if (this.agentWss) {
|
|
290
348
|
this.agentWss.close();
|
package/dist/relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAyC,YAAY,EAAkB,MAAM,YAAY,CAAC;AAOjG;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAiC9C;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B;;OAEG;YACW,QAAQ;IAatB;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,qBAAqB;CAS9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAIzF"}
|
package/dist/server.js
CHANGED
|
@@ -7,8 +7,11 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
7
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
8
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
import { ExtensionConnection } from './connection.js';
|
|
10
|
+
import { DEFAULT_WS_PORT } from './types.js';
|
|
10
11
|
const SERVER_NAME = 'vibe-mcp';
|
|
11
12
|
const SERVER_VERSION = '0.1.0';
|
|
13
|
+
const STARTUP_TOOLS_REFRESH_TIMEOUT_MS = 4_000;
|
|
14
|
+
const STARTUP_TOOLS_EVENT_WAIT_TIMEOUT_MS = 1_500;
|
|
12
15
|
/**
|
|
13
16
|
* Vibe MCP Server
|
|
14
17
|
*
|
|
@@ -20,17 +23,24 @@ export class VibeMcpServer {
|
|
|
20
23
|
config;
|
|
21
24
|
constructor(config = {}) {
|
|
22
25
|
this.config = {
|
|
23
|
-
port: config.port ??
|
|
26
|
+
port: config.port ?? DEFAULT_WS_PORT,
|
|
24
27
|
host: config.host ?? '127.0.0.1',
|
|
25
28
|
debug: config.debug ?? false,
|
|
29
|
+
remoteUuid: config.remoteUuid,
|
|
30
|
+
remoteRelayUrl: config.remoteRelayUrl,
|
|
26
31
|
};
|
|
27
|
-
|
|
32
|
+
const remoteConfig = this.config.remoteUuid
|
|
33
|
+
? { uuid: this.config.remoteUuid, relayUrl: this.config.remoteRelayUrl }
|
|
34
|
+
: undefined;
|
|
35
|
+
this.connection = new ExtensionConnection(this.config.port, this.config.debug, remoteConfig);
|
|
28
36
|
this.server = new Server({
|
|
29
37
|
name: SERVER_NAME,
|
|
30
38
|
version: SERVER_VERSION,
|
|
31
39
|
}, {
|
|
32
40
|
capabilities: {
|
|
33
|
-
tools: {
|
|
41
|
+
tools: {
|
|
42
|
+
listChanged: true,
|
|
43
|
+
},
|
|
34
44
|
},
|
|
35
45
|
});
|
|
36
46
|
this.setupHandlers();
|
|
@@ -42,6 +52,19 @@ export class VibeMcpServer {
|
|
|
42
52
|
setupHandlers() {
|
|
43
53
|
// List available tools
|
|
44
54
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
55
|
+
if (this.connection.getTools().length === 0 && this.connection.isExtensionConnected()) {
|
|
56
|
+
try {
|
|
57
|
+
// Keep startup tool discovery under client startup budgets (e.g. Codex 10s).
|
|
58
|
+
await this.connection.refreshTools(STARTUP_TOOLS_REFRESH_TIMEOUT_MS);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
62
|
+
this.log(`tools/list refresh failed: ${message}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (this.connection.getTools().length === 0 && this.connection.isExtensionConnected()) {
|
|
66
|
+
await this.connection.waitForToolsUpdate(STARTUP_TOOLS_EVENT_WAIT_TIMEOUT_MS);
|
|
67
|
+
}
|
|
45
68
|
const tools = this.connection.getTools();
|
|
46
69
|
return {
|
|
47
70
|
tools: tools.map((tool) => ({
|
|
@@ -79,18 +102,29 @@ export class VibeMcpServer {
|
|
|
79
102
|
});
|
|
80
103
|
this.connection.on('disconnected', () => {
|
|
81
104
|
this.log('Extension disconnected');
|
|
105
|
+
this.notifyToolListChanged();
|
|
82
106
|
});
|
|
83
107
|
this.connection.on('tools_updated', (tools) => {
|
|
84
108
|
this.log(`Received ${tools.length} tools from extension`);
|
|
109
|
+
this.notifyToolListChanged();
|
|
110
|
+
});
|
|
111
|
+
this.connection.on('extension_disconnected', () => {
|
|
112
|
+
this.log('Extension disconnected from relay');
|
|
113
|
+
this.notifyToolListChanged();
|
|
85
114
|
});
|
|
86
115
|
}
|
|
87
116
|
/**
|
|
88
117
|
* Start the MCP server
|
|
89
118
|
*/
|
|
90
119
|
async start() {
|
|
91
|
-
// Start
|
|
120
|
+
// Start connection to extension (local relay or remote)
|
|
92
121
|
await this.connection.start();
|
|
93
|
-
|
|
122
|
+
if (this.config.remoteUuid) {
|
|
123
|
+
this.log(`Connected to remote relay for UUID ${this.config.remoteUuid}`);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.log(`Waiting for Vibe extension connection on port ${this.config.port}...`);
|
|
127
|
+
}
|
|
94
128
|
// Connect MCP server to stdio transport
|
|
95
129
|
const transport = new StdioServerTransport();
|
|
96
130
|
await this.server.connect(transport);
|
|
@@ -122,6 +156,15 @@ export class VibeMcpServer {
|
|
|
122
156
|
console.error(`[${SERVER_NAME}] ${message}`);
|
|
123
157
|
}
|
|
124
158
|
}
|
|
159
|
+
notifyToolListChanged() {
|
|
160
|
+
if (!this.server.transport) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.server.sendToolListChanged().catch((error) => {
|
|
164
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
165
|
+
this.log(`Failed to send tools/list_changed: ${message}`);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
125
168
|
}
|
|
126
169
|
/**
|
|
127
170
|
* Create and start the MCP server
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const MCP_PROTOCOL_VERSION = "2024-11-05";
|
|
10
10
|
/**
|
|
11
|
-
* Default WebSocket port for
|
|
11
|
+
* Default WebSocket port for local relay (agent) connection
|
|
12
12
|
*/
|
|
13
|
-
export declare const DEFAULT_WS_PORT =
|
|
13
|
+
export declare const DEFAULT_WS_PORT = 19888;
|
|
14
14
|
/**
|
|
15
15
|
* Connection status
|
|
16
16
|
*/
|
|
@@ -94,5 +94,9 @@ export interface ServerConfig {
|
|
|
94
94
|
port: number;
|
|
95
95
|
host: string;
|
|
96
96
|
debug: boolean;
|
|
97
|
+
/** Remote relay UUID — when set, connects to public relay instead of local */
|
|
98
|
+
remoteUuid?: string;
|
|
99
|
+
/** Remote relay URL — defaults to wss://relay.api.vibebrowser.app */
|
|
100
|
+
remoteRelayUrl?: string;
|
|
97
101
|
}
|
|
98
102
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;IACzI,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;IACzI,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
package/dist/types.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export const MCP_PROTOCOL_VERSION = '2024-11-05';
|
|
10
10
|
/**
|
|
11
|
-
* Default WebSocket port for
|
|
11
|
+
* Default WebSocket port for local relay (agent) connection
|
|
12
12
|
*/
|
|
13
|
-
export const DEFAULT_WS_PORT =
|
|
13
|
+
export const DEFAULT_WS_PORT = 19888;
|
|
14
14
|
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibebrowser/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP server for browser automation - the only solution supporting multiple AI agents (Claude, Cursor, VS Code) simultaneously controlling your Chrome browser",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
|
+
"vibebrowser-mcp": "./dist/cli.js",
|
|
9
10
|
"vibe-mcp": "./dist/cli.js"
|
|
10
11
|
},
|
|
11
12
|
"publishConfig": {
|
|
@@ -15,7 +16,9 @@
|
|
|
15
16
|
"build": "tsc",
|
|
16
17
|
"dev": "tsc --watch",
|
|
17
18
|
"start": "node dist/cli.js",
|
|
18
|
-
"prepublishOnly": "npm run build"
|
|
19
|
+
"prepublishOnly": "npm run build",
|
|
20
|
+
"test:e2e:relay-race": "node scripts/e2e-relay-fake-extension-race.mjs",
|
|
21
|
+
"test:e2e:agents": "node scripts/e2e-mcp-agents.mjs"
|
|
19
22
|
},
|
|
20
23
|
"keywords": [
|
|
21
24
|
"mcp",
|