layout-debug-mcp

MCPcommunity
v0.2.0io.github.AntonChuraev99MITUpdated 4d agonpmGitHub

Select a layout layer on a live web or Android UI, move it, and hand the edit to any MCP agent.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
384Downloads/wk
2GitHub stars
4d agoLast update
Package
Authorio.github.AntonChuraev99
LicenseMIT
Version0.2.0
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface6 tools · none privileged
Security scan✓ Cleanv0.2.0 · 2d agoHow well does this scan work?
EvalsNone
IndexedOct 10, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

6 tools · none privileged
Statically extracted from the published packagev0.2.0 · 2d ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

open_windowStart the layout-debug server if it is not running and open its window in the browser. The window shows the live UI (a web page or an Android device); the user selects elements, moves them and writes requests there. Returns the window URL and how to listen for the user's messages (wait_for_message).

Start the layout-debug server if it is not running and open its window in the browser. The window shows the live UI (a web page or an Android device); the user selects elements, moves them and writes requests there. Returns the window URL and how to listen for the user's messages (wait_for_message).

No input schema was published for this tool.

wait_for_messageWait until the user sends a message or an edit from the layout-debug window, then return it: the comment, the element (anchors for finding it in code) and the live-edit measurements. Returns before common tool timeouts; a timeout result is normal, call it again. Call open_window first.

Wait until the user sends a message or an edit from the layout-debug window, then return it: the comment, the element (anchors for finding it in code) and the live-edit measurements. Returns before common tool timeouts; a timeout result is normal, call it again. Call open_window first.

No input schema was published for this tool.

layout_snapshotTree of the latest snapshot of the live UI: nodes, sizes, anchors for finding them in code. Truncated by depth.

Tree of the latest snapshot of the live UI: nodes, sizes, anchors for finding them in code. Truncated by depth.

No input schema was published for this tool.

selected_elementWhat the user has selected in the layout-debug window right now: box, anchors for finding it in code, ancestor chain, live edits.

What the user has selected in the layout-debug window right now: box, anchors for finding it in code, ancestor chain, live edits.

No input schema was published for this tool.

pending_requestsEdits the user sent from the layout-debug window that no agent has taken yet: comment + element facts + drag measurements. Each edit starts with its requestId. In listen mode use wait_for_message instead. Once you have handled an edit, report back via reply_in_window with that requestId: the user i…

Edits the user sent from the layout-debug window that no agent has taken yet: comment + element facts + drag measurements. Each edit starts with its requestId. In listen mode use wait_for_message instead. Once you have handled an edit, report back via reply_in_window with that requestId: the user i…

No input schema was published for this tool.

reply_in_windowWrite into the chat of the layout-debug window. Call it after handling a message from wait_for_message or pending_requests: the user is watching the window, and without this they will not know what you did. Keep it short: what you changed, in which files, what is left. If the edit could not be made…

Write into the chat of the layout-debug window. Call it after handling a message from wait_for_message or pending_requests: the user is watching the window, and without this they will not know what you did. Keep it short: what you changed, in which files, what is left. If the edit could not be made…

No input schema was published for this tool.

6 of 6 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Select a layout layer on a live web or Android UI, move it, and hand the edit to any MCP agent.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-10 — observed resolution, not a publisher declaration.

60 packages resolved · 3 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+43 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.