WebKitUI MCP 0.6.1 — superseded, use 0.6.5
⚠️ 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, TeamTDV6D5L785 - Verify with
shasum -a 256againstSHA256SUMS
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 anaria-hiddenpainted 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-relayarchive 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