Bezlo MCP

io.github.gba3124Published by GitHub account gba3124v0.1.2Updated Oct 29, 2026

Bezlo MCP: device-preset mobile screenshots, layout diagnostics, see-and-act sessions.

The publisher's own server: AnyHook

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Local MCP server that renders web pages in iPhone, iPad and Android device frames so an assistant can screenshot, inspect and act on them.

What you can do
  • Capture device-preset screenshots of a URL, including multi-device matrix runs
  • List interactive elements and run layout diagnostics such as overflow, safe-area and touch identity
  • Read console and page errors, and apply network mocks
  • Drive see-and-act flows with tap, type and scroll actions, plus assertions
  • Produce evidence artifacts: report.json, JUnit XML, and optional mp4 or gif recordings
When to use it
Useful when checking how a web app looks and behaves on mobile devices, debugging responsive layout problems, or running scripted mobile interaction flows and capturing evidence for reviews or CI.
Requirements
Runs as a local stdio process, typically via npx from the npm package bezlo-mcp. No browser is bundled: Chrome or Chromium must be installed, or the RP_CHROME variable set; WebKit mode additionally needs Playwright WebKit installed. The target page must be reachable from the machine.
Before you install
The server drives a real browser against the given URL and can type into and submit forms, so actions may change data on the target site. Recordings and screenshots capture page content, which may include personal or session data. The Chrome extension is proprietary and separate from this MIT-licensed agent layer.

Installation

In SourceWeft

  1. Open Bezlo MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Bezlo — open agent layer

Bezlo puts any web page inside a true-to-size iPhone / iPad / Android frame and lets an AI agent see it and act on it: screenshots, interactive-element lists, layout diagnostics (overflow, safe-area, touch identity), console/page errors, network mocks, tap/type/scroll flows, device matrix runs — and report.json / JUnit / mp4 evidence.

This repository is the MIT-licensed agent layer:

  • mcp/ — MCP stdio server + CLI + session/capture engine (also on npm as bezlo-mcp)
  • action.yml + examples/ — composite GitHub Action (PR screenshots + JUnit + video)
  • skill/ — the bezlo-preview skill for Claude Code / skills-compatible agents
  • server.json — official MCP registry manifest
  • docs/MCP.md — full tool reference

The Chrome extension itself is proprietary and lives in a separate private repo (extension/, store art, brand). This repository contains no extension code, store assets or brand artwork. The name Bezlo and its logo are not licensed for reuse.

Install

bash
# MCP (Claude Code / Claude Desktop / Cursor)npm install -g bezlo-mcpclaude mcp add bezlo -- npx -y bezlo-mcp
# or run from a checkoutnode mcp/cli.mjs --list

The package bundles no browser: install Chrome/Chromium (or set RP_CHROME). Chrome for Testing is recommended; WebKit mode additionally needs npx playwright install webkit.

Quick CLI

bash
node mcp/cli.mjs --url http://localhost:3000 --device iphone16 --out shot.pngnode mcp/cli.mjs --url http://localhost:3000 --matrix --devices iphone16,ipadpro11,px10 --out ./matrixnode mcp/cli.mjs --url http://localhost:3000 \  --actions '[{"type":"click","text":"Sign in"},{"type":"type","selector":"#email","value":"[email protected]","submit":true}]' \  --record --assert '[{"type":"noOverflow"},{"type":"noConsoleErrors"}]' --out after.png

GitHub Action

yaml
- uses: gba3124/bezlo@main  id: bezlo  with:    url: http://localhost:3000    device: iphone16    steps: '[{"type":"click","text":"Sign in"}]'    asserts: '[{"type":"noOverflow"},{"type":"noConsoleErrors"}]'    record: 'true'

Artifacts: final screenshot, report.json, junit.xml, optional mp4/gif. Outputs: pass, report, junit, video, gif, screenshot, artifacts.

Engines

  • chromium (default) — Chrome's own emulation engine (same as the extension's frames): real touch, mobile UA and client hints, DPR; full recording and CDP accessibility.
  • webkit — Playwright WebKit, a Safari-flavoured approximation (not real iOS Safari; no recording / CDP a11y).

License

MIT — see LICENSE. The Chrome extension, store assets and the Bezlo brand are not covered by this license and are not part of this repository.

Source: README.md at commit 149326a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Anyhook integrations