Skip to content
Development
MCP

domscribe

Ships with domscribe: Domscribe is a pixel-to-code development tool that bridges the gap between running web applications and their source code.

From plugin
domscribe
1951 skill1 MCP

Claude Code

> /plugin marketplace add patchorbit/domscribe
> /plugin install domscribe@domscribe

Security report

Found

Low risk

  • Known flaws

    None known

  • Signed build

    Yes

    Build provenance published

  • Maintained

    Nov 1, 2026

    Last push

  • Licence

    MIT

  • Runs as

    npx

    On your machine

  • Deprecated

    No

Signals from public registries, not an audit. Checked Nov 11, 2026.

domscribe README

@domscribe/mcp

Standalone MCP server that connects coding agents to Domscribe's runtime context via the Model Context Protocol.

Install

npm install @domscribe/mcp

Or use directly without installing:

npx -y @domscribe/mcp

Requires Node.js 20 or later.

Usage

Add domscribe to your MCP server configuration. The server communicates over stdio and requires no additional setup beyond a running Domscribe relay daemon.

{
  "mcpServers": {
    "domscribe": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@domscribe/mcp"]
    }
  }
}

The relay daemon starts automatically when you run your dev server with Domscribe configured. The MCP server connects to it on localhost and exposes the full Domscribe toolset to your coding agent.

MCP Tools Reference

Source Query (Code to UI)

Query source locations and retrieve live runtime context from the running browser session.

ToolDescription
domscribe.query.bySourceQuery a source file and line number to get live runtime context from the browser (props, state, DOM snapshot)
domscribe.manifest.queryFind all manifest entries by file path, component name, or element ID
domscribe.manifest.statsManifest coverage statistics (entry count, file count, component count, cache hit rate)

Element Resolution (UI to Code)

Resolve data-ds element IDs injected at build time back to their source locations.

ToolDescription
domscribe.resolveResolve a single data-ds element ID to its ManifestEntry (file, line, col, component)
domscribe.resolve.batchResolve multiple element IDs in one call

Annotation Workflow

Annotations are created when a developer clicks an element in the Domscribe overlay and enters intent. These tools drive the agent-side processing loop.

ToolDescription
domscribe.annotation.processAtomically claim the next queued annotation (claimNext) — prevents concurrent agent conflicts
domscribe.annotation.respondAttach agent response and transition annotation to PROCESSED
domscribe.annotation.updateStatusManually transition annotation status
domscribe.annotation.getRetrieve annotation by ID
domscribe.annotation.listList annotations with status and filter options
domscribe.annotation.searchFull-text search across annotation content

Post-Edit Verification

Deterministic verification that a UI edit actually took effect (RFC 0002). Capture a baseline before editing, edit, then verify — the verdict and per-property deltas are exact measurements, not vision-model judgments.

ToolDescription
domscribe.verify.baselineCapture a pre-edit snapshot (computed styles + geometry) of a rendered element; returns a baselineId
domscribe.verify.afterEditRe-capture and compare against the baseline; returns a verdict (match/partial/no_change/regression) with style deltas

System

ToolDescription
domscribe.statusRelay daemon health, manifest stats, and queue counts

MCP Prompts

Pre-built prompts that guide agents through common Domscribe workflows.

PromptPurpose
process_nextGuide through annotation processing
check_statusCheck relay status
explore_componentExplore component metadata
find_annotationsSearch for annotations

Example Responses

domscribe.query.bySource

Returns the source location matched in the manifest plus live runtime data captured from the browser.

{
  "sourceLocation": {
    "file": "src/components/Button.tsx",
    "line": 12,
    "column": 4,
    "componentName": "Button",
    "tagName": "button"
  },
  "runtime": {
    "componentProps": { "variant": "secondary", "onClick": "[Function]" },
    "componentState": { "hook_0": false, "hook_1": "idle" },
    "domSnapshot": {
      "tagName": "button",
      "attributes": { "class": "btn-secondary", "type": "submit" },
      "innerText": "Save changes"
    }
  },
  "browserConnected": true
}

Annotation Object

Returned by domscribe.annotation.get, domscribe.annotation.process, and related tools.

{
  "found": true,
  "annotationId": "ann_A1B2C3D4_1710500000",
  "userIntent": "Make this button use the primary color from the design system",
  "element": {
    "tagName": "button",
    "dataDs": "A1B2C3D4",
    "selector": "main > div > button",
    "attributes": { "class": "btn-secondary", "type": "submit" },
    "innerText": "Save changes"
  },
  "sourceLocation": {
    "file": "src/components/Button.tsx",
    "line": 12,
    "column": 4,
    "componentName": "Button",
    "tagName": "button"
  },
  "runtimeContext": {
    "componentProps": { "variant": "secondary", "onClick": "[Function]" },
    "componentState": { "hook_0": false, "hook_1": "idle" }
  }
}

Links

Part of Domscribe.

License

MIT

@patchorbit
Ships withdomscribe
1951 skill1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
195
Star history of patchorbit/domscribe on GitHub, a chart by star-history.com

More MCP servers from other plugins.

chrome-devtools
Auto-invoked

chrome-devtools

MCP

Connects to Chrome over the DevTools Protocol to inspect the DOM, network requests and console output.

ecc12d293k
@affaan-m@affaan-mInstall MCP
supabase

supabase

MCP

Queries a Supabase project: Postgres tables, auth users, storage and edge functions.

supabase10d114k
@supabase@supabaseInstall MCP

Questions about domscribe.

Which coding agents can use domscribe?
domscribe works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add domscribe to Claude Code?
Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add patchorbit/domscribe 2. In Claude Code: /plugin install domscribe@domscribe
Is domscribe safe to install?
Low risk. Signals from public registries, not an audit.