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

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

−15 this week 73 Trust /100

Last scanned (1 day ago)

Scores higher than 45% of npm servers

Category Design and Media

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 Security24
  • Malware scan not yet available for this package.Unverified
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • Declares code that runs automatically (postinstall) and that we could not recognise. It may be perfectly ordinary, but we have not established what it does. View diagnostics → Partial
  • 37 of 109 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 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
  • 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 23850 tokens (~207/item across 115 items; 115 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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 116 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
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.

  • 4 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
    • Package version: 2.6.0 → 3.0.0 functional
  • 31 Oct 26 0
    • Stability: 0.97 → pass security
  • 30 Oct 26 +1

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

  • 29 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 24 Oct 26 −6
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 19 Oct 26 +1
    • Stability: 0.97 → pass security
  • 18 Oct 26 +1
    • Security disclosure: unverified → pass ▲ functional
  • 17 Oct 26 0
    • Security disclosure: pass → unverified ▼ functional
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 4 Nov 2026 · Analysed npm/raven-mcp@3.0.0

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 3686598732
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:846d0dda64f5253ac9f4f262e3a94fac44ceeca9c3a77cf1a23a0b1b88b480eeac5f7549ce73e9a4d5b153bd51d0d17cc838631fd8e99c33934b056d2

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 →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 109 packages
Packages resolved 109
Stale 37
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 115 exposed · ~22,086 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
generate_service_blueprint ~255

Render a service blueprint as a self-contained HTML page. Supports two modes: (1) classic Shostack single-actor blueprint — user action, frontstage, backstage, support, evidence, pain/delight; (2) two-actor HI-loop blueprint — when `actors` is supplied, renders two swim lanes with a line of interaction between them (e.g. customer ↔ lawyer, patient ↔ doctor, buyer ↔ agent). Each actor gets their own actions, frontstage (what they see), and evidence. Optionally accepts an ideal-state to render side-by-side with the current state.

NameTypeReqDescription
actorsobject–Omit for classic single-actor Shostack blueprint. Provide to render a two-swim-lane HI-loop blueprint with a line of interaction between the two sides.
currentarrayyesThe current-state blueprint as an array of steps
idealarray–Optional ideal-state blueprint — if provided, output shows current AND ideal side-by-side
service_namestringyesName of the service (e.g. 'Free trial signup', 'Client intake', 'Restaurant reservation')
subtitlestring–Short description or context line under the title

No output schema declared.

No examples provided.

generate_taste_portrait ~167

Render a bound Taste Engine surface as a self-contained designed HTML portrait. Pass project to render one binding, or omit project to render every binding plus a gallery index.html. Portraits are generated from the local taste store and should be verified with audit_taste against their own surface/project before sharing — pass document_kind:'portrait' on that audit: a portrait is a document ABOUT the surface, so design_notes (three.js scenes, branded loaders…) are not acceptance criteria for it; profile rules still bind in full.

NameTypeReqDescription
output_dirstringyesDirectory where the generated HTML files should be written.
profilestringyesTaste profile name.
projectstring–Optional bound project name. Omit to render every surface binding in the profile plus a gallery index.

No output schema declared.

No examples provided.

get_brand_principles ~146

Get brand and visual-design principles — logo usage (clear space, min sizes, variants, placement, restraint), gradient usage (hierarchy, palette, contrast, trend vs signature), imagery (consistency, representation, purpose), visual hierarchy, and brand-as-system thinking. Use when the user asks about branding, logos, gradients, imagery, visual consistency, or how to treat a brand across surfaces.

NameTypeReqDescription
formatstring–Output format. Default: full.
topicstring–Filter by topic: 'logo', 'gradient', 'imagery', 'hierarchy', 'system', or a freeform search term. Omit to return all brand principles.

No output schema declared.

No examples provided.

get_brand_profile ~29

Read a local Raven creative brand profile by ID.

NameTypeReqDescription
idstringyesBrand profile ID.

No output schema declared.

No examples provided.

get_brand_system ~157

Get a complete design system for building an app with branding like a specific company. Say 'Make me an app with branding like Spotify' and get the full token set, style guide, and implementation instructions. Matches against 12 known design systems and provides closest match with ready-to-use CSS.

NameTypeReqDescription
companystringyesThe company whose branding to use (e.g. 'Spotify', 'Stripe', 'Apple', 'Linear', 'Airbnb')
formatstring–Output format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide
modestring–Color mode preference. Default: based on the system's primary mode

No output schema declared.

No examples provided.

get_brand_trends ~81

Get current brand and visual-design trends — what's working in 2026 and where each trend fits or fails. Includes bento grids, monospace type, neon-on-dark-glass, generative patterns, brutalism rebound, AI-generated imagery, lowercase/mixed case. Each trend is time-stamped — treat as a calibration signal, not a prescription.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_business_strategy ~70

Get business and monetization strategies for digital products. Covers monetization models, retention strategies, onboarding optimization, growth mechanics, and product metrics frameworks.

NameTypeReqDescription
stagestring–Company stage for contextual filtering
typestringyesStrategy type: monetization, retention, onboarding, growth, metrics

No output schema declared.

No examples provided.

get_checklist ~144

Get a pre-publish checklist for a specific UI type. Returns actionable yes/no items to verify before shipping.

NameTypeReqDescription
platformstring–Platform context for platform-specific checks. 'ios' = native SwiftUI/iOS (Apple HIG); 'react-native' = RN/Expo (iOS HIG + Android Material: 44/48pt+hitSlop, accessibilityLabel/Role, font scaling, Sa…
typestringyesWhat you're shipping (e.g. 'signup form', 'pricing page', 'dashboard', 'landing page', 'modal')

No output schema declared.

No examples provided.

get_content_pattern ~58

Get content design patterns — copy recipes for error messages, empty-state copy, notifications, and form validation. Returns do's, don'ts, good/bad examples, evidence, and a checklist.

NameTypeReqDescription
typestringyesContent pattern type

No output schema declared.

No examples provided.

get_content_principles ~127

Get UX-writing principles — clarity over cleverness, active voice, error-message anatomy, inclusive language, voice vs tone, and more. Filter by the writing context (e.g. 'error messages', 'notifications', 'form labels').

NameTypeReqDescription
contextstring–What you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles.
formatstring–Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full

No output schema declared.

No examples provided.

get_content_system ~105

Get a brand's content design system — voice attributes, tone shifts by context, vocabulary (use/avoid/never), grammar rules, content patterns for errors/empty-states/buttons/etc., and inclusive language guidance.

NameTypeReqDescription
idstringyesContent system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian')
sectionstring–Return just one section. Default: all.

No output schema declared.

No examples provided.

get_d4d_framework ~69

Get the Design for Delight (D4D) framework templates. Returns customer problem statement, ideal state, hypothesis, LOFA, and experiment templates for structured product thinking.

NameTypeReqDescription
stagestring–Which stage of the D4D loop to return. Default: full (all stages)

No output schema declared.

No examples provided.

get_design_system ~130

Get design tokens for a specific design system. Returns colors, typography, spacing, radii, elevation, and motion tokens in W3C DTCG, CSS custom properties, or flat format.

NameTypeReqDescription
formatstring–Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg
groupstring–Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion
idstringyesDesign system ID (e.g. 'stripe', 'linear')

No output schema declared.

No examples provided.

get_generation_job ~28

Read a Raven creative generation job by ID.

NameTypeReqDescription
idstringyesGeneration job ID.

No output schema declared.

No examples provided.

get_grab_layers ~62

Read the latest non-mutating layer-tree snapshot captured by the active local grab session. Any fixed/flexible permissions are cooperative advisory metadata: display labels only, not enforced.

NameTypeReqDescription
pagestring–Optional page pathname; omit to list all latest page snapshots

No output schema declared.

No examples provided.

get_grab_operation ~104

Read or update one durable grab change, list legacy reorder operations, or request the unified style+reorder batch. Applied/rejected/superseded changes leave the pending set.

NameTypeReqDescription
batchboolean–Return the unified current batch of reorder and style records; cannot be combined with operation_id or mark
markstring–Mark a previewed reorder or sent style change
operation_idstring–Operation ID; omit to list all operations

No output schema declared.

No examples provided.

get_grabbed_elements ~58

Read newly sent grab selections without deleting their durable change records, optionally waiting up to timeout_ms. A batchCommit marker is the deterministic signal to implement the unified pending batch.

NameTypeReqDescription
timeout_msinteger–Optional wait timeout in milliseconds

No output schema declared.

No examples provided.

get_metrics_framework ~132

Get a product-metrics framework — HEART (Google), AARRR/Pirate (Dave McClure), North Star Metric, Conversion Funnel, RICE Scoring, or OKRs. Returns structure, when-to-use, pitfalls, and examples. Use when the user asks 'how should we measure success?' or 'what metrics should we track?'

NameTypeReqDescription
idstring–Framework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all.
searchstring–Search for a framework by name or summary.

No output schema declared.

No examples provided.

get_motion_sends ~166

Receive what the designer sent from a motion playground opened with open_motion_playground. Each send carries the designer's note (instruction), what they were looking at (context), and the motion as tuned (packet), along with the playground's url and html_path. Act on the note using the packet; when the note is empty, the packet itself is what they want. Returns at once with anything already sent, and each send is returned only once. When you expect a send, pass timeout_ms, up to 240000, to wait for it.

NameTypeReqDescription
timeout_msinteger–How long to wait for the first send when none has arrived yet, in milliseconds, up to 240000; larger values wait 240000. 0 or omitted returns at once.

No output schema declared.

No examples provided.

get_page_template ~65

Read the page-scoped template slots from the active grab session's DESIGN.md and merge the overlay's latest selector validation. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.

NameTypeReqDescription
pagestringyesPage pathname, matching location.pathname

No output schema declared.

No examples provided.

get_pattern ~159

Get proven UI/UX patterns for a specific design type. Returns do's, don'ts, evidence, and checklists for signup flows, pricing pages, navigation, forms, landing pages, dashboards, modals, empty states, error states, loading states, CTAs, social proof, and mobile conversion.

NameTypeReqDescription
goalstring–Filter by primary goal
platformstring–Filter patterns by platform context
typestringyesPattern type (e.g. 'signup-flow', 'pricing-page', 'navigation', 'forms', 'landing-page', 'dashboard', 'modals-dialogs', 'empty-states', 'error-states', 'loading-states', 'cta', 'social-proof', 'mobil…

No output schema declared.

No examples provided.

get_principles ~267

Get design principles relevant to a UI context. Returns usability heuristics, laws of UX, Gestalt principles, accessibility requirements, typography rules, and color theory — matched to what you're designing.

NameTypeReqDescription
categorystring–Filter to category: accessibility, brand, color-systems, color-theory, component-architecture, d4d, gestalt, laws-of-ux, mobile-ux, nielsen-heuristics, research, responsive-layout, service-design, sp…
contextstringyesWhat you're designing (e.g. 'signup form', 'pricing page', 'mobile nav', 'dark dashboard')
formatstring–Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full
platformstring–Platform context. 'ios' returns Apple HIG principles (Dynamic Type, 44pt targets, SF Symbols, safe areas, dark-mode, haptics, App Review privacy); 'react-native' returns RN principles (44/48pt+hitSlo…

No output schema declared.

No examples provided.

get_research_method ~128

Get research method details — qualitative (interviews, contextual inquiry, diary, field, intercept), quantitative (surveys, analytics, A/B tests, benchmarking, clickstream), or usability (moderated, unmoderated, 5-second, card sort, tree test, heuristic eval). Returns specific protocols, do/don't guidance, evidence, and a checklist. Use when the user is designing a study or asking how to measure something.

NameTypeReqDescription
categorystring–Which family of methods. Default: all.
searchstring–Search within methods by name or description.

No output schema declared.

No examples provided.

get_service_pattern ~85

Get a service design pattern — service blueprinting, human handoff, signup-as-service, omnichannel continuity, or moments of truth / recovery. Returns patterns, do/don't guidance, evidence, and a checklist. Use when the user is designing a service flow, escalation, cross-channel experience, or moment of truth.

NameTypeReqDescription
typestringyesService design pattern type

No output schema declared.

No examples provided.

get_service_standard ~59

Get the GOV.UK Service Standard — 14 points the UK government uses to assess whether a public service is ready to launch. Widely applicable as a rigorous service-quality checklist beyond government. Use when the user asks how to evaluate a whole service.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_taste_interview ~775

START HERE on a NEW project: returns a deterministic calibration interview. By default (depth:'first_run') it is COMPRESSED to just 6 core questions — identity, customer (who it is for, what they are trying to do when they arrive, what would make them leave; stored as design_notes.customer), genesis (what already exists for the project — a brand, a design system, brand assets — routing whatever is missing to generation: mood board approval stop, then generate_design_system save:true, then init_design_md), aesthetic, voice, matchers — so a first-time kickoff is fast; every other question (references, the remaining ten design dimensions, any learned dimensions, rule exceptions, and the open-ended special question) is still returned under `more_questions` for the agent to offer as optional deeper calibration. Pass depth:'full' to get everything at once as a single flat `questions` list (the eleven design dimensions — typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries — each grounded in what the profile already enforces and most carrying multiple-choice options; the libraries question names specialty tech in plain outcome language and states the default build target for sites: a Next.js app, unless the user prefers otherwise). The voice question always renders the same message in three registers (formal-technical / warm-conversational / punchy-editorial) so the user picks by ear, not by adjective — asked even when the profile has zero voice rules. Every question carries skippable + priority ('core'|'extended'); only identity is required. A 'references' question (offered in more_questions on first_run) invites example URLs/screenshots/files, each interviewed with follow-ups about what specifically draws the person, folded into the matching design_notes. The full interview closes with an open-ended 'special' question (any texture, signature detail, motif, or easter egg nothing else asked about); once the person has ot…

NameTypeReqDescription
depthstring–'first_run' (default) returns only the 6 core questions (identity, customer, genesis, aesthetic, voice, matchers) plus a `more_questions` array with everything else for optional deeper calibration. '…
modestring–'kickoff' (default) calibrates a project with no binding yet. 'refine' re-interviews an ALREADY-bound project after the user rejects generated/designed output — requires an existing binding (throws n…
profilestringyesTaste profile name (see list_taste_profiles).
projectstring–Project identifier the binding will be saved under, e.g. 'raven-mcp' or 'portfolio'. Include it so the interview can show any existing binding.

No output schema declared.

No examples provided.

get_taste_profile ~85

Load a locally stored taste profile by name — returns its full rule catalog, precedent corpus, and per-project surface bindings. NOT a calibration step: bindings are per-surface and do not transfer — for design work on a project without a binding, call get_taste_interview and ask the user its questions before committing any direction.

NameTypeReqDescription
namestringyesProfile name.

No output schema declared.

No examples provided.

ingest_transcript ~60

Store a transcript source and return an extraction prompt for the calling agent's model. Raven makes no model or network call.

NameTypeReqDescription
source_metaobjectyesMetadata identifying the transcript source.
textstringyesTranscript text to extract design decisions from.

No output schema declared.

No examples provided.

ingest_transcript_results ~62

Parse model-produced extraction JSON into reviewable Decision Graph candidates linked to their source. Nothing is auto-confirmed.

NameTypeReqDescription
extraction_jsonstringyesRaw JSON returned by the calling agent's model.
source_idstringyesExisting transcript Source node id.

No output schema declared.

No examples provided.

init_design_md ~62

Initialize a DESIGN.md file from a stored Raven token system, a getdesign.md starter slug, or a blank template.

NameTypeReqDescription
from––Source selector: blank, stored system, or starter slug
pathstringyesPath to DESIGN.md to create

No output schema declared.

No examples provided.

inventory_design_system ~55

Read component declarations and tokens from a local DESIGN.md file.

NameTypeReqDescription
design_file_pathstring–Direct path to DESIGN.md; overrides project configuration
project_dirstring–Project directory with a configured design-system source

No output schema declared.

No examples provided.

label_finding ~196

Append a labeled precedent to a taste profile's corpus — the growth loop. Use when a human accepts/revises/rejects an audit_taste finding or labels a new wrong→right example. Append-only: existing records are never rewritten. accept-verdict precedents suppress matching findings in future audit_taste runs.

NameTypeReqDescription
artifactstringyesWhat was judged (path, URL, or short description).
profilestringyesProfile name.
rightstringyesWhat right looks like.
severitystring–Severity the human assigns.
verdictstringyesaccept = the flagged pattern is fine (suppresses future matches); revise/reject = confirmed wrong.
violated_rulestringyesThe rule_id the label concerns ('' if none). Must exist in the profile.
wrongstringyesThe wrong pattern — use a verbatim snippet so accept-suppression can match it.

No output schema declared.

No examples provided.

list_brand_profiles ~16

List local Raven creative brand profiles.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_content_systems ~85

Browse available content design systems — brand voice and tone guides (Conversational Product Voice, GOV.UK, Shopify Polaris, Atlassian). Filter by category or search by name.

NameTypeReqDescription
categorystring–Filter by category: commerce-saas, government, marketing-saas, productivity-saas
searchstring–Search by name, description, or tag

No output schema declared.

No examples provided.

list_creative_models ~94

Browse Raven's provider-agnostic creative model catalog. These are capability slots for image, video, 3D, audio, character consistency, and creative analysis. Each entry lists typical inputs and best-for guidance.

NameTypeReqDescription
capabilitystring–Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.
media_typestring–Filter by media type.

No output schema declared.

No examples provided.

list_creative_presets ~70

Browse Raven creative presets for product photoshoots, marketplace cards, UGC ads, TV spots, cinematic reveals, social launch packs, storyboards, and infographics.

NameTypeReqDescription
media_typestring–Filter presets by media type.
searchstring–Search preset name or description.

No output schema declared.

No examples provided.

list_design_system_components ~37

List the components and provenance in the Raven canonical baseline.

NameTypeReqDescription
baselinestring–Baseline id; defaults to raven-canonical

No output schema declared.

No examples provided.

list_design_systems ~86

Browse available design systems for tokens. Filter by category (component-library, consumer, developer, fintech, framework, platform, productivity) or search by name.

NameTypeReqDescription
categorystring–Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'.
searchstring–Search by name or description

No output schema declared.

No examples provided.

list_generation_jobs ~64

List local Raven creative generation jobs.

NameTypeReqDescription
limitinteger–Max jobs to return. Default 25.
media_typestring–Filter by media type.
statusstring–Filter by status: draft, needs_runner, submitted, completed, failed.

No output schema declared.

No examples provided.

list_taste_decisions ~80

List the taste/direction/design decisions recorded for a profile (see record_taste_decision), optionally filtered by project or dimension — the ledger that evolves the kickoff interview.

NameTypeReqDescription
dimensionstring–Only decisions on this dimension.
profilestringyesTaste profile name.
projectstring–Only decisions made on this project.

No output schema declared.

No examples provided.

list_taste_profiles ~26

List locally stored taste profiles with rule/corpus counts and last-updated timestamps.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_templates ~39

List templates and their registered page pathnames from the active grab session. Template permissions and allowedTokens are cooperative advisory metadata: display labels only, not enforced.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

map_reference_to_tokens ~392

Translate a captured pattern's raw literals (font-size: 64px, color: rgb(247,248,248)) onto the project's own design tokens, so generated code uses the user's type ramp and palette instead of another site's values. Pure and deterministic — no model, no network. Colours compare by RGBA distance (exact at 0, near under 12; alpha counts), lengths normalize to px at root 16 (near under 2px), unitless numbers near within 1%, font families compare on the first family. A property with a known token family (font-size, line-height, gap, radius, …) only ever binds inside that family: if the closest token by value belongs to another ramp, the result is a gap naming it, not a binding. Winners are ordered by distance, then family fit, then shortest and lexicographic token path. Percent and viewport units, unparseable colour syntaxes, shadows, gradients, and other unmatchable classes become gaps with a stated reason — never a forced match. Broken token chains are reported in diagnostics whether or not anything else matched. A project with no tokens is not an error: every property returns as a gap at coverage 0. It does not invent tokens and does not write code.

NameTypeReqDescription
capturedobject–Raw CSS property/value pairs to translate, if not using a stored ref_id
design_file_pathstring–Path to the project's DESIGN.md; its flattened tokens are the target vocabulary. Supply this or tokens.
propertiesarray–Only map these CSS properties; omit to attempt every captured property
ref_idstring–Captured reference to translate; its styles are the input. Supply this or captured.
thresholdsobject–Override the near-match thresholds
tokensarray–Flattened design tokens directly, if not reading a DESIGN.md

No output schema declared.

No examples provided.

move_grab_layer ~261

Queue a same-page layer reorder or reparent intent (previewed when measuredRects are supplied, otherwise proposed) without mutating the live page. Reparent moves a node to a different parent (toParentSelector); reorder keeps a single parentSelector. Permissions and fixed/flexible roles are cooperative advisory metadata: display labels only, not enforced; caller-supplied roles are rejected. Shadow-root and iframe boundaries are out of scope.

NameTypeReqDescription
approximatebooleanyes–
baselineOrderarray––
domSnapshotHashstringyes–
fromIndexintegeryes–
fromParentSelectorstring–Required for reparent — source parent
fromSelectorstring––
measuredRectsarrayyes–
operationstringyes–
orderedSelectorsarrayyes–
pagestringyes–
parentSelectorstring–Required for reorder — single parent
role––Rejected: roles are never accepted from callers
selectionOrderarray––
toBaselineOrderarray––
toDomSnapshotHashstring––
toIndexintegeryes–
toParentSelectorstring–Required for reparent — destination parent

No output schema declared.

No examples provided.

open_motion_playground ~188

Open a motion playground at a local link where the designer can tune it in their browser and use Send to your agent to send you a note along with the motion as they tuned it. Pass the html_path that create_motion_playground returned. Hand the designer the url, not the file path: the file opened on its own cannot send. Then call get_motion_sends to receive what they send. This is separate from Raven Grab and puts nothing on top of the page. The link works on this computer only, for as long as this Raven process runs, and the file is read fresh on every load, so a rebuilt playground shows up when the designer reloads.

NameTypeReqDescription
html_pathstringyesAbsolute path to the playground's .html file, usually the html_path from create_motion_playground. Must be a regular file, not a symlink, at most 8 MB.

No output schema declared.

No examples provided.

plan_creative_campaign ~212

Plan a multi-asset creative campaign and optionally create draft generation jobs. Covers Higgsfield-like workflows: product photos, UGC/video ads, marketplace cards, launch/social packs, storyboards, and channel cutdowns.

NameTypeReqDescription
audiencestringyesTarget audience.
brand_profile_idstring–Local Raven brand profile ID.
campaign_namestringyesCampaign name.
channelsarrayyesTarget channels: TikTok, Reels, YouTube Shorts, web, marketplace, LinkedIn, etc.
create_jobsboolean–Create draft generation jobs. Default true.
formatsarray–Preset IDs to force. Defaults inferred from channels.
goalstringyesPrimary campaign goal.
product_or_offerstringyesProduct, service, feature, or offer.
source_asset_idsarray–Raven creative asset IDs to use as source/reference.
variants_per_formatinteger–How many draft job variants per format. Default 2.

No output schema declared.

No examples provided.

polish_diff ~135

Review added UI-code lines and propose deterministic DESIGN.md token substitutions without writing files. The returned unified patch applies on top of the reviewed diff's post-image; applying it is an explicit, separate step by the caller. Re-verifies the hypothetical polished lines and leaves judgment-heavy findings in manual.

NameTypeReqDescription
design_mdstring–Inline DESIGN.md content. Overrides project file lookup when supplied.
diffstringyesUnified diff to review and polish (maximum 400KB).
projectstring–Project directory used to resolve DESIGN.md and match decision scopes. Omit when design_md is supplied and no project hint is needed.

No output schema declared.

No examples provided.

raven_reflect ~136

Summarize how Raven has been used on this machine over the last N days. Reports which tools are called most, which audit warnings fire repeatedly (→ likely gaps in Raven's knowledge), which patterns and design systems you look up, and which companies you ask for brand styles. Call this when the user asks 'what have I been building with Raven' or 'what's Raven missing'. All data is read from a local log ($RAVEN_USAGE_LOG or ~/.raven/usage.jsonl) — nothing is fetched over the network.

NameTypeReqDescription
daysinteger–How many days back to include. Default: 30.

No output schema declared.

No examples provided.

raven_register ~65

Register your email to receive design updates and provide feedback to the Raven creator. Call this when a user wants to register, give feedback, or connect with the Raven team.

NameTypeReqDescription
emailstringyesUser's email address
namestring–User's name (optional)

No output schema declared.

No examples provided.

read_design_md ~39

Parse a DESIGN.md file and return its frontmatter, Markdown body, and flattened token index.

NameTypeReqDescription
pathstringyesPath to DESIGN.md

No output schema declared.

No examples provided.

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
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 73 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 4 November 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 115 tools: get_principles, get_pattern, get_business_strategy, evaluate_design, search_knowledge, and 110 more. Their descriptions and schemas cost roughly 22,086 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 4 November 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.