此 MCP 可以做什么
Supports coding agents with design audits, design-system guidance, and a configurable visual preference profile.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pages'], 'properties': {'pages': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'html'], 'properties': {'html': {'type': 'string', 'minLength': 1, 'description': 'Full HTML source for the page, including any <style> blocks.'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Page route or label (e.g. "/", "/changelog", "get-started").'}}, 'additionalProperties': False}, 'minItems': 2, 'description': 'At least 2 pages to compare. Each entry is {name, html}.'}, 'hero_token': {'type': 'string', 'description': '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.'}, 'container_token': {'type': 'number', 'description': "Project's canonical container width in px (e.g. 1152). When supplied, container divergence is measured against this token rather than the corpus modal."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items'], 'properties': {'goals': {'type': 'array', 'items': {'type': 'string'}, 'description': "Optional content goals (e.g. ['clarity','conversion']); recorded for traceability."}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'text'], 'properties': {'id': {'type': 'string', 'description': 'Optional stable id; auto-generated (item_N) if omitted.'}, 'text': {'type': 'string', 'description': 'The raw content string to evaluate.'}, 'type': {'enum': ['prose', 'caption', 'heading', 'outcome', 'metric', 'cta', 'label'], 'type': 'string', 'description': 'Content type — selects which heuristics apply.'}}, 'additionalProperties': False}, 'description': 'Array of content items to audit.'}, 'system': {'type': 'string', 'description': "Optional content-system id (e.g. 'ux-writing'); recorded for traceability."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'URL to render and measure (http/https or file://)'}, 'screenshot': {'type': 'string', 'description': 'Optional base64 PNG for caller reference; ratios are computed from the DOM, not pixels'}, 'dom_snapshot': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'color', 'bgColor'], 'properties': {'bold': {'type': 'boolean'}, 'text': {'type': 'string'}, 'color': {'type': 'string'}, 'fontPx': {'type': 'number'}, 'bgColor': {'type': 'string'}, 'selector': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Pre-collected text elements to score without rendering'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['elements', 'viewport'], 'properties': {'options': {'type': 'object', 'properties': {'minTarget': {'type': 'number'}}, 'additionalProperties': False}, 'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['rect'], 'properties': {'hint': {'type': 'string'}, 'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'role': {'type': 'string'}, 'label': {'type': 'string'}, 'value': {'type': 'string'}, 'fontPt': {'type': 'number'}, 'traits': {'type': 'array', 'items': {'type': 'string'}}, 'bgColor': {'type': 'string'}, 'fgColor': {'type': 'string'}, 'dynamicTypeClipped': {'type': 'boolean'}}, 'additionalProperties': False}}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'source': {'type': 'string', 'description': 'Optional concatenated source (Swift or JS/TS) — enables code-vs-declaration contradiction checks and default-egress detection'}, 'app_json': {'type': 'string', 'description': 'Expo app.json / app.config JSON (managed RN). Its expo.ios.infoPlist, expo.android.permissions, plugins, and extra are audited.'}, 'info_plist': {'type': 'string', 'description': 'Raw Info.plist XML (native iOS / bare RN). Provide this OR app_json.'}, 'privacy_md': {'type': 'string', 'description': 'Optional PRIVACY.md / privacy policy text to cross-reference against declared permissions and default behavior'}, 'entitlements': {'type': 'string', 'description': 'Optional .entitlements XML'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'profile': {'type': 'string', 'description': 'Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.'}, 'project': {'type': 'string', 'description': "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-scheme notes; results gain note_assessments."}, 'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['rect'], 'properties': {'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'role': {'type': 'string', 'description': 'Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField'}, 'label': {'type': 'string'}, 'fontPt': {'type': 'number', 'description': 'Effective font point/dp size, if text'}, 'bgColor': {'type': 'string', 'description': 'Background color behind this element — hex, rgb(), or semantic name'}, 'fgColor': {'type': 'string', 'description': "Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)"}}, 'additionalProperties': False}, 'description': 'Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot'}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'description': 'Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel', 'additionalProperties': False}, 'screenshot': {'type': 'string', 'description': "Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'rect'], 'properties': {'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'computed': {'type': 'object', 'properties': {'gap': {'type': 'string'}, 'color': {'type': 'string'}, 'margin': {'type': 'string'}, 'padding': {'type': 'string'}, 'fontSize': {'type': 'string'}, 'background': {'type': 'string'}}, 'additionalProperties': False}, 'selector': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Array of element rects captured from the rendered page via the DevTools snippet'}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'description': 'Viewport dimensions {w,h} at capture time', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'REJECTED on this hosted (remote) endpoint; pass html instead. (Local/stdio: Raven launches headless chromium, renders the page, and audits the RENDERED DOM.)'}, 'html': {'type': 'string', 'description': 'The full HTML content of the page to audit'}, 'strict': {'type': 'boolean', 'description': 'Strict mode — also flags warnings as failures. Default: false'}, 'compact': {'type': 'boolean', 'description': '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. Use when the full payload would blow the tool-result budget.'}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}, 'interactions': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'event', 'delay_ms'], 'properties': {'event': {'enum': ['hover', 'click', 'focus'], 'type': 'string'}, 'delay_ms': {'type': 'number'}, 'selector': {'type': 'string'}}, 'additionalProperties': False}, 'description': '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 static screenshot.'}, 'scroll_settle': {'type': 'boolean', 'description': '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 false positives.'}, 'containerMaxWidth': {'type': 'number', 'description': "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."}, 'adversarial_verify': {'type': 'boolean', 'description': 'After generating findings, independently re-check each against the live DOM/network and tag it confirmed / likely-artifact / inconclusive. Surfaces a debunked_count.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ios', 'android', 'checklist'], 'properties': {'ios': {'type': 'object', 'required': ['elements', 'viewport'], 'properties': {'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['rect'], 'properties': {'id': {'type': 'string'}, 'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'role': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'android': {'type': 'object', 'required': ['elements', 'viewport'], 'properties': {'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['rect'], 'properties': {'id': {'type': 'string'}, 'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'role': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'checklist': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'a', 'relation'], 'properties': {'a': {'type': 'string'}, 'b': {'type': 'string'}, 'name': {'type': 'string'}, 'relation': {'enum': ['present', 'vertically-centered', 'baseline-aligned', 'left-aligned', 'equal-gap', 'equal-size', 'same-truncation'], 'type': 'string'}, 'tolerance': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'URL to render (http/https or file://)'}, 'breakpoints': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Viewport widths in px. Default [390, 768, 1440, 2160]'}, 'viewportHeight': {'type': 'number', 'description': 'Render height in px. Default 900'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source'], 'properties': {'source': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'React Native source — a single screen/component as a string, or an array of file contents. Concatenated before analysis.'}, 'strict': {'type': 'boolean', 'description': 'Strict mode — also count warnings as failures for grading. Default: false'}, 'profile': {'type': 'string', 'description': 'Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.'}, 'project': {'type': 'string', 'description': '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, haptics, fonts) and returned in note_assessments; missing notes count toward the grade.'}, 'color_scheme': {'enum': ['light', 'dark', 'automatic'], 'type': 'string', 'description': "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."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'profile': {'type': 'string', 'description': 'Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.'}, 'project': {'type': 'string', 'description': "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-scheme notes; results gain note_assessments."}, 'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['rect'], 'properties': {'rect': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}, 'role': {'type': 'string', 'description': 'Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField'}, 'label': {'type': 'string'}, 'fontPt': {'type': 'number', 'description': 'Effective font point/dp size, if text'}, 'bgColor': {'type': 'string', 'description': 'Background color behind this element — hex, rgb(), or semantic name'}, 'fgColor': {'type': 'string', 'description': "Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)"}}, 'additionalProperties': False}, 'description': 'Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot'}, 'platform': {'enum': ['ios', 'android'], 'type': 'string', 'description': "Target platform — 'ios' (default, 44pt minimum, iOS semantic colors) or 'android' (48dp minimum, Material semantic roles)"}, 'viewport': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'description': 'Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel', 'additionalProperties': False}, 'screenshot': {'type': 'string', 'description': "Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels."}, 'scroll_settle': {'type': 'boolean'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source'], 'properties': {'source': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'SwiftUI source — a single file/view as a string, or an array of file contents. Concatenated before analysis.'}, 'strict': {'type': 'boolean', 'description': 'Strict mode — also count warnings as failures for grading. Default: false'}, 'profile': {'type': 'string', 'description': 'Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.'}, 'project': {'type': 'string', 'description': '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 APIs) and returned in note_assessments; missing notes count toward the grade.'}, 'accent_color_contents': {'type': 'string', 'description': '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).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'URL to render and measure. Requires headless chromium.'}, 'minSize': {'type': 'number', 'description': 'Minimum tap-target size in px on each axis. Default 44.'}, 'elements': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}, 'role': {'type': 'string'}, 'text': {'type': 'string'}, 'selector': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Pre-collected interactive elements to score without rendering.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'REJECTED on this hosted (remote) endpoint; pass nodes instead. (Local/stdio: URL to render and measure, http/https or file://; requires headless chromium.)'}, 'nodes': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'fontPx'], 'properties': {'tag': {'type': 'string'}, 'text': {'type': 'string'}, 'fontPx': {'type': 'number'}, 'selector': {'type': 'string'}, 'fontWeight': {'type': 'number'}, 'lineHeightPx': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Pre-collected text nodes to analyze without rendering.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'URL to render and audit (http/https or file://)'}, 'themes': {'type': 'array', 'items': {'enum': ['light', 'dark'], 'type': 'string'}, 'description': "Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark']"}, 'compact': {'type': 'boolean', 'description': 'Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget.'}, 'timeoutMs': {'type': 'number', 'description': 'Per-navigation timeout in ms. Default: 30000'}, 'viewports': {'type': 'array', 'items': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200'}, 'interactions': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'event', 'delay_ms'], 'properties': {'event': {'enum': ['hover', 'click', 'focus'], 'type': 'string'}, 'delay_ms': {'type': 'number'}, 'selector': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content.'}, 'scroll_settle': {'type': 'boolean', 'description': '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'}, 'containerMaxWidth': {'type': 'number', 'description': "Your design system's canonical container width in px — makes the max-width check token-aware."}, 'includeScreenshots': {'type': 'boolean', 'description': 'Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'URL to render and observe (http/https or file://). Requires headless chromium.'}, 'observeMs': {'type': 'number', 'description': 'Milliseconds to wait between currentTime samples after play() attempt. Default: 1000'}, 'dom_snapshot': {'type': 'array', 'items': {'type': 'object', 'required': ['selector', 'hasSource', 'readyState', 'networkState', 'errorCode', 'paused', 'autoplayBlocked', 'currentTimeStart', 'currentTimeEnd'], 'properties': {'paused': {'type': 'boolean', 'description': 'True if the element is paused'}, 'selector': {'type': 'string', 'description': 'CSS selector identifying the video element'}, 'errorCode': {'type': 'number', 'description': 'MediaError.code (0=none, 1=aborted, 2=network, 3=decode, 4=src-not-supported)'}, 'hasSource': {'type': 'boolean', 'description': 'True if currentSrc is non-empty OR the element has a src attribute or <source> child'}, 'readyState': {'type': 'number', 'description': 'HTMLMediaElement.readyState (0..4)'}, 'networkState': {'type': 'number', 'description': 'HTMLMediaElement.networkState (0..3; 3=NETWORK_NO_SOURCE)'}, 'currentTimeEnd': {'type': 'number', 'description': 'currentTime recorded after the observe window'}, 'autoplayBlocked': {'type': 'boolean', 'description': 'True if play() was rejected with NotAllowedError'}, 'currentTimeStart': {'type': 'number', 'description': 'currentTime recorded before the play attempt'}}, 'additionalProperties': False}, 'description': 'Pre-collected video observations to classify without rendering (deterministic path)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['compositions'], 'properties': {'format': {'enum': ['dtcg', 'css'], 'type': 'string', 'description': 'Output format. Default: dtcg'}, 'compositions': {'type': 'array', 'items': {'type': 'object', 'required': ['system', 'group'], 'properties': {'group': {'type': 'string', 'description': 'Token group to take (color, typography, spacing, radius, elevation, motion)'}, 'system': {'type': 'string', 'description': 'Source design system ID'}}, 'additionalProperties': False}, 'description': 'Array of system-group pairs to compose'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'goals': {'type': 'array', 'items': {'type': 'string'}, 'description': "What to evaluate for (e.g. ['conversion', 'accessibility', 'mobile-usability'])"}, 'compact': {'type': 'boolean', 'description': '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-result budget.'}, 'context': {'type': 'string', 'description': "What the design is (e.g. 'pricing page for SaaS product')"}, 'description': {'type': 'string', 'description': 'Description of the design to evaluate'}, 'after_screenshot': {'type': 'string', 'description': 'Base64 PNG of the AFTER state. When both before+after are provided, returns a structured pixel diff with fix_confirmed.'}, 'before_screenshot': {'type': 'string', 'description': 'Base64 PNG of the BEFORE state'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Name for the design system (e.g. 'Acme Corp', 'NightOwl')"}, 'style': {'enum': ['minimal', 'bold', 'warm', 'corporate', 'playful', 'dark'], 'type': 'string', 'description': 'Aesthetic direction — influences spacing, radii, shadows, motion, and typography. Default: minimal'}, 'format': {'enum': ['html', 'css', 'dtcg', 'figma', 'svg', 'all'], 'type': 'string', 'description': 'Export format: html (visual doc page), css (custom properties), dtcg (W3C JSON), figma (Figma Variables JSON), svg (color palette card), all. Default: html'}, 'dark_mode': {'type': 'boolean', 'description': 'Generate dark mode tokens alongside light. Default: true'}, 'base_system': {'type': 'string', 'description': "Start from an existing system as foundation (e.g. 'stripe', 'linear'). Colors will be replaced by brand_color if provided."}, 'brand_color': {'type': 'string', 'description': "Primary brand hex color (e.g. '#FF6B35'). Auto-generates a full harmonious palette using color theory."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service_name', 'current'], 'properties': {'ideal': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}, 'actor_b': {'type': 'object', 'properties': {'action': {'type': 'string'}, 'evidence': {'type': 'string'}, 'frontstage': {'type': 'string'}}, 'additionalProperties': False}, 'delight': {'type': 'string'}, 'support': {'type': 'string'}, 'evidence': {'type': 'string'}, 'backstage': {'type': 'string'}, 'frontstage': {'type': 'string'}, 'pain_point': {'type': 'string'}, 'user_action': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Optional ideal-state blueprint — if provided, output shows current AND ideal side-by-side'}, 'actors': {'type': 'object', 'required': ['b'], 'properties': {'a': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}}, 'description': "Actor A label (default: 'User'). Use when you want to name the first side (e.g. 'Customer', 'Patient').", 'additionalProperties': False}, 'b': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string'}}, 'description': "Actor B label (e.g. 'Lawyer', 'Doctor', 'Agent'). Presence of this field switches to two-actor layout.", 'additionalProperties': False}}, 'description': '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.', 'additionalProperties': False}, 'current': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string', 'description': "Step label (e.g. 'Discover', 'Sign up', 'First use')"}, 'actor_b': {'type': 'object', 'properties': {'action': {'type': 'string', 'description': 'What actor B does in this step'}, 'evidence': {'type': 'string', 'description': 'Artifact actor B has — case file, notes, record'}, 'frontstage': {'type': 'string', 'description': 'What actor B sees — their own UI, tools, views'}}, 'description': 'Only used when `actors.b` is provided. Captures the other side of the interaction.', 'additionalProperties': False}, 'delight': {'type': 'string', 'description': 'Designed moment of delight at this step (shown as green callout)'}, 'support': {'type': 'string', 'description': 'Supporting processes, systems, third-party dependencies'}, 'evidence': {'type': 'string', 'description': 'In single-actor: artifact user receives. In two-actor: artifact actor A has.'}, 'backstage': {'type': 'string', 'description': 'What neither actor sees directly — shared systems, internal processes, back-office work'}, 'frontstage': {'type': 'string', 'description': 'In single-actor: what the user SEES (UI, agent greeting). In two-actor: what actor A sees.'}, 'pain_point': {'type': 'string', 'description': 'Known pain point at this step (shown as red callout)'}, 'user_action': {'type': 'string', 'description': 'In single-actor: what the user does. In two-actor: what actor A does.'}}, 'additionalProperties': False}, 'description': 'The current-state blueprint as an array of steps'}, 'subtitle': {'type': 'string', 'description': 'Short description or context line under the title'}, 'service_name': {'type': 'string', 'description': "Name of the service (e.g. 'Free trial signup', 'Client intake', 'Restaurant reservation')"}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'type': 'string', 'description': "Filter by topic: 'logo', 'gradient', 'imagery', 'hierarchy', 'system', or a freeform search term. Omit to return all brand principles."}, 'format': {'enum': ['full', 'checklist', 'brief'], 'type': 'string', 'description': 'Output format. Default: full.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['company'], 'properties': {'mode': {'enum': ['light', 'dark'], 'type': 'string', 'description': "Color mode preference. Default: based on the system's primary mode"}, 'format': {'enum': ['css', 'dtcg', 'guide'], 'type': 'string', 'description': "Output format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide"}, 'company': {'type': 'string', 'description': "The company whose branding to use (e.g. 'Spotify', 'Stripe', 'Apple', 'Linear', 'Airbnb')"}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'type': {'type': 'string', 'description': 'Strategy type: monetization, retention, onboarding, growth, metrics'}, 'stage': {'enum': ['startup', 'growth', 'mature'], 'type': 'string', 'description': 'Company stage for contextual filtering'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'type': {'type': 'string', 'description': "What you're shipping (e.g. 'signup form', 'pricing page', 'dashboard', 'landing page', 'modal')"}, 'platform': {'enum': ['desktop', 'mobile', 'responsive', 'ios', 'react-native'], 'type': 'string', 'description': "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, SafeAreaView, dark mode, platform parity, secrets). Both replace the web/mobile-web checks."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'type': {'enum': ['error-messages', 'empty-state-copy', 'notifications', 'form-validation'], 'type': 'string', 'description': 'Content pattern type'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'format': {'enum': ['full', 'checklist', 'brief'], 'type': 'string', 'description': 'Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full'}, 'context': {'type': 'string', 'description': "What you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Content system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian')"}, 'section': {'enum': ['all', 'voice', 'tone_shifts', 'vocabulary', 'grammar', 'content-patterns', 'inclusive-language'], 'type': 'string', 'description': 'Return just one section. Default: all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'stage': {'enum': ['frame', 'empathy', 'broad', 'narrow', 'experiment', 'recommendation', 'full'], 'type': 'string', 'description': 'Which stage of the D4D loop to return. Default: full (all stages)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Design system ID (e.g. 'stripe', 'linear')"}, 'group': {'type': 'string', 'description': 'Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion'}, 'format': {'enum': ['dtcg', 'css', 'flat'], 'type': 'string', 'description': 'Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Framework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all.'}, 'search': {'type': 'string', 'description': 'Search for a framework by name or summary.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'goal': {'enum': ['conversion', 'usability', 'accessibility', 'delight'], 'type': 'string', 'description': 'Filter by primary goal'}, 'type': {'type': 'string', 'description': "Pattern type (e.g. 'signup-flow', 'pricing-page', 'navigation', 'forms', 'landing-page', 'dashboard', 'modals-dialogs', 'empty-states', 'error-states', 'loading-states', 'cta', 'social-proof', 'mobile-conversion')"}, 'platform': {'enum': ['desktop', 'mobile', 'responsive'], 'type': 'string', 'description': 'Filter patterns by platform context'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context'], 'properties': {'format': {'enum': ['full', 'checklist', 'brief'], 'type': 'string', 'description': 'Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full'}, 'context': {'type': 'string', 'description': "What you're designing (e.g. 'signup form', 'pricing page', 'mobile nav', 'dark dashboard')"}, 'category': {'type': 'string', 'description': '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, spacing-systems, typography, ux-writing'}, 'platform': {'enum': ['web', 'ios', 'react-native'], 'type': 'string', 'description': "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+hitSlop, accessibilityLabel/Role, font scaling, SafeAreaView, dark mode, iOS+Android parity, secrets). Both replace the web/CSS-oriented set. Default: web."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'search': {'type': 'string', 'description': 'Search within methods by name or description.'}, 'category': {'enum': ['qualitative', 'quantitative', 'usability', 'all'], 'type': 'string', 'description': 'Which family of methods. Default: all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'type': {'enum': ['service-blueprinting', 'human-handoff', 'signup-as-service', 'omnichannel-continuity', 'moments-of-truth'], 'type': 'string', 'description': 'Service design pattern type'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'search': {'type': 'string', 'description': 'Search by name, description, or tag'}, 'category': {'type': 'string', 'description': 'Filter by category: commerce-saas, government, marketing-saas, productivity-saas'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'capability': {'type': 'string', 'description': 'Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.'}, 'media_type': {'enum': ['image', 'video', 'audio', '3d', 'campaign', 'analysis'], 'type': 'string', 'description': 'Filter by media type.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'search': {'type': 'string', 'description': 'Search preset name or description.'}, 'media_type': {'enum': ['image', 'video', 'campaign'], 'type': 'string', 'description': 'Filter presets by media type.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'search': {'type': 'string', 'description': 'Search by name or description'}, 'category': {'type': 'string', 'description': "Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['creative_text'], 'properties': {'channel': {'type': 'string', 'description': 'Target channel.'}, 'audience': {'type': 'string', 'description': 'Target audience if not in a brand profile.'}, 'creative_text': {'type': 'string', 'description': 'Prompt, script, ad copy, or creative concept to score.'}, 'brand_profile_id': {'type': 'string', 'description': 'Local Raven brand profile ID.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'description': 'REJECTED on this hosted (remote) endpoint; pass html instead. (Local/stdio: Raven launches headless chromium, renders the page, and scores the RENDERED DOM.)'}, 'html': {'type': 'string', 'description': 'The full HTML content of the page to score.'}, 'strict': {'type': 'boolean', 'description': 'Strict mode — count warnings as failures in the overall score. Default: false.'}, 'containerMaxWidth': {'type': 'number', 'description': "Your design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check."}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'layer': {'enum': ['principles', 'patterns', 'business', 'all'], 'type': 'string', 'description': 'Which layer to search: principles, patterns, business, or all (default)'}, 'query': {'type': 'string', 'description': "Search term (e.g. 'touch targets', 'pricing psychology', 'color contrast')"}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'level': {'enum': ['AA', 'AAA'], 'type': 'string', 'description': 'WCAG level when targetRatio is not given per-pair. Default AA.'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['fg', 'bg'], 'properties': {'bg': {'type': 'string'}, 'fg': {'type': 'string'}, 'bold': {'type': 'boolean'}, 'ratio': {'type': ['number', 'null']}, 'fontPx': {'type': 'number'}, 'status': {'enum': ['pass', 'fail', 'indeterminate'], 'type': 'string'}, 'selector': {'type': 'string'}, 'targetRatio': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Color pairs to remediate. Each: { selector?, fg, bg, fontPx?, bold?, targetRatio? }. fontPx/bold pick the large-text threshold; targetRatio overrides the level.'}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Blixtworks
Offers pay-per-call utilities for text, image processing and analysis, data conversion, validation, web inspection, cryptography,…
Compose Preview Catalogs
Browses, renders, compares, audits, and edits Jetpack Compose preview catalogs and associated UI designs.
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
kernelcad
Authors, evaluates, reviews, simulates, edits, and exports parametric CAD assemblies and geometry from editable TypeScript-based …
floot
Creates, edits, previews, databases, and publishes full-stack web and mobile applications with hosted resources and deployment wo…
mcp
Creates and edits data architecture diagrams with tables, data flows, column lineage, grouping, validation, and PNG export.