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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| output_dir | string | yes | Directory where the generated HTML files should be written. |
| profile | string | yes | Taste profile name. |
| project | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format. Default: full. |
| topic | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Brand 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.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | The company whose branding to use (e.g. 'Spotify', 'Stripe', 'Apple', 'Linear', 'Airbnb') |
| format | string | – | Output format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide |
| mode | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| stage | string | – | Company stage for contextual filtering |
| type | string | yes | Strategy 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.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | – | 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… |
| type | string | yes | What 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.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | yes | Content 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').
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | – | What you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles. |
| format | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Content system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian') |
| section | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| stage | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg |
| group | string | – | Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion |
| id | string | yes | Design 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Generation 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| batch | boolean | – | Return the unified current batch of reorder and style records; cannot be combined with operation_id or mark |
| mark | string | – | Mark a previewed reorder or sent style change |
| operation_id | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| timeout_ms | integer | – | 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?'
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | Framework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all. |
| search | string | – | Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | string | yes | Page 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.
| Name | Type | Req | Description |
|---|---|---|---|
| goal | string | – | Filter by primary goal |
| platform | string | – | Filter patterns by platform context |
| type | string | yes | Pattern 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | 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… |
| context | string | yes | What you're designing (e.g. 'signup form', 'pricing page', 'mobile nav', 'dark dashboard') |
| format | string | – | Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full |
| platform | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Which family of methods. Default: all. |
| search | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | yes | Service 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…
| Name | Type | Req | Description |
|---|---|---|---|
| depth | string | – | '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… |
| mode | string | – | '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… |
| profile | string | yes | Taste profile name (see list_taste_profiles). |
| project | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Profile 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.
| Name | Type | Req | Description |
|---|---|---|---|
| source_meta | object | yes | Metadata identifying the transcript source. |
| text | string | yes | Transcript 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.
| Name | Type | Req | Description |
|---|---|---|---|
| extraction_json | string | yes | Raw JSON returned by the calling agent's model. |
| source_id | string | yes | Existing 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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | – | – | Source selector: blank, stored system, or starter slug |
| path | string | yes | Path 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.
| Name | Type | Req | Description |
|---|---|---|---|
| design_file_path | string | – | Direct path to DESIGN.md; overrides project configuration |
| project_dir | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact | string | yes | What was judged (path, URL, or short description). |
| profile | string | yes | Profile name. |
| right | string | yes | What right looks like. |
| severity | string | – | Severity the human assigns. |
| verdict | string | yes | accept = the flagged pattern is fine (suppresses future matches); revise/reject = confirmed wrong. |
| violated_rule | string | yes | The rule_id the label concerns ('' if none). Must exist in the profile. |
| wrong | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category: commerce-saas, government, marketing-saas, productivity-saas |
| search | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | – | Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad. |
| media_type | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| media_type | string | – | Filter presets by media type. |
| search | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| baseline | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'. |
| search | string | – | Search by name or description |
No output schema declared.
No examples provided.
list_generation_jobs ~64
List local Raven creative generation jobs.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max jobs to return. Default 25. |
| media_type | string | – | Filter by media type. |
| status | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| dimension | string | – | Only decisions on this dimension. |
| profile | string | yes | Taste profile name. |
| project | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| captured | object | – | Raw CSS property/value pairs to translate, if not using a stored ref_id |
| design_file_path | string | – | Path to the project's DESIGN.md; its flattened tokens are the target vocabulary. Supply this or tokens. |
| properties | array | – | Only map these CSS properties; omit to attempt every captured property |
| ref_id | string | – | Captured reference to translate; its styles are the input. Supply this or captured. |
| thresholds | object | – | Override the near-match thresholds |
| tokens | array | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| approximate | boolean | yes | – |
| baselineOrder | array | – | – |
| domSnapshotHash | string | yes | – |
| fromIndex | integer | yes | – |
| fromParentSelector | string | – | Required for reparent — source parent |
| fromSelector | string | – | – |
| measuredRects | array | yes | – |
| operation | string | yes | – |
| orderedSelectors | array | yes | – |
| page | string | yes | – |
| parentSelector | string | – | Required for reorder — single parent |
| role | – | – | Rejected: roles are never accepted from callers |
| selectionOrder | array | – | – |
| toBaselineOrder | array | – | – |
| toDomSnapshotHash | string | – | – |
| toIndex | integer | yes | – |
| toParentSelector | string | – | Required 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.
| Name | Type | Req | Description |
|---|---|---|---|
| audience | string | yes | Target audience. |
| brand_profile_id | string | – | Local Raven brand profile ID. |
| campaign_name | string | yes | Campaign name. |
| channels | array | yes | Target channels: TikTok, Reels, YouTube Shorts, web, marketplace, LinkedIn, etc. |
| create_jobs | boolean | – | Create draft generation jobs. Default true. |
| formats | array | – | Preset IDs to force. Defaults inferred from channels. |
| goal | string | yes | Primary campaign goal. |
| product_or_offer | string | yes | Product, service, feature, or offer. |
| source_asset_ids | array | – | Raven creative asset IDs to use as source/reference. |
| variants_per_format | integer | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| design_md | string | – | Inline DESIGN.md content. Overrides project file lookup when supplied. |
| diff | string | yes | Unified diff to review and polish (maximum 400KB). |
| project | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | User's email address | |
| name | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Path 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.
| Name | Type | Req | Description |
|---|---|---|---|
| decision | string | yes | What was chosen, in the user's words — e.g. 'amber-phosphor accent, period-accurate not decorative'. |
| dimension | string | yes | Short 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… |
| profile | string | yes | Taste profile name (see list_taste_profiles). |
| project | string | yes | Project the decision was made on. |
| rejected | array | – | Alternatives considered and passed over. |
| source | string | – | How the decision was made — defaults to 'user-directed'. 'user-corrected' (user overrode a generated choice) is the highest-signal record. |
| why | string | – | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What this asset should be used for. |
| metadata | object | – | Optional non-secret metadata. |
| name | string | – | Human-readable name. |
| tags | array | – | Search tags. |
| type | string | yes | Asset type. |
| uri | string | yes | Local 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.
| Name | Type | Req | Description |
|---|---|---|---|
| design_md | string | – | Inline DESIGN.md content. Overrides project file lookup when supplied. |
| diff | string | yes | Unified diff to review (maximum 400KB). |
| fail_on | array | – | Rule 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_governed | boolean | – | When 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… |
| project | string | – | 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.
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.