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
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.
projectstringOptional 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
formatstringOutput format. Default: full.
topicstringFilter 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')
formatstringOutput format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide
modestringColor 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
stagestringCompany 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
platformstringPlatform 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
contextstringWhat you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles.
formatstringOutput 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')
sectionstringReturn 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
stagestringWhich 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
formatstringOutput format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg
groupstringFilter 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
pagestringOptional 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
batchbooleanReturn the unified current batch of reorder and style records; cannot be combined with operation_id or mark
markstringMark a previewed reorder or sent style change
operation_idstringOperation 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_msintegerOptional 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
idstringFramework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all.
searchstringSearch for a framework by name or summary.

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
goalstringFilter by primary goal
platformstringFilter 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
categorystringFilter 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')
formatstringOutput format: full (all details), checklist (implications + violations), brief (just summary). Default: full
platformstringPlatform 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
categorystringWhich family of methods. Default: all.
searchstringSearch 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 ~744

START HERE on a NEW project: returns a deterministic calibration interview. By default (depth:'first_run') it is COMPRESSED to just 5 core questions — identity, 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 other bound surfaces, it carries `suggestions` — the special touches they chose elsewhere. Ask the user the returned questions convers…

NameTypeReqDescription
depthstring'first_run' (default) returns only the 5 core questions (identity, genesis, aesthetic, voice, matchers) plus a `more_questions` array with everything else for optional deeper calibration. 'full' retu…
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).
projectstringProject 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
fromSource 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_pathstringDirect path to DESIGN.md; overrides project configuration
project_dirstringProject 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.
severitystringSeverity 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
categorystringFilter by category: commerce-saas, government, marketing-saas, productivity-saas
searchstringSearch 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
capabilitystringFilter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.
media_typestringFilter 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_typestringFilter presets by media type.
searchstringSearch 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
baselinestringBaseline 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
categorystringFilter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'.
searchstringSearch by name or description

No output schema declared.

No examples provided.

list_generation_jobs ~64

List local Raven creative generation jobs.

NameTypeReqDescription
limitintegerMax jobs to return. Default 25.
media_typestringFilter by media type.
statusstringFilter 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
dimensionstringOnly decisions on this dimension.
profilestringyesTaste profile name.
projectstringOnly 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
capturedobjectRaw CSS property/value pairs to translate, if not using a stored ref_id
design_file_pathstringPath to the project's DESIGN.md; its flattened tokens are the target vocabulary. Supply this or tokens.
propertiesarrayOnly map these CSS properties; omit to attempt every captured property
ref_idstringCaptured reference to translate; its styles are the input. Supply this or captured.
thresholdsobjectOverride the near-match thresholds
tokensarrayFlattened 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
fromParentSelectorstringRequired for reparent — source parent
fromSelectorstring
measuredRectsarrayyes
operationstringyes
orderedSelectorsarrayyes
pagestringyes
parentSelectorstringRequired for reorder — single parent
roleRejected: roles are never accepted from callers
selectionOrderarray
toBaselineOrderarray
toDomSnapshotHashstring
toIndexintegeryes
toParentSelectorstringRequired for reparent — destination parent

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_idstringLocal Raven brand profile ID.
campaign_namestringyesCampaign name.
channelsarrayyesTarget channels: TikTok, Reels, YouTube Shorts, web, marketplace, LinkedIn, etc.
create_jobsbooleanCreate draft generation jobs. Default true.
formatsarrayPreset IDs to force. Defaults inferred from channels.
goalstringyesPrimary campaign goal.
product_or_offerstringyesProduct, service, feature, or offer.
source_asset_idsarrayRaven creative asset IDs to use as source/reference.
variants_per_formatintegerHow 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_mdstringInline DESIGN.md content. Overrides project file lookup when supplied.
diffstringyesUnified diff to review and polish (maximum 400KB).
projectstringProject 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
daysintegerHow 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
namestringUser'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.

record_taste_decision ~390

The Taste Engine's learning loop — record a taste, direction, or design decision the MOMENT it is made during real work (an accent chosen, a nav pattern rejected, a name direction picked, a type pairing approved), not just at interview time. Each record carries the project, a short dimension name (a standard one like color/navigation or a new category like iconography/sound), what was chosen in the user's words, the alternatives rejected, why, and a source: 'user-directed' (the user asked for it), 'user-approved' (the user accepted a proposal), or 'user-corrected' (the user overrode a generated choice — the highest-signal record). Recorded decisions evolve every future get_taste_interview kickoff: recurring choices return as suggested defaults on their dimension's question, and decision categories no standard question covers become NEW interview questions. Record liberally — every committed decision is calibration data.

NameTypeReqDescription
decisionstringyesWhat was chosen, in the user's words — e.g. 'amber-phosphor accent, period-accurate not decorative'.
dimensionstringyesShort lowercase dimension name — a standard one (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries) or a new category the standard set doesn't c…
profilestringyesTaste profile name (see list_taste_profiles).
projectstringyesProject the decision was made on.
rejectedarrayAlternatives considered and passed over.
sourcestringHow the decision was made — defaults to 'user-directed'. 'user-corrected' (user overrode a generated choice) is the highest-signal record.
whystringThe stated reason, if the user gave one.

No output schema declared.

No examples provided.

register_creative_asset ~110

Register a local or remote creative asset for Raven jobs. This is the local-first analog of upload: Raven stores metadata and a URI/path, not the file bytes.

NameTypeReqDescription
descriptionstringWhat this asset should be used for.
metadataobjectOptional non-secret metadata.
namestringHuman-readable name.
tagsarraySearch tags.
typestringyesAsset type.
uristringyesLocal path or URL to the asset.

No output schema declared.

No examples provided.

review_diff ~263

Review added UI-code lines in a unified diff against the project's own DESIGN.md tokens and active recorded design decisions. Returns a structured CI verdict with file/line findings and nearest-token suggestions. Agents should call this on every PR or diff that touches UI code before merge.

NameTypeReqDescription
design_mdstringInline DESIGN.md content. Overrides project file lookup when supplied.
diffstringyesUnified diff to review (maximum 400KB).
fail_onarrayRule names to escalate to a failing CI verdict. Valid values: important, bare-hex-color, hardcoded-font-size, hardcoded-font-family, hardcoded-spacing. Diff-scoped: only newly added lines can fail. D…
fail_on_governedbooleanWhen true, findings a recorded decision governs become fail-eligible (severity error → verdict fail). Governance is a lexical scope+category association, NOT a verified contradiction of the decision…
projectstringProject 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.

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.