# pxtree (npm · pxtree)

Measures how a webpage actually renders and prints it as compact text for AI coding agents.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- npm · `pxtree`: 67/100 (this document), [markdown](https://verifymcp.io/servers/alabsi91-pxtree/pxtree.md), [page](https://verifymcp.io/servers/alabsi91-pxtree/pxtree)

## Channel facts

- Registry: `npm`
- Package: `pxtree`
- Version: `0.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 57/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 804 tokens (~402/item across 2 items; 2 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 3 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the pxtree MCP server?

pxtree runs locally as an npm package, launched with npx -y pxtree. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add alabsi91-pxtree -- npx -y pxtree
```

### Cursor

```json
{
  "mcpServers": {
    "alabsi91-pxtree": {
      "command": "npx",
      "args": [
        "-y",
        "pxtree"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "alabsi91-pxtree": {
      "command": "npx",
      "args": [
        "-y",
        "pxtree"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add alabsi91-pxtree -- npx -y pxtree
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "alabsi91-pxtree": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "pxtree"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add alabsi91-pxtree --command npx --arg -y --arg pxtree
```

### Hermes

```yaml
mcp_servers:
  alabsi91-pxtree:
    command: "npx"
    args: ["-y", "pxtree"]
```

### Netclaw

```json
{
  "McpServers": {
    "alabsi91-pxtree": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "pxtree"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add alabsi91-pxtree -t stdio -c npx -a -y pxtree
```

### Other

```json
{
  "mcpServers": {
    "alabsi91-pxtree": {
      "command": "npx",
      "args": [
        "-y",
        "pxtree"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 67)

First indexed and scored.

## MCP tools (2)

### `measure` (~731 tokens)

Measures how a webpage renders in headless Chromium and returns compact text: a facts line, changes since the last run, a findings summary, then an indented tree, one line per element. Findings are measurements that passed a threshold, never verdicts.

Parameters: target (URL, host or HTML file path), viewports, schemes, scroll, element, children, colors, wait, script (Playwright page code), screenshot, timeout, diff, diffKey, report (tree, findings, summary, changes or none), aria (names, roles, states). One call returns the report, aria tree and screenshot for every viewport, scheme and scroll stop. Never split a question into parallel calls: one browser page, calls run one at a time.

Call read_me_first once per session before the first measure to learn the tags and findings.

Input parameters:

- `aria` (boolean): A boolean: add Playwright's aria snapshot of the page, or of each element match, after the report
- `children` (boolean): A boolean. With element: include what is inside the matches. Default true
- `colors` (boolean): A boolean: print hex colors in [text] and [renders]
- `diff` (boolean): A boolean: compare with the previous run of the same target and settings. Default true
- `diffKey` (string): A name string that replaces script and wait in the since-last-run key, to compare a scripted run with a plain run that used the same name
- `element` (string): A CSS selector string: print only matching elements and their ancestor lines
- `maxChars` (number): A number: the longest report in characters. Past it the tree is cut at a line; facts, since last run and summary stay. Default 80000
- `report` (string): One of "tree", "findings", "summary", "changes", "none". tree: everything. findings: only lines with findings and their ancestors. summary: no tree. changes: facts line and since last run. none: fact…
- `schemes` (array): An array of "light" and "dark", the prefers-color-scheme per run. Default ["light"]
- `screenshot` (boolean): A boolean: save a PNG per run under the OS temp directory and return its path
- `script` (string): A string: the body of async (page) => {}, or a whole function like async (page) => {}, run with the Playwright page before measuring. It is trusted code that runs as Node in the server process with i…
- `scroll`: A stop or an array of stops: a number or digit string is a window y offset, "end" is the bottom, anything else is a CSS selector to scroll to the top. An array measures each stop in turn, one run per…
- `target` (string, required): A string: URL, host like localhost:5173, or HTML file path under the working directory
- `timeout` (number): A number of milliseconds to reach DOMContentLoaded. The script, a wait, reveal, settle and measuring each get this long again. Default 30000
- `viewports` (array): An array of { width, height } with integer numbers, one run each. Default [{ width: 1280, height: 800 }]
- `wait`: After the script: a number or digit string of milliseconds to sleep, at most timeout, or a CSS selector string to wait up to timeout for

### `read_me_first` (~31 tokens)

Read once per session before the first measure. How to use pxtree and how to read its output.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/alabsi91-pxtree/pxtree#diagnostics

## Score history

- 2026-09-26: 67
- 2026-09-25: 67
- 2026-09-24: 67

## Common questions

### What is the pxtree MCP server?

pxtree is an MCP server listed in the public MCP registry as io.github.alabsi91/pxtree. Measures how a webpage actually renders and prints it as compact text for AI coding agents. This page covers its npm package (pxtree).

### Is the pxtree MCP server safe to use?

pxtree scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the pxtree MCP server expose?

pxtree exposes 2 tools: measure, read_me_first. Their descriptions and schemas cost roughly 762 tokens of context every time the server is loaded.

### Is the pxtree MCP server still maintained?

pxtree is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the pxtree MCP server under?

pxtree declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/pxtree
- Socket report: https://socket.dev/npm/package/pxtree
- Repository: https://github.com/alabsi91/pxtree
- Changelog RSS feed: https://verifymcp.io/servers/alabsi91-pxtree/pxtree.xml
- Changelog JSON feed: https://verifymcp.io/servers/alabsi91-pxtree/pxtree.json
- HTML version of this page: https://verifymcp.io/servers/alabsi91-pxtree/pxtree
