Skip to content

WebKitUI MCP 0.6.1 — superseded, use 0.6.5

Choose a tag to compare

@lowrisk75 lowrisk75 released this 06 Sep 08:12
· 10 commits to main since this release
681086a

⚠️ Licence : cette release contredit sa propre LICENSE

THIRD_PARTY_NOTICES.md y déclare "The project license is the MIT License in LICENSE", alors que le fichier LICENSE livré à côté est la Business Source License 1.1. LICENSE fait foi et a toujours été BUSL. La phrase est corrigée à partir de 0.6.4.

Utilisez 0.6.4.

A native WebKit browser for MCP clients on Apple silicon. Every write passes an
exact local confirmation, and every confirmed write carries a receipt saying what
was dispatched and what was verified.

Install

Unzip and move WebKitUI MCP.app to ~/Applications. Notarised and stapled:
Gatekeeper accepts it without a right-click bypass.

  • Apple silicon Mac, macOS 15 or later
  • Signed Developer ID Application, Team TDV6D5L785
  • Verify with shasum -a 256 against SHA256SUMS

Licence

Business Source License 1.1. The source is readable, auditable and modifiable.
Production use is granted for personal noncommercial use, qualifying
noncommercial organization use, and evaluation. Commercial production use
requires an agreement with the Licensor. This version converts to Apache 2.0 on
2030-08-28.

What changed

Two days of field diagnosis against real submission consoles, fixing the defects
that made the tool wrong rather than merely limited.

  • Controls that could not be seen. A Material checkbox renders as a hidden
    input beside an aria-hidden painted box; both halves were filtered away, so
    whole publishing forms observed as empty. The pair is one target now, addressed
    by its visible half and borrowing that half's label.
  • Controls that could not be reached. Twenty-two identical anonymous
    checkboxes resolved to twenty-two candidates each. An element is addressed by
    the identity the observation handed out; position separates identical controls,
    but only while the set it indexes is unchanged.
  • Pages only partly read, in silence. Truncation and unreadable cross-origin
    frames both returned a partial view with nothing said, and an agent read one as
    a missing declaration and warned its user the app risked rejection.
    Observations now state whether they are complete.
  • Same-origin frames are walked and actuated, with geometry translated so a
    click lands where the element actually is.
  • Writes reported as failed that had succeeded. A five second budget was
    deciding whether a write happened rather than when to stop waiting. A client
    that believes it failed retries, and a retried write corrupts a page.
  • Scrolling moves the container the page actually scrolls; rich text
    editors
    receive text through WebKit's editing pipeline.

The host lease yields instead of stranding the next client, the holder is named
from its own handshake, the server says why it is exiting, and every element
reports whether it can be acted on and why not.

Known limits

  • Cross-origin frames cannot be read. That is a browser boundary. The
    observation says so rather than returning a page that looks complete.
  • A control with no layout box is reported and named, never claimed clickable.
  • The webkitui-mcp-relay archive is not included: signed, not yet notarised.

Verification

  • Notarisation submission 4244a0ca-35ca-4dc0-af35-8e2fbd40f112, accepted,
    stapled, Gatekeeper-verified after stapling
  • 276 tests, zero failures, on the repository's serialised gate
  • Source manifest reproducible byte-for-byte across regeneration