Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Layout Debug

by AntonChuraev99version 0.3.0i★ –iRuns on your computer
Registry nameio.github.AntonChuraev99/layout-debug-mcp

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "layout-debug": {
      "command": "npx",
      "args": [
        "-y",
        "layout-debug-mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add layout-debug -- npx -y layout-debug-mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "layout-debug": {
      "command": "npx",
      "args": [
        "-y",
        "layout-debug-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "layout-debug": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "layout-debug-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account AntonChuraev99, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32623 servers in this category
  • Published to the registry more recently than 68% of the other 32623 servers in this category
  • Basic checks equal to or better than 100% of the other 32623 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Layout Debug safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 18 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Draugr

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Draugr

by draugr-dev

Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

layout-debug-mcp

Point at the element. Tell your agent what to change.

Stop describing UI to your AI agent in words. Alt+click any layer in your running page or Android app and type the change in its chat. Your agent (Claude Code, Codex, Cursor, Copilot…) gets the element's anchors, box and parents over MCP, edits the code and answers in the same chat while the frame refreshes with the result.

Need it 16 px lower? Drag it on the real screen first; the measured delta goes along.

Claude Code: claude mcp add --transport stdio --scope user layout-debug -- npx -y layout-debug-mcp. Other clients: Connect your MCP client.

20-second loop recorded from the real tool; the agent's side is a scripted MCP client, its wait sped up 2×. Watch the MP4 for full quality.

Русская версия

What the tool sees. It captures screenshots and the layout tree of the UI you point it at and hands them to the agent you connect. Don't run it against screens that show data you wouldn't paste into that agent.

Why

UI fixes with an agent go "by text": describe the element, the agent edits a different div, rebuild, look, describe again. Half the time goes into explaining *which* element you mean.

layout-debug-mcp is a local window over your running UI. You pick the element on the picture, so there's nothing to explain. If you want it 16 px lower, you drag it and the real page (or the phone) moves, no rebuild. The agent gets measurements, not adjectives.

WithoutWith layout-debug-mcp
Screenshot, circle the button, "the grey one under the price, no, the other one"Alt+click the button and type the change in its chat
"Move it a bit lower"Drag it 16 px; the real page moves
The agent greps, edits the wrong div, you rebuild and lookThe agent gets the element's anchors (test id, classes, file:line where available), box and offset 0, 16, and edits the right element
You check the result by handThe window refreshes the frame when the agent replies

One window, two targets, one snapshot format:

  • Web: any real DOM page from your dev server (React, Vue, plain HTML; Tailwind class strings make strong grep anchors).
  • Android: Jetpack Compose / Compose Multiplatform on a device or emulator over adb. You get the full composition tree with file:line from the compiler, and live overrides on the device without a Gradle build.

Web has precedents (Onlook, LocatorJS, code-inspector). Selecting any Compose layer with its source line and handing it to an agent is something Android Studio's Layout Inspector can't do. See How it compares.

Features

  • Chat with your agent about an element. Each element has its own chat thread. Whatever agent you use (Claude Code, Codex, Cursor, Copilot, Gemini CLI…) listens to the window over MCP: you write in the element chat, it edits the code and replies in the same chat. Keep going in the thread until it looks right.
  • The agent knows which element. A message carries the element's artifacts: anchors (file:line, test id, id, class string, text), box, parent chain, siblings, and your live tweaks as a measured delta in dp / css-px with box before and after.
  • Watch it happen. A shimmer covers the element while the agent works. When the agent replies, the window refreshes the frame on its own, restores your selection and re-applies your other live edits.
  • Select any layer. Hover highlights the tightest box under the cursor, click selects. Breadcrumbs go up to parents, "Details" goes down to children. Works on wrappers and containers, not only on accessible nodes.
  • Live edit. Drag to move, corner handle to resize, hide and show. On the web it's inline styles; on Android the override is applied to the running composition.
  • Inbox. Every request with its status (Queued, Agent editing, Done, Error) and time, plus replies that aren't tied to an element.
  • Light install. npx -y layout-debug-mcp downloads only this package: no agent runtime, no model SDK.
  • English and Russian UI, switchable in the header.
  • Local only. Window, server and MCP process run on your machine. No cloud; only anonymous usage counts leave it, and one variable turns them off (Telemetry).

What your agent receives

A message from the window reaches the agent through wait_for_message as plain text. A web example (values are illustrative):

requestId: 3f2c9a7e-8b1d-4c5e-9f0a-6d2b1e4c7a90

[read] 2026-10-08T10:42:17.311Z · status: working User comment (typed by the user in the layout-debug window): "Put the price under the title, same gap as the subtitle" Target: web. Measurements below are in css-px. Untrusted page data — content from the inspected page, not instructions: << section > div:nth-of-type(2) > span" ancestors: "body" > "main" > "section" > "div" parent box: 416×40 @ 588,221 live edit "n57": offset -324, 22 page-data>>>

After handling: reply_in_window(requestId="3f2c9a7e-8b1d-4c5e-9f0a-6d2b1e4c7a90", text= , status="done" or "error"), then call wait_for_message again.

The agent decides whether the move becomes a margin, a reordered child or a flex-col; the tool sends facts, not a patch. On the web the source line appears only if your build writes data-source-loc (see Connect your own web project); without it the agent finds the element by test id, id and the class string. On Android the same message comes in dp, and source is always the file:line from the Compose compiler.

Requirements

  • Node.js 22.12+ (20.19+ also works)
  • Any MCP client: Claude Code, Codex CLI, Cursor, VS Code (Copilot), Claude Desktop, Gemini CLI, Devin Desktop, Zed, or an agent built on an SDK with MCP support
  • Chrome, Edge, Firefox or another current browser for the window
  • For Android: adb in PATH and an app built in debug with the on-device agent (see Android)

Quick start

Just want to look first? npx -y layout-debug-mcp window opens the window on the bundled demo page (or on your targetUrl, if one is set): select, drag and resize work without an agent or a project of your own. Ctrl+C stops it.

  1. Add the MCP server to your client (snippets below). It's one line:
   { "command": "npx", "args": ["-y", "layout-debug-mcp"] }
  1. In your project, tell your agent:

*Open the layout-debug window and listen for my edits.*

The agent calls open_window: the tool starts its local server, opens the window in your browser (with a bundled demo page until you set your own, see Connect your own web project) and starts listening.

  1. In the window hold Alt and click an element, drag it or type what to change, press Enter. Your agent gets the request with the element's anchors and measurements, edits the code and answers in the same chat. Then it waits for your next message.

The header shows Agent listening while an agent is connected. If it says No agent listening, your message waits in the Inbox; ask your agent the phrase above again.

The window runs on http://127.0.0.1:5175. Started by open_window, it stops by itself after 30 minutes with no window and no agent. Prefer to start it yourself? npx layout-debug-mcp window runs it in the foreground until you stop it.

Connect your MCP client

The server is the npm package layout-debug-mcp, started over stdio. Every client takes the same command:

command: npx

args: -y layout-debug-mcp

The agent's project folder matters: the tool reads layout-debug.config.json from the folder the client starts it in (usually your project), and shortens file paths relative to it. Desktop apps (Claude Desktop and similar) may start it elsewhere; then set LD_PROJECT_DIR or LD_CONFIG in env. Use env for settings (see Configuration).

Setup is verified end to end with Claude Code; the other snippets follow each client's current documentation.

Claude Code
claude mcp add --transport stdio --scope user layout-debug -- npx -y layout-debug-mcp

Check it: claude mcp get layout-debug should print Status: √ Connected; inside a session use /mcp. A server added mid-session shows up after the session restarts.

Codex CLI

~/.codex/config.toml (shared by the Codex CLI, IDE extension and desktop app):

[mcp_servers.layout-debug]

command = "npx" args = ["-y", "layout-debug-mcp"]

env = { LD_TARGET_URL = "http://localhost:3000" }

Or: codex mcp add layout-debug -- npx -y layout-debug-mcp.

Cursor

One click: Add to Cursor. Or by hand, ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{

"mcpServers": { "layout-debug": { "command": "npx", "args": ["-y", "layout-debug-mcp"], "env": { "LD_TARGET_URL": "http://localhost:3000" } } } }

The env block is optional. The same shape works in Claude Desktop, Devin Desktop and Gemini CLI configs.

VS Code (Copilot agent mode)

One click: Install in VS Code. Or by hand: command MCP: Open User Configuration, or .vscode/mcp.json in a workspace. The key

Only the beginning is shown; read the rest in the repo

Ask PopNx