Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Raven

NPM · RAVEN-MCP · 2 COMPONENTS · SCANNED SEP 20

Design intelligence for coding agents: audits, design systems, and a taste profile agents consult.

+1 this week 93 Trust /100
Trust breakdown (7 categories)

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. How we score → Why this is hard to score →

Supply Chain Security92
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • 33 of 101 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to rhinocap/raven-mcp). View diagnostics → Pass
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 28 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 21872 tokens (~197/item across 111 items; 111 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 93% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 112 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Raven MCP server?

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

npm · raven-mcp

# add to Claude Code
claude mcp add ai-ravenmcp-raven-mcp -- npx -y raven-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-ravenmcp-raven-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "raven-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-ravenmcp-raven-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "raven-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add ai-ravenmcp-raven-mcp -- npx -y raven-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-ravenmcp-raven-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "raven-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-ravenmcp-raven-mcp --command npx --arg -y --arg raven-mcp
# ~/.hermes/config.yaml
mcp_servers:
  ai-ravenmcp-raven-mcp:
    command: "npx"
    args: ["-y", "raven-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-ravenmcp-raven-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "raven-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add ai-ravenmcp-raven-mcp -t stdio -c npx -a -y raven-mcp
// mcp.json
{
  "mcpServers": {
    "ai-ravenmcp-raven-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "raven-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

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

  • 18 Sept 26 −2
    • Stability: pass → 0.87 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

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

  • 13 Sept 26 −2
    • Stability: pass → 0.87 functional
  • 12 Sept 26 +1
    • Stability: 0.97 → pass security
  • 10 Sept 26 −1
    • Stability: pass → 0.93 functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/raven-mcp@2.5.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo rhinocap/raven-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/rhinocap/raven-mcp/.github/workflows/release.yml@refs/heads/main
Rekor log index 2568597359
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:72c9fd2348d2fd4e0f65539232d351e4beb5a169db60c2dedd3096f3b087a71f8a69198921abf0211427980bfb9952a5e143ccba98a0c375361d098a7

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
postinstall unreviewed node scripts/postinstall.cjs || true

Background: Why install scripts are a supply-chain risk →

Dependencies 101 packages
Packages resolved 101
Stale 33
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 111 exposed · ~20,360 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
score_creative ~113

Score a creative prompt, script, or ad concept for hook strength, benefit clarity, product signal, call-to-action, channel fit, audience fit, and brand fit. This is a transparent heuristic, not a proprietary prediction model.

NameTypeReqDescription
audiencestringTarget audience if not in a brand profile.
brand_profile_idstringLocal Raven brand profile ID.
channelstringTarget channel.
creative_textstringyesPrompt, script, ad copy, or creative concept to score.

No output schema declared.

No examples provided.

score_page ~241

Score an HTML/CSS page across 7 design categories (Structure, Typography, Color & palette, Spacing & rhythm, Accessibility, Responsive layout, Design tokens), each rated 0–10. Scores are derived deterministically from the same checks as audit_page — no browser required. Pass html directly, or pass url to have Raven launch headless chromium, render the page, and score the RENDERED DOM. Also returns the same overall 0–100 score and A–D grade audit_page produces, the weakest category, and the three categories Raven does not mechanically assess (brand, conversion, motion) with guidance on which tools to use for those.

NameTypeReqDescription
containerMaxWidthnumberYour design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check.
htmlstringThe full HTML content of the page to score.
strictbooleanStrict mode — count warnings as failures in the overall score. Default: false.
urlstringIf set, Raven launches headless chromium, renders the page, and scores the RENDERED DOM.

No output schema declared.

No examples provided.

search_knowledge ~85

Search across all design principles, UI patterns, and business strategies. Use when you need to find specific guidance or don't know which category to look in.

NameTypeReqDescription
layerstringWhich layer to search: principles, patterns, business, or all (default)
querystringyesSearch term (e.g. 'touch targets', 'pricing psychology', 'color contrast')

No output schema declared.

No examples provided.

search_references ~490

Find patterns previously kept with capture_reference — call it before rebuilding something already grabbed, or to recall 'that hero from Linear'. host, owner, and tags filters compose with AND; the free-text query expands recognized pattern intent through Raven's controlled vocabulary, then matches case-insensitively against note, app, tags, bound taxonomy ids, and selector. Every result carries a score and a 'why' naming the matched fields and any alias that connected the query to the record. Ordering is deterministic. Returns stored JSON records. Every result carries a `display` object holding the credit line, the source URL, and `image_path` — the PNG on disk for records captured with html, so results can be shown as pictures rather than style maps (the tool returns the path, never the bytes). **Browsing does not hand back the other site's markup.** A result reports `html_available` and `html_truncated` but omits the html itself; pass include_html:true to receive it, which is a deliberate step because that markup is the site's own authored expression rather than a measurement of it. Everything needed to LOOK at a pattern and to translate it onto this project's tokens — the picture, the selector, the rect, the computed styles — is in the default result. **Show the credit whenever you show the pattern**: this corpus holds other people's design work, Raven does not own it, and a third-party result also carries a notice saying so. Use these as references to build your own implementation, not as work to republish. Corrupt records are named in skipped[] instead of failing the call. It does not rank against live code and does not fetch the source site.

NameTypeReqDescription
hoststringOnly references grabbed from this host, e.g. 'linear.app'
include_htmlbooleanReturn each record's captured markup verbatim. Off by default: browsing a corpus of other people's work should not hand back their markup as a side effect of looking at it. Ask for it when you are ac…
ownerstringOnly the user's own product, or only third-party sites
querystringFree text expanded through the pattern taxonomy and matched against note, app, tags, bound taxonomy ids, and selector; omit to list everything passing the filters
tagsarrayOnly references carrying ALL of these tags

No output schema declared.

No examples provided.

set_template_slot ~89

Persist an array of page-scoped template slots in one batched DESIGN.md update. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.

NameTypeReqDescription
pagestringyesPage pathname, matching location.pathname
slotsarrayyesAll template slots to persist in this batched call
template_idstringTemplate identifier; defaults to default

No output schema declared.

No examples provided.

start_grab_session ~182

Start a capability-keyed Raven grab bridge on loopback. Proxy mode is the preferred zero-paste path: it serves a running local app with the overlay injected into HTML; the manual script tag remains available when needed.

NameTypeReqDescription
pathstringPath to DESIGN.md to expose over /tokens. Optional when proxy_target is set — a minimal temp DESIGN.md is created automatically. Required (and must exist) when proxy_target is omitted.
portintegerOptional port; defaults to an ephemeral loopback port
proxy_targetstringURL of a running local dev server; the bridge will serve that app with the grab overlay auto-injected into every HTML page — user opens the bridge URL, zero setup
rolestringOverlay role; consumer preserves the component-request flow, maintainer enables direct design-system component creation

No output schema declared.

No examples provided.

stop_grab_session ~21

Stop the current grab bridge and clear its queued selections.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

suggest_contrast_fix ~163

Given failing WCAG color pairs, return the MINIMAL color change that clears the target ratio. For each {fg,bg} pair, computes the smallest foreground adjustment (and an alternative background adjustment) that reaches AA/AAA — with the achieved ratio and direction. Feeds directly from audit_contrast's failing pairs: pass them here to get concrete passing values instead of brute-forcing colors by hand. Pure offline math.

NameTypeReqDescription
levelstringWCAG level when targetRatio is not given per-pair. Default AA.
pairsarrayColor pairs to remediate. Each: { selector?, fg, bg, fontPx?, bold?, targetRatio? }. fontPx/bold pick the large-text threshold; targetRatio overrides the level.

No output schema declared.

No examples provided.

talon_rules ~64

Enumerate Raven's Talon detector rule corpus — id, category, severity, taste scope, and the src/data/principles/*.json entry each rule cites. No scan required; use this to show a client 'why' before or instead of running talon_scan.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

talon_scan ~383

Run Raven's deterministic detector engine over a page — no LLM, pure measurement. Covers color-system discipline (palette budget, near-duplicate hex, hue diversity), spacing-grid conformance (base-unit, scale count), type-scale/rhythm (size count, body line-height, measure, font-family budget), heading/landmark structure, motion-duration/easing sanity (flashing-animation risk, prefers-reduced-motion coverage), and orphan-stretch/horizontal-overflow geometry. Pass html, url (rendered headless), or pre-measured elements+viewport (the same DevTools-snippet shape audit_layout takes — required for the two geometry rules). Every finding cites the src/data/principles/*.json entry it derives from. Pass project (and profile) to resolve a saved taste surface binding (see bind_taste_surface) — a finding the binding silences via an 'off' override is still returned, flagged waived_by_taste:true, never dropped.

NameTypeReqDescription
elementsarrayPre-measured element rects (DevTools-snippet shape from audit_layout) — enables the geometry rules (orphan-stretch, horizontal-overflow).
htmlstringFull HTML/CSS of the page to scan.
profilestringTaste profile name to resolve project's binding against (see list_taste_profiles). Only used when project or url is also given.
projectstringProject identifier — resolves a saved surface binding (see bind_taste_surface) whose overrides can waive specific TAL-### rules. Requires profile.
surfacestringWhat surface is being scanned — activates/skips scope-tagged rules by token match. Omit if unsure.
urlstringLive URL — rendered headless with scroll-settle.
viewportobjectViewport used for the horizontal-overflow geometry check.

No output schema declared.

No examples provided.

update_design_md ~54

Update one DESIGN.md token surgically while preserving the Markdown body.

NameTypeReqDescription
pathstringyesPath to DESIGN.md
removeobject
renameobject
setobject

No output schema declared.

No examples provided.

Common questions

What is the Raven MCP server?

Raven is an MCP server listed in the public MCP registry as ai.ravenmcp/raven-mcp. Design intelligence for coding agents: audits, design systems, and a taste profile agents consult. This page covers its npm package (raven-mcp).

Is the Raven MCP server safe to use?

Raven scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. Its build provenance is signed and verified. 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 Raven MCP server expose?

Raven exposes 111 tools: get_principles, get_pattern, get_business_strategy, evaluate_design, search_knowledge, and 106 more. Their descriptions and schemas cost roughly 20,360 tokens of context every time the server is loaded.

Is the Raven MCP server still maintained?

Raven is still listed as active in the MCP registry. We last reached this channel on 20 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 Raven MCP server under?

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