inspo
What this MCP does
Searches real website design references and provides palettes, typography, layouts, component examples, design systems, screenshots, and copyable JSX.
Tools
Input schema
{'type': 'object', 'required': ['slugs'], 'properties': {'slugs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 4, 'minItems': 2, 'description': "2-4 screen slugs to compare, e.g. ['linear-app','stripe-com','vercel-com']. Discover slugs with search_screens / find_similar."}}}
Input schema
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'description': "Target colour as a hex string ('#c7402f', 'c7402f', '#fff'). Case-insensitive. 3- or 6-digit."}, 'limit': {'type': 'integer', 'default': 12, 'maximum': 40, 'minimum': 1}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}, 'tolerance': {'type': 'number', 'default': 0.15, 'maximum': 0.5, 'minimum': 0.02, 'description': "Max OKLAB distance to count as a match. Defaults to 0.15 ('same family'). 0.05 ≈ 'near-identical', 0.30 ≈ 'in the same hue zip code'."}}}
Input schema
{'type': 'object', 'required': ['type'], 'properties': {'mode': {'enum': ['light', 'dark'], 'type': 'string'}, 'type': {'enum': ['hero', 'pricing', 'features', 'cta', 'nav', 'footer', 'testimonial', 'logo-cloud', 'faq', 'stat'], 'type': 'string', 'description': 'Which component type to find'}, 'vibe': {'enum': ['calm', 'loud', 'playful', 'serious', 'luxe', 'raw', 'soft', 'technical', 'warm', 'cold'], 'type': 'string', 'description': "Mood - 'calm', 'loud', 'luxe', etc."}, 'color': {'enum': ['warm', 'cool', 'monochrome', 'neon', 'earthy', 'pastel', 'saturated', 'muted', 'high-contrast'], 'type': 'string', 'description': "Color word - 'warm', 'cool', 'monochrome', etc."}, 'limit': {'type': 'integer', 'default': 12, 'maximum': 40, 'minimum': 1}, 'style': {'enum': ['minimalism', 'editorial', 'brutalism', 'glassmorphism', 'swiss', 'maximalism', 'playful', 'dark-mode', 'monochrome', 'vintage', 'futurist'], 'type': 'string', 'description': "Filter the parent site's style"}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': "'mobile' restricts to sites with a 375px capture pair and inlines the mobile thumbnail. Default: desktop."}, 'industry': {'enum': ['agency', 'ai', 'architecture', 'automotive', 'consumer-tech', 'creator', 'crypto', 'culture', 'developer-tools', 'ecommerce', 'education', 'fashion', 'fintech', 'food-beverage', 'furniture', 'gaming', 'health', 'media', 'music', 'non-profit', 'portfolio', 'saas', 'travel', 'type-foundry'], 'type': 'string'}, 'pageType': {'enum': ['landing', 'pricing', 'features', 'auth', 'about', 'blog', 'changelog', 'docs', 'other'], 'type': 'string', 'description': "Only components from this page kind (e.g. 'pricing')"}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}, 'macrostructure': {'enum': ['bento-grid', 'long-document', 'marquee-hero', 'stat-led', 'conversational-faq', 'manifesto', 'photographic', 'specimen', 'catalogue', 'letter', 'index-first', 'narrative-workflow', 'split-studio', 'feature-stack', 'type-specimen', 'portfolio-grid', 'map-diagram', 'ecosystem-index', 'component-playground'], 'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Macrostructure name. e.g. 'bento-grid', 'Bento Grid', 'specimen', 'Marquee Hero'."}, 'limit': {'type': 'integer', 'default': 4, 'maximum': 20, 'minimum': 1}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': "'mobile' restricts to sites with a 375px capture pair and inlines the mobile thumbnail. Default: desktop."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}}}
Input schema
{'type': 'object', 'properties': {'type': {'enum': ['hero', 'pricing', 'features', 'cta', 'nav', 'footer', 'testimonial', 'logo-cloud', 'faq', 'stat'], 'type': 'string', 'description': 'Component category (hero, pricing, cta, …). Omit to scan all types.'}, 'macro': {'type': 'string', 'description': "Substring match on the component's macro field - e.g. 'Marquee' matches 'Marquee Hero'."}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'sameSite': {'type': 'boolean', 'default': False, 'description': 'Include other pages of the same site (default false: neighbours are other sites).'}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Collection slug, e.g. 'editorial-layouts'"}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'live': {'type': 'boolean', 'default': True, 'description': 'If true (default), supplement thin captured tokens by fetching the source URL via study(). Set false to skip the network round-trip.'}, 'slug': {'type': 'string', 'description': "Screen slug, e.g. 'linear-app'. Use search_screens or find_similar first to discover slugs."}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['type', 'id'], 'properties': {'id': {'type': 'string', 'description': "Reference id within that type (e.g. 'marquee', 'three-card')."}, 'type': {'enum': ['hero', 'pricing', 'features', 'cta', 'nav', 'footer', 'testimonial', 'logo-cloud', 'faq', 'stat'], 'type': 'string', 'description': 'Component category'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Screen slug, e.g. 'atelier-mira'"}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Directory mode only: max sites to list.'}, 'siteSlug': {'type': 'string', 'description': "Site slug (e.g. 'linear-app') or any screen slug from that site. Omit to list flow-capable sites instead."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['brief'], 'properties': {'mode': {'enum': ['light', 'dark'], 'type': 'string', 'description': "Optional: 'light' or 'dark'."}, 'vibe': {'enum': ['calm', 'loud', 'playful', 'serious', 'luxe', 'raw', 'soft', 'technical', 'warm', 'cold'], 'type': 'string', 'description': 'Optional vibe filter.'}, 'brief': {'type': 'string', 'minLength': 2, 'description': "The user's design brief in plain English. E.g. 'calm meditation app', 'dark dev-tool that helps teams ship faster'."}, 'color': {'enum': ['warm', 'cool', 'monochrome', 'neon', 'earthy', 'pastel', 'saturated', 'muted', 'high-contrast'], 'type': 'string', 'description': 'Optional colour word.'}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': "'mobile' restricts to sites with a 375px capture pair and inlines the mobile thumbnail. Default: desktop."}, 'pageType': {'enum': ['landing', 'pricing', 'features', 'auth', 'about', 'blog', 'changelog', 'docs', 'other'], 'type': 'string', 'description': "Optional: 'landing', 'pricing', 'features', etc."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}, 'macrostructure': {'enum': ['bento-grid', 'long-document', 'marquee-hero', 'stat-led', 'conversational-faq', 'manifesto', 'photographic', 'specimen', 'catalogue', 'letter', 'index-first', 'narrative-workflow', 'split-studio', 'feature-stack', 'type-specimen', 'portfolio-grid', 'map-diagram', 'ecosystem-index', 'component-playground'], 'type': 'string', 'description': 'Optional: a macrostructure already picked. Skips the pick step.'}}}
Input schema
{'type': 'object', 'properties': {'mode': {'enum': ['light', 'dark'], 'type': 'string', 'description': 'light or dark'}, 'vibe': {'enum': ['calm', 'loud', 'playful', 'serious', 'luxe', 'raw', 'soft', 'technical', 'warm', 'cold'], 'type': 'string', 'description': "Mood / vibe - 'calm', 'loud', 'luxe', 'technical', 'soft', etc."}, 'color': {'enum': ['warm', 'cool', 'monochrome', 'neon', 'earthy', 'pastel', 'saturated', 'muted', 'high-contrast'], 'type': 'string', 'description': "Color word - 'warm', 'cool', 'monochrome', 'neon', 'earthy'"}, 'limit': {'type': 'integer', 'default': 6, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'default': '', 'description': "Natural-language description of what you're looking for. e.g. 'minimalist editorial agency portfolio'"}, 'style': {'enum': ['minimalism', 'editorial', 'brutalism', 'glassmorphism', 'swiss', 'maximalism', 'playful', 'dark-mode', 'monochrome', 'vintage', 'futurist'], 'type': 'string', 'description': "Filter to one visual style (e.g. 'minimalism', 'editorial')"}, 'detail': {'enum': ['concise', 'standard', 'full'], 'type': 'string', 'description': "'standard' (default): northstar, palette, fonts, axes, macro and tags per row, plus the fold-by-fold autopsy on the top 3. 'full': the autopsy on every row (~300 tokens each; only if you will read them all). 'concise': northstar, palette, fonts. Text profile defaults to concise."}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': "'mobile' restricts to sites with a 375px capture pair and inlines the mobile thumbnail. Default: desktop."}, 'industry': {'enum': ['agency', 'ai', 'architecture', 'automotive', 'consumer-tech', 'creator', 'crypto', 'culture', 'developer-tools', 'ecommerce', 'education', 'fashion', 'fintech', 'food-beverage', 'furniture', 'gaming', 'health', 'media', 'music', 'non-profit', 'portfolio', 'saas', 'travel', 'type-foundry'], 'type': 'string', 'description': "Filter to one industry (e.g. 'saas', 'fintech', 'portfolio')"}, 'pageType': {'enum': ['landing', 'pricing', 'features', 'auth', 'about', 'blog', 'changelog', 'docs', 'other'], 'type': 'string', 'description': "Filter to a page kind: 'landing' (default homepages), 'pricing', 'features', 'auth', 'about', 'blog', 'changelog', 'docs', 'other'"}, 'accentHue': {'enum': ['warm', 'cool', 'neutral', 'chromatic-other'], 'type': 'string', 'description': "Accent temperature: 'warm' (10-60°), 'cool' (200-300°), 'neutral' (unsaturated), 'chromatic-other' (greens, magentas, everything else)."}, 'maxTokens': {'type': 'integer', 'maximum': 200000, 'minimum': 300, 'description': 'Approximate token ceiling for this response. Trims lower-ranked results and thumbnails; the top result and all URLs survive.'}, 'paperBand': {'enum': ['dark', 'mid', 'light'], 'type': 'string', 'description': "Surface lightness, measured from the capture: 'dark' (<30% L), 'mid' (30-85%), 'light' (>85%). More reliable than `mode`, which is tagged and disagrees with the measurement on ~15% of rows."}, 'displayClass': {'enum': ['grotesk-sans', 'geometric-sans', 'roman-serif', 'italic-serif', 'slab-serif', 'mono', 'display-condensed-bold', 'display-heavy', 'system-native', 'handwritten'], 'type': 'string', 'description': "Construction of the display face: 'grotesk-sans', 'geometric-sans', 'roman-serif', 'mono', 'display-condensed-bold', etc."}, 'macrostructure': {'enum': ['bento-grid', 'long-document', 'marquee-hero', 'stat-led', 'conversational-faq', 'manifesto', 'photographic', 'specimen', 'catalogue', 'letter', 'index-first', 'narrative-workflow', 'split-studio', 'feature-stack', 'type-specimen', 'portfolio-grid', 'map-diagram', 'ecosystem-index', 'component-playground'], 'type': 'string', 'description': "Filter to a macrostructure (e.g. 'bento-grid')"}}}
Recent tool changes
Similar MCP servers
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…
Raven
Supports coding agents with design audits, design-system guidance, and a configurable visual preference profile.