# io.github.Patrizzos/stylespeak (npm · @patrizzos/stylespeak)

MCP server and CLI that makes CSS legible to AI agents — explains what applies and why.

- Trust score: 69/100 (medium)
- Change this week: −6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@patrizzos/stylespeak`: 69/100 (this document), [markdown](https://verifymcp.io/servers/patrizzos-stylespeak/patrizzos-stylespeak.md), [page](https://verifymcp.io/servers/patrizzos-stylespeak/patrizzos-stylespeak)

## Channel facts

- Registry: `npm`
- Package: `@patrizzos/stylespeak`
- Version: `1.2.0`
- 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-08-04.

- **Supply Chain Security**: 100/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.
  - No production dependencies, so there is no dependency health to assess.
- **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 2 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 74/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 879 tokens (~175/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **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.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add patrizzos-stylespeak -- npx -y @patrizzos/stylespeak
```

### Codex

```bash
codex mcp add patrizzos-stylespeak -- npx -y @patrizzos/stylespeak
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add patrizzos-stylespeak --command npx --arg -y --arg @patrizzos/stylespeak
```

### Hermes

```yaml
mcp_servers:
  patrizzos-stylespeak:
    command: "npx"
    args: ["-y", "@patrizzos/stylespeak"]
```

### Other

```json
{
  "mcpServers": {
    "patrizzos-stylespeak": {
      "command": "npx",
      "args": [
        "-y",
        "@patrizzos/stylespeak"
      ]
    }
  }
}
```

## 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-08-04 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 68, +29)

- [functional regression] Schema quality: 489 → 879
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.20

### 2026-08-01 (score 39, −8)

- [security regression] Stability: 0.13 → unverified
- [security improvement] Malware scan: unverified → pass
- [security improvement] Source repository: fail → pass
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: fail → unverified
- [functional] Package version: 1.0.0 → 1.2.0
- [functional] Package version: 1.0.0 → 1.1.0

### 2026-07-31 (score 47, −10)

- [functional regression] Schema quality: 314 → 489
- [functional] First check of Stability: 0.13
- [functional] First check of MCP protocol: fail
- [functional] Package version: 0.3.0 → 1.0.0
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 57, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 75, +34)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100

### 2026-07-26 (score 41)

First indexed and scored.

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

## MCP tools (5)

### `resolve_styles` (~178 tokens)

Resolves what CSS actually applies to a given selector. Returns every property the selector would receive, which rule wins for each property, and which rules were overridden — with confidence levels (certain/likely/possible) since no real DOM is available. Call this before modifying styles for an element to understand the full cascade context first.

Input parameters:

- `componentFiles` (array): Optional: absolute paths to JSX/TSX files. When provided, builds an AST component graph to upgrade selector confidence from possible to likely where ancestry is confirmed.
- `files` (array): Absolute paths to CSS/SCSS files to analyze.
- `projectRoot` (string): Optional: path to a project root. All CSS/SCSS files will be discovered recursively.
- `selector` (string, required): CSS selector to resolve, e.g. ".btn.primary", "#header a:hover"

### `trace_property` (~136 tokens)

Traces a CSS property across all provided files — finding every rule that sets it, grouping competing rules that target overlapping selectors, and showing who wins in each group. Use this to understand the blast radius of a property before changing it, or to find out why a property value isn't applying as expected.

Input parameters:

- `files` (array): Absolute paths to CSS/SCSS files to analyze.
- `projectRoot` (string): Optional: path to a project root. All CSS/SCSS files will be discovered recursively.
- `property` (string, required): CSS property name to trace, e.g. "color", "background-color", "padding"

### `live_resolve` (~175 tokens)

Resolves CSS for a selector by querying a live running browser via Chrome DevTools Protocol (CDP). Returns exact computed styles and every matched rule in cascade order — no static analysis, no heuristics, confidence is always exact. Requires Chrome or any Chromium browser (Edge, Brave, Arc) running with --remote-debugging-port=9222. Use this when you need ground truth. Fall back to resolve_styles when no browser is running.

Input parameters:

- `port` (number): CDP port (default: 9222). Change if you started Chrome with a different port.
- `selector` (string, required): CSS selector to resolve against the live DOM, e.g. ".btn.primary", "#header a"
- `tabUrl` (string): Optional URL substring to target a specific tab. If omitted, uses the first available tab.

### `impact_preview` (~221 tokens)

Predicts the blast radius of a proposed CSS change before it is made. Given a selector, property, and optional new value, returns every competing rule in the codebase that would be affected — showing which selectors will see a different value, which are shielded by higher specificity, which cascade relationships are uncertain, and which downstream rules are affected through CSS variable chains or inheritance. Works without a browser. Use this before making any CSS change to understand the full impact.

Input parameters:

- `files` (array): Absolute paths to CSS/SCSS files to analyze.
- `newValue` (string): Optional: the new value you plan to set. Enables before/after comparison in variable chain impacts.
- `projectRoot` (string): Optional: path to a project root. All CSS/SCSS files will be discovered recursively.
- `property` (string, required): The CSS property you are about to change, e.g. "background-color", "--color-primary"
- `selector` (string, required): The CSS selector you are about to change, e.g. ".btn", ":root"

### `style_manifest` (~169 tokens)

Builds a compressed, structured summary of a project's entire CSS knowledge — selectors, properties, variables, competition groups, and risk hotspots — that an agent can load ONCE at the start of a session and keep in context. Use this at the beginning of any CSS editing task to understand the landscape before querying individual selectors. Much faster than running resolve_styles on every selector. Follow up with resolve_styles, trace_property, or impact_preview for deep analysis of specific selectors surfaced in the manifest.

Input parameters:

- `files` (array): Absolute paths to CSS/SCSS files to analyze.
- `maxSelectors` (number): Maximum selectors to include (default: 200). Hotspot selectors are prioritised when truncating.
- `projectRoot` (string): Path to project root. All CSS/SCSS files discovered recursively.

## Diagnostics

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

## Score history

- 2026-08-04: 69
- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 39
- 2026-07-31: 47
- 2026-07-30: 57
- 2026-07-28: 75
- 2026-07-27: 75
- 2026-07-26: 41

## Links

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