LabscoMCP early access ↗
segentic-labMCP SERVER · OFFICIAL PROJECT

Periscope MCP

74 Playwright tools built for QA rather than browsing — assertions return a verdict, form filling is one call, and a whole site audits itself.

by segentic-lab ↗Automated Testing & QA✓ Official

LABSCO SUMMARY

The tools encode the testing, which is the whole difference.

Raw browser control makes an agent reinvent the QA loop every session: click, screenshot, squint, decide. Here the decision is the return value — assert_condition gives a boolean and the value it read, and silent no-ops such as an ignored drag come back flagged instead of as fake success. test_project is the one to reach for first on an unfamiliar site, because it produces a saved report rather than a transcript. This is not a replacement for a general browsing server; it is what you connect when the job is finding and reporting defects.

What it is

An MCP server that gives an agent a browser shaped for testing. It drives headless Chrome through Playwright, but the tools are higher level than the browser API: assertions return pass or fail with the actual value, a form is filled in one call, and a site-wide crawl plus accessibility, SEO, visual and functionality checks is a single tool.

What you get

  • Hard verdicts instead of screenshots to interpret — assert_condition returns passed with the value it saw, and assert_all runs a batch without aborting on the first failure
  • Site-wide work in one call — test_project crawls and audits every page and saves a report; test_url covers a single page; crawl_project just discovers what exists
  • Persistent authenticated sessions, including form, basic and cookie auth, and a visible interactive login for 2FA, SSO or CAPTCHA that then continues headless
  • Multi-step flows through interact_and_test, which batches 25 step actions from click and fill through drag, upload and evaluate_js
  • Form work that does not take a call per field — auto_fill_form detects the fields, infers realistic data, and reports per-field failures
  • Debugging captured without setup — get_console_errors, get_network_log, get_response_body for the actual API body behind a 500, and intercept_network to mock a response and test the error state
  • Real measurements rather than proxies — run_lighthouse for genuine Lighthouse scores and get_interaction_log for INP measured from the interactions it drove
  • Audits a browser binding cannot give you — accessibility, SEO, colour contrast against WCAG, and a GEO check covering robots.txt AI-crawler access, llms.txt, WebMCP annotations and JSON-LD
  • State handling for tricky flows — page_state snapshots, restores and diffs; select_page adopts a popup as a drivable session; select_iframe steps inside a frame
  • describe_tools returns the whole catalog with workflows and tips, so an agent can orient itself without you pasting documentation

Requirements

Python 3.11 or higher, plus Playwright and Chromium. On Debian or Ubuntu the install script does the whole thing — prerequisites, virtual environment, dependencies, Chromium, a headless self-test — and writes an mcp-config.json with absolute paths for your machine; --system-chromium uses a browser you already have. On other platforms it prints the commands rather than changing anything. A Docker compose setup is included. The client points at venv/bin/python server.py over stdio. run_lighthouse additionally needs Node.js.

Setup effort

Build from source — clone the repository, then follow the steps on this page and add the configuration for your client