localpov 0.1.1 → 0.1.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 +46 -124
- package/bin/localpov.js +96 -57
- package/dist/mcp-server.js +96 -4
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,45 +1,41 @@
|
|
|
1
1
|
# LocalPOV
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/localpov)
|
|
4
|
+
[](https://www.npmjs.com/package/localpov)
|
|
5
|
+
[](https://github.com/localpov/localpov/blob/main/LICENSE)
|
|
6
|
+
[](https://nodejs.org)
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
npx -y localpov --mcp
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Your AI agent (Claude Code, Cursor, Windsurf, Claude Desktop) can now see everything happening in your dev environment — terminal errors, browser console output, failed network requests, build failures, Docker logs — without you copy-pasting anything.
|
|
10
|
-
|
|
11
|
-
## Why
|
|
8
|
+
Development context bridge for AI coding agents. One MCP server, 14 tools.
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
10
|
+
- **Terminal capture** — every shell session, auto-captured
|
|
11
|
+
- **Browser console** — errors, warnings, unhandled exceptions
|
|
12
|
+
- **Network failures** — 4xx/5xx responses, CORS errors, slow requests
|
|
13
|
+
- **Build errors** — structured `{file, line, col, message}` from TS, ESLint, Webpack, Vite, Rust, Go
|
|
14
|
+
- **Docker logs** — container output without leaving your editor
|
|
15
|
+
- **Screenshots** — on-demand browser viewport capture
|
|
16
|
+
- **Port scanning** — what's up, what's down
|
|
17
|
+
- **System health** — memory, CPU, uptime
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
Your AI agent sees everything happening in your dev environment — without you copy-pasting anything.
|
|
22
20
|
|
|
23
21
|
## Quick start
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
# Install globally (optional — npx works without installing)
|
|
27
|
-
npm i -g localpov
|
|
28
|
-
|
|
29
|
-
# Interactive setup (shell integration + MCP config)
|
|
30
|
-
localpov setup
|
|
23
|
+
### Claude Code
|
|
31
24
|
|
|
32
|
-
|
|
33
|
-
npx -y localpov --mcp
|
|
25
|
+
```bash
|
|
26
|
+
claude mcp add localpov -- npx -y localpov --mcp
|
|
34
27
|
```
|
|
35
28
|
|
|
36
|
-
|
|
29
|
+
That's it. One command. Restart Claude Code and all 14 tools are available.
|
|
37
30
|
|
|
38
|
-
|
|
31
|
+
Shell integration is installed automatically on first run — restart your terminal to start capturing.
|
|
39
32
|
|
|
40
|
-
### Claude
|
|
33
|
+
### Claude Desktop
|
|
41
34
|
|
|
42
|
-
Add to
|
|
35
|
+
Add to `claude_desktop_config.json`:
|
|
36
|
+
|
|
37
|
+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
38
|
+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
43
39
|
|
|
44
40
|
```json
|
|
45
41
|
{
|
|
@@ -52,14 +48,9 @@ Add to `.mcp.json` in your project root:
|
|
|
52
48
|
}
|
|
53
49
|
```
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### Claude Desktop
|
|
58
|
-
|
|
59
|
-
Add to your `claude_desktop_config.json`:
|
|
51
|
+
### Cursor
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
53
|
+
Add to `.cursor/mcp.json` in your project root (or `~/.cursor/mcp.json` for global):
|
|
63
54
|
|
|
64
55
|
```json
|
|
65
56
|
{
|
|
@@ -72,13 +63,13 @@ Add to your `claude_desktop_config.json`:
|
|
|
72
63
|
}
|
|
73
64
|
```
|
|
74
65
|
|
|
75
|
-
###
|
|
66
|
+
### VS Code / Copilot
|
|
76
67
|
|
|
77
|
-
Add to `.
|
|
68
|
+
Add to `.vscode/mcp.json` in your project root:
|
|
78
69
|
|
|
79
70
|
```json
|
|
80
71
|
{
|
|
81
|
-
"
|
|
72
|
+
"servers": {
|
|
82
73
|
"localpov": {
|
|
83
74
|
"command": "npx",
|
|
84
75
|
"args": ["-y", "localpov", "--mcp"]
|
|
@@ -109,7 +100,7 @@ Or configure via Windsurf UI: Cascade panel → MCPs icon → Add server.
|
|
|
109
100
|
|
|
110
101
|
### Any other MCP client
|
|
111
102
|
|
|
112
|
-
LocalPOV uses **stdio transport
|
|
103
|
+
LocalPOV uses **stdio transport**. Any MCP client that supports stdio works with:
|
|
113
104
|
|
|
114
105
|
```json
|
|
115
106
|
{
|
|
@@ -118,20 +109,17 @@ LocalPOV uses **stdio transport** — the universal standard. Any MCP client tha
|
|
|
118
109
|
}
|
|
119
110
|
```
|
|
120
111
|
|
|
121
|
-
|
|
112
|
+
## Why
|
|
122
113
|
|
|
123
|
-
|
|
114
|
+
AI coding agents are blind. They can read and write files, but they can't see:
|
|
124
115
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
```
|
|
116
|
+
- What your terminal just printed
|
|
117
|
+
- That the browser console is full of CORS errors
|
|
118
|
+
- That `fetch('/api/users')` is returning 500
|
|
119
|
+
- That the Docker container crashed 30 seconds ago
|
|
120
|
+
- That TypeScript found 12 errors on build
|
|
121
|
+
|
|
122
|
+
You end up copy-pasting error messages into chat. LocalPOV fixes this — the agent reads your dev environment directly.
|
|
135
123
|
|
|
136
124
|
## What the AI agent sees
|
|
137
125
|
|
|
@@ -158,50 +146,22 @@ If you've cloned the repo:
|
|
|
158
146
|
|
|
159
147
|
### Terminal capture
|
|
160
148
|
|
|
161
|
-
Shell integration hooks into your shell startup (`bash`, `zsh`, `fish`, `powershell`). Every terminal session's output is captured to `~/.localpov/sessions/` as plain text logs.
|
|
149
|
+
Shell integration hooks into your shell startup (`bash`, `zsh`, `fish`, `powershell`). Every terminal session's output is captured to `~/.localpov/sessions/` as plain text logs. The AI agent reads these via `read_terminal` or `get_errors`.
|
|
162
150
|
|
|
163
|
-
|
|
164
|
-
# Install shell integration
|
|
165
|
-
localpov setup
|
|
166
|
-
|
|
167
|
-
# List captured sessions
|
|
168
|
-
localpov sessions
|
|
151
|
+
This is installed automatically when you run `npx -y localpov` for the first time.
|
|
169
152
|
|
|
170
|
-
|
|
171
|
-
localpov sessions read <pid> [lines]
|
|
153
|
+
### Browser capture (optional)
|
|
172
154
|
|
|
173
|
-
|
|
174
|
-
localpov sessions errors
|
|
155
|
+
Start the proxy to capture browser console and network activity:
|
|
175
156
|
|
|
176
|
-
|
|
177
|
-
localpov
|
|
157
|
+
```bash
|
|
158
|
+
npx -y localpov --port 3000
|
|
178
159
|
```
|
|
179
160
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
### Browser capture
|
|
183
|
-
|
|
184
|
-
When the LocalPOV proxy is running, it injects a lightweight capture script into HTML responses. This gives the agent access to:
|
|
185
|
-
|
|
186
|
-
- **Console output** — `console.error`, `console.warn`, unhandled exceptions, promise rejections
|
|
187
|
-
- **Network requests** — failed fetches (4xx/5xx) with response bodies, slow requests, CORS errors
|
|
188
|
-
- **Screenshots** — on-demand viewport capture
|
|
161
|
+
Then open `http://localhost:4000` instead of `http://localhost:3000` — your app works exactly the same, but the agent can now see console errors, network failures, and take screenshots.
|
|
189
162
|
|
|
190
163
|
No browser extension needed. Works in any browser.
|
|
191
164
|
|
|
192
|
-
```bash
|
|
193
|
-
# Start the proxy (auto-detects running dev servers)
|
|
194
|
-
localpov
|
|
195
|
-
|
|
196
|
-
# Or target a specific port
|
|
197
|
-
localpov --port 3000
|
|
198
|
-
|
|
199
|
-
# Change proxy listen port (default: 4000)
|
|
200
|
-
localpov --listen 8080
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Then open `http://localhost:4000` instead of `http://localhost:3000` — your app works exactly the same, but the agent can now see console and network activity.
|
|
204
|
-
|
|
205
165
|
### Dashboard
|
|
206
166
|
|
|
207
167
|
Open `http://localhost:4000/__localpov__/` to see a visual debug panel:
|
|
@@ -244,26 +204,6 @@ Create `.localpovrc` in your project root:
|
|
|
244
204
|
}
|
|
245
205
|
```
|
|
246
206
|
|
|
247
|
-
CLI flags override config file values.
|
|
248
|
-
|
|
249
|
-
## CLI reference
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
localpov # Start proxy (auto-detect dev servers)
|
|
253
|
-
localpov --port 3000 # Proxy a specific port
|
|
254
|
-
localpov --listen 8080 # Change proxy listen port
|
|
255
|
-
localpov --mcp # Start MCP server (stdio transport)
|
|
256
|
-
localpov setup # Interactive first-run setup
|
|
257
|
-
localpov setup --shell # Install shell integration only
|
|
258
|
-
localpov unsetup # Remove shell integration
|
|
259
|
-
localpov mcp-config # Print MCP config JSON
|
|
260
|
-
localpov mcp-config cursor # Print config for Cursor
|
|
261
|
-
localpov sessions # List captured terminal sessions
|
|
262
|
-
localpov sessions read PID # Read a session's output
|
|
263
|
-
localpov sessions errors # Find errors across sessions
|
|
264
|
-
localpov doctor # Check your setup
|
|
265
|
-
```
|
|
266
|
-
|
|
267
207
|
## Supported shells
|
|
268
208
|
|
|
269
209
|
| Shell | Capture method | Platforms |
|
|
@@ -273,24 +213,6 @@ localpov doctor # Check your setup
|
|
|
273
213
|
| fish | `script` command + fish_preexec/fish_postexec | Linux, macOS |
|
|
274
214
|
| PowerShell | `Start-Transcript` + prompt function flush | Windows, Linux, macOS |
|
|
275
215
|
|
|
276
|
-
## Supported frameworks
|
|
277
|
-
|
|
278
|
-
Any HTTP dev server works. Framework detection is cosmetic (shown in dashboard):
|
|
279
|
-
|
|
280
|
-
Next.js, Vite, Express, Angular, SvelteKit, Nuxt, Astro, Django, Flask, FastAPI, and anything else on a localhost port.
|
|
281
|
-
|
|
282
|
-
## Default scanned ports
|
|
283
|
-
|
|
284
|
-
`3000, 3001, 3002, 4200, 5173, 5174, 5175, 8000, 8080, 8888, 8081, 4321`
|
|
285
|
-
|
|
286
|
-
Customize via `.localpovrc`:
|
|
287
|
-
|
|
288
|
-
```json
|
|
289
|
-
{
|
|
290
|
-
"ports": [3000, 3001, 4000, 5173, 8080, 9000]
|
|
291
|
-
}
|
|
292
|
-
```
|
|
293
|
-
|
|
294
216
|
## Safety
|
|
295
217
|
|
|
296
218
|
- **Output capped at 50KB** per MCP response — prevents flooding the AI context
|
package/bin/localpov.js
CHANGED
|
@@ -339,15 +339,79 @@ if (flags.help) {
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
if (flags.doctor) {
|
|
342
|
+
const fs = require('fs');
|
|
343
|
+
const path = require('path');
|
|
344
|
+
const http = require('http');
|
|
345
|
+
const { getInitFilePath } = require('../dist/utils/shell-init');
|
|
346
|
+
|
|
342
347
|
console.log(`\n ${c.b('localpov doctor')}\n`);
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
console.log(`
|
|
346
|
-
console.log(`
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
348
|
+
|
|
349
|
+
// Node.js
|
|
350
|
+
console.log(` Node.js: ${c.g('✓')} ${process.version}`);
|
|
351
|
+
console.log(` Platform: ${process.platform} ${process.arch}`);
|
|
352
|
+
|
|
353
|
+
// Shell integration
|
|
354
|
+
const shell = detectShell();
|
|
355
|
+
const initPath = getInitFilePath(shell);
|
|
356
|
+
if (fs.existsSync(initPath)) {
|
|
357
|
+
console.log(` Shell integration: ${c.g('✓')} ${shell}`);
|
|
358
|
+
} else {
|
|
359
|
+
console.log(` Shell integration: ${c.r('✗')} not installed — run: npx localpov setup`);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
// Terminal sessions
|
|
363
|
+
const mgr = new SessionManager();
|
|
364
|
+
const allSessions = mgr.listSessions();
|
|
365
|
+
const activeSessions = allSessions.filter(s => s.alive);
|
|
366
|
+
if (activeSessions.length > 0) {
|
|
367
|
+
console.log(` Terminal sessions: ${c.g('✓')} ${activeSessions.length} active, ${allSessions.length} total`);
|
|
368
|
+
} else if (allSessions.length > 0) {
|
|
369
|
+
console.log(` Terminal sessions: ${c.y('⚠')} 0 active (${allSessions.length} dead) — restart your terminal`);
|
|
370
|
+
} else {
|
|
371
|
+
console.log(` Terminal sessions: ${c.r('✗')} none — restart your terminal after setup`);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// MCP config
|
|
375
|
+
const mcpPath = path.join(process.cwd(), '.mcp.json');
|
|
376
|
+
try {
|
|
377
|
+
const content = fs.readFileSync(mcpPath, 'utf8');
|
|
378
|
+
if (content.includes('localpov')) {
|
|
379
|
+
console.log(` MCP config: ${c.g('✓')} .mcp.json found`);
|
|
380
|
+
} else {
|
|
381
|
+
console.log(` MCP config: ${c.y('⚠')} .mcp.json exists but missing localpov entry`);
|
|
382
|
+
}
|
|
383
|
+
} catch {
|
|
384
|
+
console.log(` MCP config: ${c.r('✗')} no .mcp.json — run: npx localpov`);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// Browser proxy
|
|
388
|
+
const proxyCheck = new Promise((resolve) => {
|
|
389
|
+
const req = http.get('http://localhost:4000/__localpov__/api/health', { timeout: 1000 }, (res) => {
|
|
390
|
+
resolve(res.statusCode === 200);
|
|
391
|
+
res.resume();
|
|
392
|
+
});
|
|
393
|
+
req.on('error', () => resolve(false));
|
|
394
|
+
req.on('timeout', () => { req.destroy(); resolve(false); });
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
proxyCheck.then((running) => {
|
|
398
|
+
if (running) {
|
|
399
|
+
console.log(` Browser proxy: ${c.g('✓')} running on :4000`);
|
|
400
|
+
} else {
|
|
401
|
+
console.log(` Browser proxy: ${c.y('—')} not running ${c.d('(optional: npx localpov --port <port>)')}`);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// Network
|
|
405
|
+
const ips = getAllIPs();
|
|
406
|
+
if (ips.length > 0) {
|
|
407
|
+
console.log(` Network: ${ips.map(ip => `${ip.name}: ${c.c(ip.address)}`).join(', ')}`);
|
|
408
|
+
}
|
|
409
|
+
console.log('');
|
|
410
|
+
process.exit(0);
|
|
411
|
+
});
|
|
412
|
+
|
|
413
|
+
// Prevent main() from running
|
|
414
|
+
flags.__doctor = true;
|
|
351
415
|
}
|
|
352
416
|
|
|
353
417
|
const LISTEN_PORT = flags.listen || parseInt(process.env.LOCALPOV_PORT || '4000', 10);
|
|
@@ -395,36 +459,24 @@ async function firstRunSetup() {
|
|
|
395
459
|
|
|
396
460
|
console.log('');
|
|
397
461
|
console.log(` ${c.b('Welcome to LocalPOV')} ${c.d(`v${pkg.version}`)}`);
|
|
398
|
-
console.log(` ${c.d('First-time setup — takes 30 seconds')}`);
|
|
399
462
|
console.log('');
|
|
400
463
|
|
|
401
|
-
// ─── Step 1: Shell integration ───
|
|
464
|
+
// ─── Step 1: Shell integration (auto) ───
|
|
402
465
|
const shell = detectShell();
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
if (shellAnswer !== 'n' && shellAnswer !== 'no') {
|
|
408
|
-
const result = setup(shell);
|
|
409
|
-
if (result.success) {
|
|
410
|
-
if (result.already) {
|
|
411
|
-
console.log(` ${c.g('✓')} Already installed`);
|
|
412
|
-
} else {
|
|
413
|
-
console.log(` ${c.g('✓')} Added to ${c.d(result.profilePath)}`);
|
|
414
|
-
console.log(` ${c.d('New terminals will be auto-captured after restart')}`);
|
|
415
|
-
}
|
|
466
|
+
const result = setup(shell);
|
|
467
|
+
if (result.success) {
|
|
468
|
+
if (result.already) {
|
|
469
|
+
console.log(` ${c.g('✓')} Shell integration already installed ${c.d(`(${shell})`)}`);
|
|
416
470
|
} else {
|
|
417
|
-
console.log(`
|
|
418
|
-
console.log(`
|
|
471
|
+
console.log(` ${c.g('✓')} Shell integration installed ${c.d(`(${shell} → ${result.profilePath})`)}`);
|
|
472
|
+
console.log(` ${c.d(' Restart your terminal to start capturing sessions')}`);
|
|
419
473
|
}
|
|
420
474
|
} else {
|
|
421
|
-
console.log(`
|
|
475
|
+
console.log(` ${c.y('⚠')} Shell integration: ${result.error}`);
|
|
476
|
+
console.log(` ${c.d(' Run `localpov setup` to retry')}`);
|
|
422
477
|
}
|
|
423
|
-
console.log('');
|
|
424
|
-
|
|
425
|
-
// ─── Step 2: MCP config for AI agents ───
|
|
426
|
-
console.log(` ${c.b('2.')} AI agent integration ${c.d('(MCP server for Claude Code, Cursor, etc.)')}`);
|
|
427
478
|
|
|
479
|
+
// ─── Step 2: MCP config (auto) ───
|
|
428
480
|
const mcpPath = require('path').join(process.cwd(), '.mcp.json');
|
|
429
481
|
let mcpExists = false;
|
|
430
482
|
try {
|
|
@@ -433,36 +485,23 @@ async function firstRunSetup() {
|
|
|
433
485
|
} catch {}
|
|
434
486
|
|
|
435
487
|
if (mcpExists) {
|
|
436
|
-
console.log(`
|
|
488
|
+
console.log(` ${c.g('✓')} MCP config already in ${c.d('.mcp.json')}`);
|
|
437
489
|
} else {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
try {
|
|
449
|
-
const existing = JSON.parse(fs.readFileSync(mcpPath, 'utf8'));
|
|
450
|
-
existing.mcpServers = existing.mcpServers || {};
|
|
451
|
-
existing.mcpServers.localpov = mcpConfig.mcpServers.localpov;
|
|
452
|
-
fs.writeFileSync(mcpPath, JSON.stringify(existing, null, 2) + '\n', 'utf8');
|
|
453
|
-
} catch {
|
|
454
|
-
fs.writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2) + '\n', 'utf8');
|
|
455
|
-
}
|
|
456
|
-
console.log(` ${c.g('✓')} Created ${c.d('.mcp.json')}`);
|
|
457
|
-
console.log(` ${c.d('Restart your AI agent to activate the MCP server')}`);
|
|
458
|
-
} else {
|
|
459
|
-
console.log(` ${c.d('Skipped. Run `localpov mcp-config` to see the config.')}`);
|
|
460
|
-
}
|
|
490
|
+
console.log(` ${c.b('Add to .mcp.json in your project root:')}`);
|
|
491
|
+
console.log('');
|
|
492
|
+
console.log(` ${c.c('{')}`)
|
|
493
|
+
console.log(` ${c.c(' "mcpServers": {')}`);
|
|
494
|
+
console.log(` ${c.c(' "localpov": {')}`);
|
|
495
|
+
console.log(` ${c.c(' "command": "npx",')}`);
|
|
496
|
+
console.log(` ${c.c(' "args": ["-y", "localpov", "--mcp"]')}`);
|
|
497
|
+
console.log(` ${c.c(' }')}`);
|
|
498
|
+
console.log(` ${c.c(' }')}`);
|
|
499
|
+
console.log(` ${c.c('}')}`);
|
|
461
500
|
}
|
|
462
|
-
console.log('');
|
|
463
501
|
|
|
502
|
+
console.log('');
|
|
464
503
|
markSetupDone();
|
|
465
|
-
console.log(` ${c.g('✓')}
|
|
504
|
+
console.log(` ${c.g('✓')} Ready. Starting LocalPOV...\n`);
|
|
466
505
|
}
|
|
467
506
|
|
|
468
507
|
async function main() {
|
|
@@ -594,6 +633,6 @@ process.on('SIGINT', () => { console.log(''); cleanup(); process.exit(0); });
|
|
|
594
633
|
process.on('SIGTERM', () => { cleanup(); process.exit(0); });
|
|
595
634
|
|
|
596
635
|
// MCP server handles its own lifecycle — skip main()
|
|
597
|
-
if (!flags.__mcp) {
|
|
636
|
+
if (!flags.__mcp && !flags.__doctor) {
|
|
598
637
|
main().catch((err) => { console.error(` ${c.r('Error:')} ${err.message}`); process.exit(1); });
|
|
599
638
|
}
|
package/dist/mcp-server.js
CHANGED
|
@@ -47,6 +47,9 @@ const browser_capture_1 = require("./collectors/browser-capture");
|
|
|
47
47
|
const build_parser_1 = require("./collectors/build-parser");
|
|
48
48
|
const system_info_1 = require("./utils/system-info");
|
|
49
49
|
const docker_watcher_1 = require("./collectors/docker-watcher");
|
|
50
|
+
const shell_init_1 = require("./utils/shell-init");
|
|
51
|
+
const scanner_1 = require("./utils/scanner");
|
|
52
|
+
const proxy_1 = require("./utils/proxy");
|
|
50
53
|
const pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '..', 'package.json'), 'utf8'));
|
|
51
54
|
// ── Instances ──
|
|
52
55
|
const sessions = new session_manager_1.SessionManager();
|
|
@@ -98,7 +101,45 @@ server.registerTool('get_diagnostics', {
|
|
|
98
101
|
const ports = await (0, system_info_1.checkPorts)();
|
|
99
102
|
const health = (0, system_info_1.getProcessHealth)();
|
|
100
103
|
const docker = (0, docker_watcher_1.dockerSummary)();
|
|
104
|
+
// ── Setup status checks ──
|
|
105
|
+
const setup = {};
|
|
106
|
+
setup.mcp_server = 'OK';
|
|
107
|
+
try {
|
|
108
|
+
const shell = (0, shell_init_1.detectShell)();
|
|
109
|
+
const initPath = (0, shell_init_1.getInitFilePath)(shell);
|
|
110
|
+
setup.shell_integration = fs_1.default.existsSync(initPath)
|
|
111
|
+
? `OK (${shell})`
|
|
112
|
+
: `NOT_INSTALLED — run: npx localpov setup`;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
setup.shell_integration = 'NOT_INSTALLED — run: npx localpov setup';
|
|
116
|
+
}
|
|
117
|
+
if (termDiag.sessions.active > 0) {
|
|
118
|
+
setup.terminal_capture = `OK (${termDiag.sessions.active} active session${termDiag.sessions.active > 1 ? 's' : ''})`;
|
|
119
|
+
}
|
|
120
|
+
else if (termDiag.sessions.total > 0) {
|
|
121
|
+
setup.terminal_capture = `NO_ACTIVE_SESSIONS — restart your terminal to start capturing`;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
setup.terminal_capture = 'NO_SESSIONS — restart your terminal after setup to start capturing';
|
|
125
|
+
}
|
|
126
|
+
const hasBrowserData = browserSummary.console.total > 0 || browserSummary.network.total > 0 || browserSummary.hasScreenshot;
|
|
127
|
+
if (proxyServer) {
|
|
128
|
+
setup.browser_proxy = hasBrowserData
|
|
129
|
+
? 'OK'
|
|
130
|
+
: `RUNNING (localhost:${PROXY_LISTEN_PORT}) — open http://localhost:${PROXY_LISTEN_PORT} in your browser to start capturing`;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
setup.browser_proxy = 'NOT_STARTED — no dev server detected. Start one (e.g. npm run dev) and restart your AI agent';
|
|
134
|
+
}
|
|
135
|
+
// ── Summary ──
|
|
101
136
|
const parts = [];
|
|
137
|
+
if (setup.shell_integration.startsWith('NOT'))
|
|
138
|
+
parts.push('shell integration not installed');
|
|
139
|
+
if (setup.terminal_capture.startsWith('NO'))
|
|
140
|
+
parts.push('no terminal sessions captured');
|
|
141
|
+
if (setup.browser_proxy.startsWith('NOT'))
|
|
142
|
+
parts.push('browser proxy not connected');
|
|
102
143
|
if (termDiag.errors.total > 0)
|
|
103
144
|
parts.push(`${termDiag.errors.total} terminal error(s)`);
|
|
104
145
|
if (browserSummary.console.errors > 0)
|
|
@@ -112,8 +153,9 @@ server.registerTool('get_diagnostics', {
|
|
|
112
153
|
if (ports.down.length > 0)
|
|
113
154
|
parts.push(`ports down: ${ports.down.join(', ')}`);
|
|
114
155
|
if (parts.length === 0)
|
|
115
|
-
parts.push('All clear — no errors detected');
|
|
156
|
+
parts.push('All clear — everything is set up and no errors detected');
|
|
116
157
|
return textResult({
|
|
158
|
+
setup,
|
|
117
159
|
summary: parts.join('. ') + '.',
|
|
118
160
|
terminal: {
|
|
119
161
|
activeSessions: termDiag.sessions.active,
|
|
@@ -279,6 +321,19 @@ server.registerTool('read_browser', {
|
|
|
279
321
|
if (source === 'network' || source === 'all') {
|
|
280
322
|
result.network = browser.getNetworkEntries({ errorsOnly: errors_only, limit: cappedLimit });
|
|
281
323
|
}
|
|
324
|
+
// Check if proxy is not running / no browser connected
|
|
325
|
+
const consoleArr = result.console;
|
|
326
|
+
const networkArr = result.network;
|
|
327
|
+
const isEmpty = (!consoleArr || consoleArr.length === 0) && (!networkArr || networkArr.length === 0);
|
|
328
|
+
if (isEmpty) {
|
|
329
|
+
result.status = 'NOT_CONNECTED';
|
|
330
|
+
if (proxyServer) {
|
|
331
|
+
result.help = `Browser proxy is running on localhost:${PROXY_LISTEN_PORT} but no browser is connected. Open http://localhost:${PROXY_LISTEN_PORT} in your browser to start capturing console/network data.`;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
result.help = 'No dev server detected. Start your dev server (e.g. npm run dev), then restart your AI agent. LocalPOV will auto-detect it and start the browser proxy.';
|
|
335
|
+
}
|
|
336
|
+
}
|
|
282
337
|
return textResult(result);
|
|
283
338
|
});
|
|
284
339
|
// ────────────────────────────────────────────────────────────
|
|
@@ -487,12 +542,47 @@ process.on('unhandledRejection', (reason) => {
|
|
|
487
542
|
const msg = reason instanceof Error ? reason.message : String(reason);
|
|
488
543
|
process.stderr.write(`LocalPOV MCP unhandled rejection: ${msg}\n`);
|
|
489
544
|
});
|
|
545
|
+
process.on('SIGINT', () => { if (proxyServer)
|
|
546
|
+
proxyServer.close(); process.exit(0); });
|
|
547
|
+
process.on('SIGTERM', () => { if (proxyServer)
|
|
548
|
+
proxyServer.close(); process.exit(0); });
|
|
549
|
+
let proxyServer = null;
|
|
550
|
+
const PROXY_LISTEN_PORT = parseInt(process.env.LOCALPOV_PORT || '4000', 10);
|
|
551
|
+
async function startAutoProxy() {
|
|
552
|
+
try {
|
|
553
|
+
const apps = await (0, scanner_1.scanPorts)();
|
|
554
|
+
if (apps.length === 0) {
|
|
555
|
+
process.stderr.write(`[localpov] No dev servers detected — browser proxy not started\n`);
|
|
556
|
+
process.stderr.write(`[localpov] Start a dev server, then restart your AI agent to auto-detect it\n`);
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
const targetPort = apps[0].port;
|
|
560
|
+
proxyServer = (0, proxy_1.createServer)({
|
|
561
|
+
targetPort,
|
|
562
|
+
listenPort: PROXY_LISTEN_PORT,
|
|
563
|
+
browserCapture: browser,
|
|
564
|
+
onLog: (level, msg) => {
|
|
565
|
+
if (level === 'error')
|
|
566
|
+
process.stderr.write(`[localpov] ${msg}\n`);
|
|
567
|
+
},
|
|
568
|
+
onReady: () => {
|
|
569
|
+
process.stderr.write(`[localpov] Browser proxy: localhost:${PROXY_LISTEN_PORT} → localhost:${targetPort}\n`);
|
|
570
|
+
process.stderr.write(`[localpov] Open http://localhost:${PROXY_LISTEN_PORT} in your browser for console/network capture\n`);
|
|
571
|
+
process.stderr.write(`[localpov] Dashboard: http://localhost:${PROXY_LISTEN_PORT}/__localpov__/\n`);
|
|
572
|
+
},
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
catch (err) {
|
|
576
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
577
|
+
process.stderr.write(`[localpov] Browser proxy failed to start: ${msg}\n`);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
490
580
|
async function main() {
|
|
491
581
|
// Auto-setup shell integration if not done yet
|
|
492
582
|
try {
|
|
493
|
-
const { setup, detectShell } = await Promise.resolve().then(() => __importStar(require('./utils/shell-init')));
|
|
494
|
-
const shell =
|
|
495
|
-
const result =
|
|
583
|
+
const { setup: shellSetup, detectShell: detect } = await Promise.resolve().then(() => __importStar(require('./utils/shell-init')));
|
|
584
|
+
const shell = detect();
|
|
585
|
+
const result = shellSetup(shell);
|
|
496
586
|
if (result.success && !result.already) {
|
|
497
587
|
process.stderr.write(`[localpov] Auto-installed shell integration for ${shell}\n`);
|
|
498
588
|
process.stderr.write(`[localpov] Restart your terminal to start capturing sessions\n`);
|
|
@@ -501,6 +591,8 @@ async function main() {
|
|
|
501
591
|
catch {
|
|
502
592
|
// Non-fatal — shell integration is optional
|
|
503
593
|
}
|
|
594
|
+
// Auto-start browser proxy if a dev server is detected
|
|
595
|
+
await startAutoProxy();
|
|
504
596
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
505
597
|
await server.connect(transport);
|
|
506
598
|
sessions.cleanup();
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "localpov",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Development context bridge for AI coding agents. Terminal capture, browser console, network logs, screenshots, Docker logs — one MCP server.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"localpov": "bin/localpov.js",
|