rhinocap avatar

Raven

rhinocap/raven-mcp

Brings a comprehensive design knowledge base into Claude's context when you're building UI. You get queryable access to Nielsen heuristics, Laws of UX, WCAG rules, proven patterns for signup flows and dashboards, voice and tone systems from Mailchimp and GOV.UK, plus design tokens from Stripe and Linear. The audit tools are the real hook: paste SwiftUI code to catch hardcoded fonts and undersized touch targets against Apple HIG, or feed it an iOS accessibility snapshot to score contrast and spacing in points. Also includes research method checklists, service blueprinting with HTML output, and metrics frameworks like HEART and AARRR. Useful when you want Claude to generate UI that follows actual design systems instead of guessing.

GitHub stars
8
tools
45
transport
STDIO, HTTP
last updated
Nov 4, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.ravenmcp.ai/api/mcp --name raven-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http raven-mcp https://mcp.ravenmcp.ai/api/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 45 tools

Verified live against the running server on Nov 6, 2026.

get_principlesGet 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.4 params

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.

Parameters* required
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,...
context*string
What 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: fullone of full · checklist · brief
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+hitS...one of web · ios · react-native
get_patternGet 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.3 params

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.

Parameters* required
goalstring
Filter by primary goalone of conversion · usability · accessibility · delight
platformstring
Filter patterns by platform contextone of desktop · mobile · responsive
type*string
Pattern type (e.g. 'signup-flow', 'pricing-page', 'navigation', 'forms', 'landing-page', 'dashboard', 'modals-dialogs', 'empty-states', 'error-states', 'loading-states', 'cta', 'social-proof', 'mob...
get_business_strategyGet business and monetization strategies for digital products. Covers monetization models, retention strategies, onboarding optimization, growth mechanics, and product metrics frameworks.2 params

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

Parameters* required
stagestring
Company stage for contextual filteringone of startup · growth · mature
type*string
Strategy type: monetization, retention, onboarding, growth, metrics
evaluate_designEvaluate a design description against UX principles. Returns relevant principles, potential violations, and improvement suggestions. Screenshot pixel-diff is disabled on the hosted (remote) endpoint (unbounded image decode). Omit 'before_screenshot'/'after_screenshot' and pass...6 params

Evaluate a design description against UX principles. Returns relevant principles, potential violations, and improvement suggestions. Screenshot pixel-diff is disabled on the hosted (remote) endpoint (unbounded image decode). Omit 'before_screenshot'/'after_screenshot' and pass...

Parameters* required
after_screenshotstring
Base64 PNG of the AFTER state. When both before+after are provided, returns a structured pixel diff with fix_confirmed.
before_screenshotstring
Base64 PNG of the BEFORE state
compactboolean
Return only ids+names for matched principles/patterns (drop their full bodies) plus counts and any before/after diff. Default false. Use when the full principle library payload would blow the tool-...
contextstring
What the design is (e.g. 'pricing page for SaaS product')
descriptionstring
Description of the design to evaluate
goalsarray
What to evaluate for (e.g. ['conversion', 'accessibility', 'mobile-usability'])
search_knowledgeSearch across all design principles, UI patterns, and business strategies. Use when you need to find specific guidance or don't know which category to look in.2 params

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

Parameters* required
layerstring
Which layer to search: principles, patterns, business, or all (default)one of principles · patterns · business · all
query*string
Search term (e.g. 'touch targets', 'pricing psychology', 'color contrast')
get_checklistGet a pre-publish checklist for a specific UI type. Returns actionable yes/no items to verify before shipping.2 params

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

Parameters* required
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,...one of desktop · mobile · responsive · ios · react-native
type*string
What you're shipping (e.g. 'signup form', 'pricing page', 'dashboard', 'landing page', 'modal')
get_d4d_frameworkGet the Design for Delight (D4D) framework templates. Returns customer problem statement, ideal state, hypothesis, LOFA, and experiment templates for structured product thinking.1 params

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

Parameters* required
stagestring
Which stage of the D4D loop to return. Default: full (all stages)one of frame · empathy · broad · narrow · experiment · recommendation
list_design_systemsBrowse available design systems for tokens. Filter by category (component-library, consumer, developer, fintech, framework, platform, productivity) or search by name.2 params

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

Parameters* required
categorystring
Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'.
searchstring
Search by name or description
get_design_systemGet 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.3 params

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.

Parameters* required
formatstring
Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcgone of dtcg · css · flat
groupstring
Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion
id*string
Design system ID (e.g. 'stripe', 'linear')
compose_systemMix tokens from different design systems to create a custom composite. Example: Linear's colors + Stripe's typography.2 params

Mix tokens from different design systems to create a custom composite. Example: Linear's colors + Stripe's typography.

Parameters* required
compositions*array
Array of system-group pairs to compose
formatstring
Output format. Default: dtcgone of dtcg · css
audit_pageAudit HTML/CSS against Raven's design quality standards. Checks typography (min 13px, weight 400+, modular-scale heading ratios, line-height consistency), accessibility (WCAG touch targets, alt text, contrast), responsive patterns (flexbox over grid, clamp sizing, max-width co...9 params

Audit HTML/CSS against Raven's design quality standards. Checks typography (min 13px, weight 400+, modular-scale heading ratios, line-height consistency), accessibility (WCAG touch targets, alt text, contrast), responsive patterns (flexbox over grid, clamp sizing, max-width co...

Parameters* required
adversarial_verifyboolean
After generating findings, independently re-check each against the live DOM/network and tag it confirmed / likely-artifact / inconclusive. Surfaces a debunked_count.
compactboolean
Return only the decision-grade signal — score, grade, summary, errors, warnings, fix_priority — and drop the embedded base64 screenshot and the passes list (replaced by passes_count). Default false...
containerMaxWidthnumber
Your design system's canonical content-container width in px (e.g. 1152). When set, the responsive/max-width check flags divergence from this token instead of using the generic 1200px heuristic.
htmlstring
The full HTML content of the page to audit
interactionsarray
Before capturing, fire each interaction in order (hover/click/focus the selector, then wait delay_ms). Captures the resulting dynamic state — e.g. an on-hover theme-toggle wash invisible to a stati...
scroll_settleboolean
Before capturing, step through the page with short pauses so IntersectionObserver/whileInView reveals fire, then return to the top and settle. Also plays preload=none videos. Prevents blank-section...
strictboolean
Strict mode — also flags warnings as failures. Default: false
urlstring
REJECTED on this hosted (remote) endpoint; pass html instead. (Local/stdio: Raven launches headless chromium, renders the page, and audits the RENDERED DOM.)
viewportobject
score_pageScore an HTML/CSS page across 7 design categories (Structure, Typography, Color & palette, Spacing & rhythm, Accessibility, Responsive layout, Design tokens), each rated 0–10. Scores are derived deterministically from the same checks as audit_page — no browser required. Pass h...4 params

Score an HTML/CSS page across 7 design categories (Structure, Typography, Color & palette, Spacing & rhythm, Accessibility, Responsive layout, Design tokens), each rated 0–10. Scores are derived deterministically from the same checks as audit_page — no browser required. Pass h...

Parameters* required
containerMaxWidthnumber
Your design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check.
htmlstring
The full HTML content of the page to score.
strictboolean
Strict mode — count warnings as failures in the overall score. Default: false.
urlstring
REJECTED on this hosted (remote) endpoint; pass html instead. (Local/stdio: Raven launches headless chromium, renders the page, and scores the RENDERED DOM.)
audit_parityCompare iOS vs Android element snapshots against a checklist of named spatial relationships (vertical centering, baseline/left alignment, equal gap/size, presence, truncation) and flag per-relation match/mismatch/uncertain — catches cross-platform layout drift like status text...3 params

Compare iOS vs Android element snapshots against a checklist of named spatial relationships (vertical centering, baseline/left alignment, equal gap/size, presence, truncation) and flag per-relation match/mismatch/uncertain — catches cross-platform layout drift like status text...

Parameters* required
android*object
checklist*array
ios*object
audit_ios_a11yScore an accessibility-enriched iOS element snapshot — missing accessibilityLabel/value/traits, sub-44pt tap targets, per-text WCAG contrast, Dynamic Type clipping, and VoiceOver reading order. Provide {elements:[{label,value,hint,traits,role,rect,fontPt,fgColor,bgColor,dynami...3 params

Score an accessibility-enriched iOS element snapshot — missing accessibilityLabel/value/traits, sub-44pt tap targets, per-text WCAG contrast, Dynamic Type clipping, and VoiceOver reading order. Provide {elements:[{label,value,hint,traits,role,rect,fontPt,fgColor,bgColor,dynami...

Parameters* required
elements*array
optionsobject
viewport*object
audit_responsive_visibilityRender a URL at multiple breakpoints and flag content elements that are visible on desktop but hidden on mobile (display:none / opacity:0 / visibility:hidden / zero-size). Categorises each flag as 'likely-oversight' (content that vanishes on mobile — the hidden-on-mobile conte...3 params

Render a URL at multiple breakpoints and flag content elements that are visible on desktop but hidden on mobile (display:none / opacity:0 / visibility:hidden / zero-size). Categorises each flag as 'likely-oversight' (content that vanishes on mobile — the hidden-on-mobile conte...

Parameters* required
breakpointsarray
Viewport widths in px. Default [390, 768, 1440, 2160]
url*string
URL to render (http/https or file://)
viewportHeightnumber
Render height in px. Default 900
audit_contrastCompute WCAG contrast ratios for every text element on a rendered page (pass url) or from a supplied dom_snapshot. Reports AA (4.5:1 normal, 3:1 large) and AAA pass/fail and surfaces failing pairs with selector, ratio, and delta-to-pass — replacing manual eyedropper + ratio ma...3 params

Compute WCAG contrast ratios for every text element on a rendered page (pass url) or from a supplied dom_snapshot. Reports AA (4.5:1 normal, 3:1 large) and AAA pass/fail and surfaces failing pairs with selector, ratio, and delta-to-pass — replacing manual eyedropper + ratio ma...

Parameters* required
dom_snapshotarray
Pre-collected text elements to score without rendering
screenshotstring
Optional base64 PNG for caller reference; ratios are computed from the DOM, not pixels
urlstring
URL to render and measure (http/https or file://)
suggest_contrast_fixGiven failing WCAG color pairs, return the MINIMAL color change that clears the target ratio. For each {fg,bg} pair, computes the smallest foreground adjustment (and an alternative background adjustment) that reaches AA/AAA — with the achieved ratio and direction. Feeds direct...2 params

Given failing WCAG color pairs, return the MINIMAL color change that clears the target ratio. For each {fg,bg} pair, computes the smallest foreground adjustment (and an alternative background adjustment) that reaches AA/AAA — with the achieved ratio and direction. Feeds direct...

Parameters* required
levelstring
WCAG level when targetRatio is not given per-pair. Default AA.one of AA · AAA
pairsarray
Color pairs to remediate. Each: { selector?, fg, bg, fontPx?, bold?, targetRatio? }. fontPx/bold pick the large-text threshold; targetRatio overrides the level.
audit_urlLayer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), optionally fires caller-supplied hover/focus/click interactions, and captures real pixels + the rendered DOM...9 params

Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), optionally fires caller-supplied hover/focus/click interactions, and captures real pixels + the rendered DOM...

Parameters* required
compactboolean
Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget.
containerMaxWidthnumber
Your design system's canonical container width in px — makes the max-width check token-aware.
includeScreenshotsboolean
Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large).
interactionsarray
Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content.
scroll_settleboolean
Step through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true
themesarray
Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark']
timeoutMsnumber
Per-navigation timeout in ms. Default: 30000
url*string
URL to render and audit (http/https or file://)
viewportsarray
Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200
audit_contentEvaluate an array of content items (headings, prose, CTAs, labels, captions, metrics, outcomes) against UX-writing principles and deterministic heuristics. Returns a per-item verdict (pass/warn/fail) with matched principle ids, concrete issues grounded in principle text, a bef...3 params

Evaluate an array of content items (headings, prose, CTAs, labels, captions, metrics, outcomes) against UX-writing principles and deterministic heuristics. Returns a per-item verdict (pass/warn/fail) with matched principle ids, concrete issues grounded in principle text, a bef...

Parameters* required
goalsarray
Optional content goals (e.g. ['clarity','conversion']); recorded for traceability.
items*array
Array of content items to audit.
systemstring
Optional content-system id (e.g. 'ux-writing'); recorded for traceability.
audit_typographyAudit the typographic SCALE of a rendered page (pass url) or a pre-collected snapshot of text nodes. Emits a focused report: (a) MODULAR SCALE — detects the dominant ratio (~1.2/1.25/1.333/1.5) across distinct font sizes and flags off-scale outliers; (b) LINE-HEIGHT CONSISTENC...2 params

Audit the typographic SCALE of a rendered page (pass url) or a pre-collected snapshot of text nodes. Emits a focused report: (a) MODULAR SCALE — detects the dominant ratio (~1.2/1.25/1.333/1.5) across distinct font sizes and flags off-scale outliers; (b) LINE-HEIGHT CONSISTENC...

Parameters* required
nodesarray
Pre-collected text nodes to analyze without rendering.
urlstring
REJECTED on this hosted (remote) endpoint; pass nodes instead. (Local/stdio: URL to render and measure, http/https or file://; requires headless chromium.)
audit_tap_targetsWCAG 2.5.5 / Apple 44pt tap-target audit for the web. Collects every interactive element (a, button, [role=button], input[type=submit/button/checkbox/radio], select, summary, label[for], [onclick], [tabindex>=0]) and emits a PER-ELEMENT fix table for any whose rendered width o...3 params

WCAG 2.5.5 / Apple 44pt tap-target audit for the web. Collects every interactive element (a, button, [role=button], input[type=submit/button/checkbox/radio], select, summary, label[for], [onclick], [tabindex>=0]) and emits a PER-ELEMENT fix table for any whose rendered width o...

Parameters* required
elementsarray
Pre-collected interactive elements to score without rendering.
minSizenumber
Minimum tap-target size in px on each axis. Default 44.
urlstring
URL to render and measure. Requires headless chromium.
get_brand_systemGet 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...3 params

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...

Parameters* required
company*string
The 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: guideone of css · dtcg · guide
modestring
Color mode preference. Default: based on the system's primary modeone of light · dark
generate_design_systemGenerate a complete, custom design system with full token set. Provide a brand color to auto-generate a harmonious palette, pick a style preset, and export as visual HTML documentation, CSS variables, W3C DTCG JSON, Figma Variables, or SVG palette card. The HTML export is a be...6 params

Generate a complete, custom design system with full token set. Provide a brand color to auto-generate a harmonious palette, pick a style preset, and export as visual HTML documentation, CSS variables, W3C DTCG JSON, Figma Variables, or SVG palette card. The HTML export is a be...

Parameters* required
base_systemstring
Start from an existing system as foundation (e.g. 'stripe', 'linear'). Colors will be replaced by brand_color if provided.
brand_colorstring
Primary brand hex color (e.g. '#FF6B35'). Auto-generates a full harmonious palette using color theory.
dark_modeboolean
Generate dark mode tokens alongside light. Default: true
formatstring
Export format: html (visual doc page), css (custom properties), dtcg (W3C JSON), figma (Figma Variables JSON), svg (color palette card), all. Default: htmlone of html · css · dtcg · figma · svg · all
name*string
Name for the design system (e.g. 'Acme Corp', 'NightOwl')
stylestring
Aesthetic direction — influences spacing, radii, shadows, motion, and typography. Default: minimalone of minimal · bold · warm · corporate · playful · dark
audit_layoutEvaluate visual rhythm from a rendered page's geometry. Call with no arguments to get a DevTools snippet to paste into your page — it prints {elements, viewport} JSON. Call again with that JSON to get alignment, gap-rhythm, and optical-balance scores. This is the complement to...2 params

Evaluate visual rhythm from a rendered page's geometry. Call with no arguments to get a DevTools snippet to paste into your page — it prints {elements, viewport} JSON. Call again with that JSON to get alignment, gap-rhythm, and optical-balance scores. This is the complement to...

Parameters* required
elementsarray
Array of element rects captured from the rendered page via the DevTools snippet
viewportobject
Viewport dimensions {w,h} at capture time
audit_swiftuiAudit SwiftUI source against Apple's Human Interface Guidelines. Flags hardcoded .font(.system(size:)) below ~13pt and tiny semantic fonts (.caption/.caption2), hardcoded Color(red:green:blue:)/hex instead of asset-catalog or semantic system colors, an empty/undefined AccentCo...5 params

Audit SwiftUI source against Apple's Human Interface Guidelines. Flags hardcoded .font(.system(size:)) below ~13pt and tiny semantic fonts (.caption/.caption2), hardcoded Color(red:green:blue:)/hex instead of asset-catalog or semantic system colors, an empty/undefined AccentCo...

Parameters* required
accent_color_contentsstring
Optional raw Contents.json of AccentColor.colorset. When provided, the tool verifies AccentColor actually defines color components (flags an empty/undefined accent color as an error).
profilestring
Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectstring
Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (animation/material/haptic/font...
source*value
SwiftUI source — a single file/view as a string, or an array of file contents. Concatenated before analysis.
strictboolean
Strict mode — also count warnings as failures for grading. Default: false
audit_screenAudit a rendered mobile screen (iOS or Android) from a view-hierarchy/accessibility snapshot. Call with no arguments for the expected snapshot shape and how to capture it. Pass platform:"android" to score against the 48dp Material touch minimum and Material muted roles (onSurf...7 params

Audit a rendered mobile screen (iOS or Android) from a view-hierarchy/accessibility snapshot. Call with no arguments for the expected snapshot shape and how to capture it. Pass platform:"android" to score against the 48dp Material touch minimum and Material muted roles (onSurf...

Parameters* required
elementsarray
Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot
platformstring
Target platform — 'ios' (default, 44pt minimum, iOS semantic colors) or 'android' (48dp minimum, Material semantic roles)one of ios · android
profilestring
Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectstring
Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-sche...
screenshotstring
Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.
scroll_settleboolean
viewportobject
Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel
audit_ios_screenAudit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:"ios". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewp...5 params

Audit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:"ios". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewp...

Parameters* required
elementsarray
Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot
profilestring
Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectstring
Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-sche...
screenshotstring
Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.
viewportobject
Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel
audit_ios_privacyAudit an iOS or React Native/Expo app's privacy posture for App Review and user trust. Reads a native Info.plist XML OR an Expo app.json (managed Expo apps have no Info.plist) — plus optional PRIVACY.md, entitlements, and source. Flags: NS*UsageDescription strings that are vag...5 params

Audit an iOS or React Native/Expo app's privacy posture for App Review and user trust. Reads a native Info.plist XML OR an Expo app.json (managed Expo apps have no Info.plist) — plus optional PRIVACY.md, entitlements, and source. Flags: NS*UsageDescription strings that are vag...

Parameters* required
app_jsonstring
Expo app.json / app.config JSON (managed RN). Its expo.ios.infoPlist, expo.android.permissions, plugins, and extra are audited.
entitlementsstring
Optional .entitlements XML
info_pliststring
Raw Info.plist XML (native iOS / bare RN). Provide this OR app_json.
privacy_mdstring
Optional PRIVACY.md / privacy policy text to cross-reference against declared permissions and default behavior
sourcestring
Optional concatenated source (Swift or JS/TS) — enables code-vs-declaration contradiction checks and default-egress detection
audit_rnAudit React Native / Expo source (JSX/TSX + StyleSheet) against the iOS HIG + Android Material conventions RN must satisfy. Flags touchables missing accessibilityLabel/accessibilityRole, touchables below 44pt without hitSlop, allowFontScaling={false}, fontSize below ~13, scree...5 params

Audit React Native / Expo source (JSX/TSX + StyleSheet) against the iOS HIG + Android Material conventions RN must satisfy. Flags touchables missing accessibilityLabel/accessibilityRole, touchables below 44pt without hitSlop, allowFontScaling={false}, fontSize below ~13, scree...

Parameters* required
color_schemestring
The app's declared appearance (Expo app.json userInterfaceStyle). 'light' or 'dark' means single-mode by design — the dark-mode adaptation check is then suppressed. Default: automatic.one of light · dark · automatic
profilestring
Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectstring
Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (Animated/Reanimated, BlurView,...
source*value
React Native source — a single screen/component as a string, or an array of file contents. Concatenated before analysis.
strictboolean
Strict mode — also count warnings as failures for grading. Default: false
list_content_systemsBrowse available content design systems — brand voice and tone guides (Conversational Product Voice, GOV.UK, Shopify Polaris, Atlassian). Filter by category or search by name.2 params

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.

Parameters* required
categorystring
Filter by category: commerce-saas, government, marketing-saas, productivity-saas
searchstring
Search by name, description, or tag
get_content_systemGet 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.2 params

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.

Parameters* required
id*string
Content system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian')
sectionstring
Return just one section. Default: all.one of all · voice · tone_shifts · vocabulary · grammar · content-patterns
get_content_principlesGet 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').2 params

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').

Parameters* required
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: fullone of full · checklist · brief
get_content_patternGet 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.1 params

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.

Parameters* required
type*string
Content pattern typeone of error-messages · empty-state-copy · notifications · form-validation
get_research_methodGet 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...2 params

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...

Parameters* required
categorystring
Which family of methods. Default: all.one of qualitative · quantitative · usability · all
searchstring
Search within methods by name or description.
get_metrics_frameworkGet 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 w...2 params

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 w...

Parameters* required
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.
get_service_patternGet 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-chann...1 params

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-chann...

Parameters* required
type*string
Service design pattern typeone of service-blueprinting · human-handoff · signup-as-service · omnichannel-continuity · moments-of-truth
get_service_standardGet 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.

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.

No parameters. Call it with no arguments.

generate_service_blueprintRender 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...5 params

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...

Parameters* required
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.
current*array
The current-state blueprint as an array of steps
idealarray
Optional ideal-state blueprint — if provided, output shows current AND ideal side-by-side
service_name*string
Name of the service (e.g. 'Free trial signup', 'Client intake', 'Restaurant reservation')
subtitlestring
Short description or context line under the title
get_brand_principlesGet 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...2 params

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...

Parameters* required
formatstring
Output format. Default: full.one of full · checklist · brief
topicstring
Filter by topic: 'logo', 'gradient', 'imagery', 'hierarchy', 'system', or a freeform search term. Omit to return all brand principles.
get_brand_trendsGet 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 — tr...

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 — tr...

No parameters. Call it with no arguments.

list_creative_modelsBrowse 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.2 params

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.

Parameters* required
capabilitystring
Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.
media_typestring
Filter by media type.one of image · video · audio · 3d · campaign · analysis
list_creative_presetsBrowse Raven creative presets for product photoshoots, marketplace cards, UGC ads, TV spots, cinematic reveals, social launch packs, storyboards, and infographics.2 params

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

Parameters* required
media_typestring
Filter presets by media type.one of image · video · campaign
searchstring
Search preset name or description.
score_creativeScore a creative prompt, script, or ad concept for hook strength, benefit clarity, product signal, call-to-action, channel fit, audience fit, and brand fit. This is a transparent heuristic, not a proprietary prediction model. Local brand profiles are not available on the hoste...4 params

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

Parameters* required
audiencestring
Target audience if not in a brand profile.
brand_profile_idstring
Local Raven brand profile ID.
channelstring
Target channel.
creative_text*string
Prompt, script, ad copy, or creative concept to score.
audit_consistencyAudit multiple pages for cross-page consistency of content-container width and hero heading tier. Pass ≥2 pages ({name, html}) collected from different routes on the same site. Infers the canonical (modal) value from the corpus when no token is supplied, so you need not know t...3 params

Audit multiple pages for cross-page consistency of content-container width and hero heading tier. Pass ≥2 pages ({name, html}) collected from different routes on the same site. Infers the canonical (modal) value from the corpus when no token is supplied, so you need not know t...

Parameters* required
container_tokennumber
Project's canonical container width in px (e.g. 1152). When supplied, container divergence is measured against this token rather than the corpus modal.
hero_tokenstring
Canonical hero heading class signature (e.g. "text-display-xl" or "64"). When supplied, hero divergence is measured against this token rather than the corpus modal.
pages*array
At least 2 pages to compare. Each entry is {name, html}.
audit_video_playbackRender a page in headless Chromium and observe whether each <video> actually advances (samples currentTime before/after a play attempt), classifying every clip into playing|paused|stalled|empty|error with a reason. Catches black/non-playing videos that static audits miss — the...3 params

Render a page in headless Chromium and observe whether each <video> actually advances (samples currentTime before/after a play attempt), classifying every clip into playing|paused|stalled|empty|error with a reason. Catches black/non-playing videos that static audits miss — the...

Parameters* required
dom_snapshotarray
Pre-collected video observations to classify without rendering (deterministic path)
observeMsnumber
Milliseconds to wait between currentTime samples after play() attempt. Default: 1000
urlstring
URL to render and observe (http/https or file://). Requires headless chromium.

Sponsors

Readme

Raven MCP

Odin's ravens brought back knowledge of the world — Raven brings back design intelligence.

Raven is an MCP server for coding agents. Click any element in the app you have running locally and say what should change — Raven sends the agent the selector, the computed styles, and your design tokens — then audits the result for contrast, tap targets, and typography.

Raven MCP is a personal open-source project by Andrew Cunliffe. It is not endorsed by, affiliated with, or supported by Intuit Inc. or any other company referenced in its source data. See NOTICE for full attribution of upstream sources and their licenses.

What it does

Raven gives Claude access to a comprehensive design knowledge base:


View the full README on GitHub

Details

Repository
github.com/rhinocap/raven-mcp
Website
ravenmcp.ai
Category
Design & Creative
Package
raven-mcp
Transport
STDIO, HTTP
Registry
MCP registry, active
Prompts
5
Tools verified
Nov 6, 2026

Related Design & Creative MCP servers

View all
1sarg338 avatarSteam (read-only)sarg338/steam-mcpRead-only Steam: friends, games, achievements, sales, plus game recommendations and co-op nights.8stars
2aryanbv avatarPdf Toolkit Mcparyanbv/pdf-toolkit-mcpWrite-capable PDF toolkit MCP: 22 tools to read, create, render, encrypt, merge & fill PDFs.7stars
3pangolinfo avatarAmazon Mcppangolinfo/pangolinfo-mcpAmazon data MCP: products, reviews, niches, WIPO design/IP + US litigation, AI search & trends.6stars
4copperline-labs avatarRendex: Rendering API for Images, PDFs & Content Extractioncopperline-labs/rendex-mcpRender HTML, Markdown, or URLs to images, PDF, or branded artifacts; extract and watch pages.6stars
5freema avatarPixelForgefreema/pixelforge-mcpForge pixel art sprites, animations, tilesets and game assets with Google Gemini.6stars
6k1ta141k avatarMCP Bench Routerk1ta141k/mcp-bench-routerRoutes design tasks to designarena.ai's top-ranked model via OpenRouter across 14 categories.6stars