ViewportWitness by Apex Labs

Agent website testing: browser QA, visual regression, Markdown extraction, and security checks.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,385Tokens (Tool-Definitionen)
~1.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.08% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "viewport-witness": {
      "url": "https://qa.honeygate.app/mcp"
    }
  }
}

Remote-Endpunkte

https://qa.honeygate.app/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🔴check_page(url)

Choose this for broad website testing when the caller wants screenshots, responsive layout checks, accessibility findings, console/network errors, performance evidence, and a release diagnosis across phone portrait, phone landscape, and desktop. For explicit pass/fail assertions use verify_page instead. Costs $0.08 USDC via x402. Requires an x402-aware client to authorise payment; standard AI assistants cannot automatically sign x402.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS page URL. Private, loopback, credentialed, and non-HTTPS URLs are rejected."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴verify_page(url, assertions)

Choose this only when the caller supplies explicit website assertions that need pass/fail results across three viewports. For broad exploratory browser QA use check_page instead. Assertion types: noHorizontalOverflow, noConsoleErrors, textVisible, titleIncludes, selectorExists, selectorVisible. Costs $0.10 USDC via x402. Requires an x402-aware client; standard AI assistants cannot automatically sign x402.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS page URL. Private, loopback, credentialed, and non-HTTPS URLs are rejected."
    },
    "assertions": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "noHorizontalOverflow"
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "noConsoleErrors"
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "textVisible"
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "description": "Visible text to find on the rendered page."
              }
            },
            "required": [
              "type",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "titleIncludes"
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "description": "Text that the document title must include."
              }
            },
            "required": [
              "type",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "selectorExists"
              },
              "selector": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300,
                "description": "CSS selector that must exist in the DOM."
              }
            },
            "required": [
              "type",
              "selector"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "selectorVisible"
              },
              "selector": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300,
                "description": "CSS selector that must be visibly rendered."
              }
            },
            "required": [
              "type",
              "selector"
            ],
            "additionalProperties": false
          }
        ]
      },
      "minItems": 1,
      "maxItems": 20,
      "description": "One to twenty explicit pass/fail assertions to evaluate across all three viewports."
    }
  },
  "required": [
    "url",
    "assertions"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴compare_page(url, baselineJobId)

Choose this for visual regression testing after check_page has produced a completed, unexpired baseline. Compares screenshots and QA evidence, returning pixel-diff percentages, new or resolved accessibility issues, error deltas, performance evidence, and diagnosis. Costs $0.12 USDC via x402. Requires an x402-aware client; standard AI assistants cannot automatically sign x402.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS page URL. Private, loopback, credentialed, and non-HTTPS URLs are rejected."
    },
    "baselineJobId": {
      "type": "string",
      "format": "uuid",
      "description": "Completed, unexpired ViewportWitness check job to use as the visual baseline."
    }
  },
  "required": [
    "url",
    "baselineJobId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴extract_page(url, maxOutputTokens)

Choose this when an agent needs the readable content of a public webpage as deterministic clean Markdown, without screenshots or browser execution. Costs $0.005 USDC via x402.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS page URL. Private, loopback, credentialed, and non-HTTPS URLs are rejected."
    },
    "maxOutputTokens": {
      "type": "integer",
      "minimum": 500,
      "maximum": 12000,
      "description": "Optional approximate output budget from 500 to 12000 tokens."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴web_release_gate(url)

Choose this for a passive website release-security review of headers, cookie flags, mixed content, cross-origin script integrity, and server disclosure. It does not run browser QA, probe the site, execute code, or replace a security audit. Costs $0.05 USDC via x402.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS page URL. Private, loopback, credentialed, and non-HTTPS URLs are rejected."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_report(jobId)

Retrieve the status or completed QA report for a previously submitted job. Free and read-only. Poll until status is "complete", "failed", or "retryable". No payment required.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "format": "uuid",
      "description": "ViewportWitness job UUID returned by a paid tool."
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools