Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

client-smoke: drive the Inspector web UI with Playwright instead of calling it hand-only

Open Beginner friendly
#5,170 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript, playwright

Research direction

Find the client-smoke skill and update its Inspector web UI section using the launch, connection, select, result, elicitation, isolation, and era details in the issue. Start by checking the existing CLI recipe for its Inspector and Playwright version pins. Done when the web UI instructions provide a pinned Playwright recipe that covers both protocol eras and their stated differences.

Written by the indexing model from the issue text.

Description

documentation v2

The client-smoke skill says the Inspector web UI is "the hand-driven path. It needs a person at a browser; this repo configures no browser automation". So an agent defers elicitation, sampling, URL-elicitation, progress and tasks checks to a maintainer. During the v2.0.0 release, that left those round-trips unverified and listed as a ledger finding.

They don't need a person. The v2.0.0 ledger drove Inspector 2.11.0's web UI with Playwright (headless Chromium) in both eras: 11 scenarios in legacy and 15 in modern, including the tasks tools.

Change

Replace the web UI section's "by hand" framing with a Playwright recipe:

  • Launch: start --web --protocol-era legacy|modern, and read the tokenized URL from stdout.
  • Connect: the Mantine switch needs check({ force: true }). Screen tabs are reached by clicking label[for$="-Tools"].
  • Selects: a Mantine Select is read-only. Click it, then press ArrowDown and Enter.
  • Results: the panel's heading is "Results", or "Tool Call Failed" for a tool error.
  • URL elicitation: "I've completed it" appears only after "Open in Browser", which opens a popup page.
  • Multi-step elicitation: the open dialog is reused between steps, so wait for its text to change, not for it to close.
  • Isolation: use one fresh page and connection per scenario.
  • Era differences: in legacy, trigger-url-elicitation errorPath=true shows two dialogs (the -32042 path, then the retry). Modern shows one.

Keep the version pins (Inspector, Playwright) in the recipe, as the CLI section does.

Dominant language
JavaScript
Stars
91.2k
Forks
11.8k
Avg merge
7h 51m
Merged PRs (30d)
121

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from modelcontextprotocol/servers

All issues in modelcontextprotocol/servers

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.