Paid browser QA for AI agents across phone and desktop viewports, using x402.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Two low-resource paid agent tools complement browser QA: extract_page converts one public HTML page to deterministic Markdown for $0.005 USDC, and web_release_gate passively checks one public page's release security controls for $0.05 USDC. Both share the Base/Solana x402 rails, idempotency protection, single-worker queue, and seven-day report lifecycle. They do not accept caller-supplied HTML, credentials, cookies, custom headers, uploads, or private-network targets.
Remote MCP server and x402 API for AI-agent browser QA. Submit a public HTTPS URL and receive screenshots, accessibility findings, layout analysis, and structured JSON across phone and desktop viewports.
The live service is at https://qa.honeygate.app. A standard report costs $0.08 USDC, read-only assertions cost $0.10, and a baseline comparison costs $0.12. Local instances can run in test mode without payment.
Use an x402-aware client (e.g. @x402/fetch with a funded wallet) for paid requests.
See llms.txt for the full agent usage guide.
An ordinary HTTP request to any paid endpoint returns HTTP 402 β an x402 challenge
containing the network, asset, amount, and destination address. An x402-aware client
(such as @x402/fetch with a funded wallet) pays the challenge and retries automatically;
your code receives the successful JSON result. The examples below show the request shape only
β do not call the live service or send payment during development; use PAYMENT_MODE=test
locally (see Local development).
Submit a public HTTPS URL and receive screenshots, accessibility findings, layout analysis, and browser errors across phone and desktop viewports.
Run explicit read-only assertions against a live public HTTPS URL. The worker performs only non-mutating checks β no forms are submitted, no purchase or delete controls are clicked.
Diff the current render against a baseline job. baselineJobId must identify a completed,
unexpired ViewportWitness check that has screenshots for all three viewports (phonePortrait,
phoneLandscape, desktop). Baselines expire after seven days. The request is rejected if the
baseline job is pending, failed, or missing any viewport screenshot.
Safety: Only public HTTPS URLs are accepted. Loopback, private, link-local, and metadata addresses are blocked at every hop. The browser worker is non-mutating β no forms are submitted and no state-changing interactions are performed.
Local defaults to PAYMENT_MODE=test. No CDP keys needed for test mode. Results are labeled
paymentMode: "test" and do not represent real payment settlements.
| Method | Path | Description |
|---|---|---|
| GET | / | Service info |
| GET | /health | Liveness probe |
| GET | /ready | Readiness probe (DB + worker) |
| GET | /openapi.json | OpenAPI 3.1 spec |
| GET | /llms.txt | Agent usage guide |
| GET | /skill.md | Concise agent skill manifest |
| GET | /privacy | Privacy policy |
| GET | /terms | Terms of service |
| GET | /logo.png | Directory and integration logo |
| GET | /.well-known/x402 | Payment discovery |
| POST | /v1/checks | Create a QA check job |
| POST | /v1/verify | Check explicit read-only assertions |
| POST | /v1/compare | Compare against an unexpired baseline job |
| POST | /mcp | Remote MCP interface with x402-paid tools |
| GET | /v1/checks/:id | Poll job status / get report |
| GET | /v1/checks/:id/screenshots/:viewport | Download screenshot PNG |
| GET | /v1/checks/:id/diffs/:viewport | Download comparison diff PNG |
Viewports: phonePortrait (375Γ812), phoneLandscape (812Γ375), desktop (1440Γ900)
| Mode | Payment required | Network |
|---|---|---|
test | No | β (local dev only) |
testnet | Yes (x402) | Base Sepolia; optional Solana Devnet |
production | Yes (x402, $0.08 USDC) | Base mainnet; optional Solana mainnet |
Production mode requires ENABLE_MAINNET_PAYMENTS=true and a reviewed release.
Solana is separately off by default. Enabling it requires ENABLE_SOLANA_PAYMENTS=true, the
public test and revenue destinations, facilitator capability confirmation, and its own settlement
test. The application selects the correct destination from PAYMENT_MODE.
Paid modes also require a private CUSTOMER_HASH_SECRET of at least 32 characters. It creates a
stable, one-way customer label for repeat-use measurements; raw payer wallet addresses are not
stored. Attribution is best-effort and never blocks delivery after a verified payment. Changing
this secret starts a new measurement series and does not rewrite old jobs.
See docs/RUNBOOK.md for activation steps.
MIT License
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/viewportwitness-by-apex-labs)<a href="https://allmcps.com/mcp/viewportwitness-by-apex-labs"><img src="https://allmcps.com/api/badge/viewportwitness-by-apex-labs?style=directory" alt="ViewportWitness by Apex Labs on AllMCPs" /></a>