Raven
NPM · RAVEN-MCP · 2 COMPONENTS · SCANNED SEP 20
Design intelligence for coding agents: audits, design systems, and a taste profile agents consult.
Available components
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
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
claude mcp add ai-ravenmcp-raven-mcp -- npx -y raven-mcp
{
"mcpServers": {
"ai-ravenmcp-raven-mcp": {
"command": "npx",
"args": [
"-y",
"raven-mcp"
]
}
}
} {
"servers": {
"ai-ravenmcp-raven-mcp": {
"command": "npx",
"args": [
"-y",
"raven-mcp"
]
}
}
} codex mcp add ai-ravenmcp-raven-mcp -- npx -y raven-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-ravenmcp-raven-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"raven-mcp"
],
"enabled": true
}
}
} openclaw mcp add ai-ravenmcp-raven-mcp --command npx --arg -y --arg raven-mcp
mcp_servers:
ai-ravenmcp-raven-mcp:
command: "npx"
args: ["-y", "raven-mcp"] {
"McpServers": {
"ai-ravenmcp-raven-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"raven-mcp"
]
}
}
} assistant mcp add ai-ravenmcp-raven-mcp -t stdio -c npx -a -y raven-mcp
{
"mcpServers": {
"ai-ravenmcp-raven-mcp": {
"command": "npx",
"args": [
"-y",
"raven-mcp"
]
}
}
} 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
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 →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| audience | string | – | Target audience if not in a brand profile. |
| brand_profile_id | string | – | Local Raven brand profile ID. |
| channel | string | – | Target channel. |
| creative_text | string | yes | Prompt, 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.
| Name | Type | Req | Description |
|---|---|---|---|
| containerMaxWidth | number | – | Your design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check. |
| html | string | – | The full HTML content of the page to score. |
| strict | boolean | – | Strict mode — count warnings as failures in the overall score. Default: false. |
| url | string | – | If 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.
| Name | Type | Req | Description |
|---|---|---|---|
| layer | string | – | Which layer to search: principles, patterns, business, or all (default) |
| query | string | yes | Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | – | Only references grabbed from this host, e.g. 'linear.app' |
| include_html | boolean | – | Return 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… |
| owner | string | – | Only the user's own product, or only third-party sites |
| query | string | – | Free text expanded through the pattern taxonomy and matched against note, app, tags, bound taxonomy ids, and selector; omit to list everything passing the filters |
| tags | array | – | Only 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | string | yes | Page pathname, matching location.pathname |
| slots | array | yes | All template slots to persist in this batched call |
| template_id | string | – | Template 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.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | – | Path 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. |
| port | integer | – | Optional port; defaults to an ephemeral loopback port |
| proxy_target | string | – | URL 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 |
| role | string | – | Overlay 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.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | WCAG level when targetRatio is not given per-pair. Default AA. |
| pairs | array | – | Color 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.
| Name | Type | Req | Description |
|---|---|---|---|
| elements | array | – | Pre-measured element rects (DevTools-snippet shape from audit_layout) — enables the geometry rules (orphan-stretch, horizontal-overflow). |
| html | string | – | Full HTML/CSS of the page to scan. |
| profile | string | – | Taste profile name to resolve project's binding against (see list_taste_profiles). Only used when project or url is also given. |
| project | string | – | Project identifier — resolves a saved surface binding (see bind_taste_surface) whose overrides can waive specific TAL-### rules. Requires profile. |
| surface | string | – | What surface is being scanned — activates/skips scope-tagged rules by token match. Omit if unsure. |
| url | string | – | Live URL — rendered headless with scroll-settle. |
| viewport | object | – | Viewport 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.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Path to DESIGN.md |
| remove | object | – | – |
| rename | object | – | – |
| set | object | – | – |
No output schema declared.
No examples provided.
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.