github / github/copilot-cli

Playwright mcp - navigate fails on localhost

Open
#4,232 0 comments 0 reactions 0 assignees View on GitHub
area:mcp area:networking
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

In the agents tab, Playwright MCP browser_navigate never reaches a web server running on localhost. This might be a regression as I have seen this work.

Apologies if this is the wrong place to report this!

### Affected version

cloud

### Steps to reproduce the behavior

1. Create a new repo
2. Include test-ui.js
3. Start new agents tab. Ask co-pilot to start the app and take a screenshot

### Expected behavior

Co-pilot uses browser_navigate tool to access UI on localhost

### Additional context

test-ui.js:
```
#!/usr/bin/env node
/*
* test-ui.js — a minimal, zero-dependency, NO-AUTH frontend.
*
* Purpose: isolate whether the Copilot screenshot problem is Backstage-specific
* or lives in the MCP/screenshot pipeline. This serves a single static page with
* no sign-in, no catalog, no build step, no framework — just Node's built-in http.
*
* Run from the repo root: node test-ui.js
* Then open: http://127.0.0.1:8080 (also http://localhost:8080)
* Override the port with: PORT=1234 node test-ui.js
*/
const http = require('http');

const PORT = Number(process.env.PORT) || 8080;
// Loopback by default: a "normal" app that does NOT do the all-interfaces workaround.
// Flip to all-interfaces for comparison with: HOST=0.0.0.0 node test-ui.js
const HOST = process.env.HOST || '127.0.0.1';

const html = `




Test UI



TEST UI OK


No auth. Static page served by test-ui.js on port ${PORT}.



Screenshot me



`;

const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.end(html);
});

server.listen(PORT, HOST, () => {
console.log(`test-ui listening on http://${HOST}:${PORT}`);
console.log(`open http://127.0.0.1:${PORT} or http://localhost:${PORT}`);
});
```

Contributor guide

Open the contributing guide

Research direction

Start from the browser_navigate entry point and run node test-ui.js from the repository root. Compare access to localhost and 127.0.0.1, then repeat with HOST=0.0.0.0 node test-ui.js in a new agents tab. Done means Playwright MCP reaches the local page and Copilot can take its screenshot.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, playwright
Domain
devtools, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.