Skip to content
Conduit

mcp server

frontend-inspo-mcp

MCP server that lets AI coding agents search and pull real frontend code, UI components and design mockups from 27 open sources (shadcn/ui, Magic UI, Aceternity, FreeFrontend, three.js, drei and more)

notsointresting/frontend-inspo-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "frontend-inspo-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "frontend-inspo-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 17, 2026

frontend-inspo-mcp 🎨

A local MCP server that lets AI coding agents discover and pull real frontend code, UI components, design mockups, design-system tokens, 3D/WebGL source, and agent guidance — across 65 sources, from shadcn-schema component registries to pmndrs 3D libraries, HTML/CSS galleries, design-token APIs, and free asset libraries.

npm version MCP TypeScript Node OpenSSF Best Practices License: MIT PRs Welcome

Give Claude, Cursor, Kiro, or any MCP-compatible agent instant access to thousands of copy-paste UI components and free design assets — with the actual source code, not just links. Ask for "a glassmorphism card" or "an animated shadcn button" and get real, usable code back.

📦 Install from npm (no clone needed)

Add this to your MCP client config and restart it; npx fetches and runs the server for you:

{
  "mcpServers": {
    "frontend-inspo": {
      "command": "npx",
      "args": ["-y", "frontend-inspo-mcp"]
    }
  }
}
  • Claude Desktop — paste it into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).
  • Claude Code — run claude mcp add frontend-inspo -- npx -y frontend-inspo-mcp, or put the same JSON in a project-level .mcp.json.
  • Cursor — paste it into ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project).

Prefer to hack on it? See Quick start to run from source.

🎬 Demo

Demo video coming soon.


✨ Why use this?

Most component galleries are built for humans clicking around a browser. This server makes them agent-readable, so your AI assistant can search, compare, and paste real code directly into your project.

  • 🔍 Search 65 sources through one consistent set of tools
  • 📋 Get real code — React/TSX, Tailwind, vanilla HTML/CSS/JS, GLSL, design tokens
  • 🎨 Design systems & tokens — DESIGN.md, Tailwind themes, CSS variables, color/gradient/font tokens
  • 🧊 3D & WebGL — three.js, the pmndrs ecosystem (drei, R3F, postprocessing, rapier, uikit…), shaders
  • 🎭 Free design assets — mockups (Figma / Sketch / PSD), HDRIs, PBR textures
  • 🧭 Agent guidance — curated R3F, GSAP, accessibility (APG) and Baseline compat references
  • ⚡ Fast & polite — in-memory + optional disk cache, per-host throttling, deadline-bounded parallel search
  • 🧩 Pluggable — add a new source in one small adapter file

📚 Sources (65)

Every source is public and read-only. Content is returned as reference data, never executed. heavy sources (large downloads or tight quotas) are skipped by search_all unless you name them in its sources argument. Call list_sources for the live list with each source's idFormat.

shadcn-schema component registries (React + Tailwind)

SourceWhat it gives youInline code?
shadcn/uiReact + Tailwind v4 + Radix components, blocks, charts (24 style variants)✅
Magic UIAnimated React + Framer Motion components✅
Aceternity UIBold animated React + Tailwind components✅
React BitsAnimated React components (JS/TS, CSS/Tailwind)✅
Fancy ComponentsMotion, scroll, text-physics & 2D effect components✅
VengeanceUIAnimated React + Tailwind + Framer Motion components✅
Canvas UIWebGL/WebGPU canvas components (React/Vue/Svelte/Solid/Preact/vanilla)✅
Cult UIAnimated React + Tailwind + Framer Motion components✅
Motion PrimitivesMotion-first React + Tailwind + Framer Motion primitives✅
Kibo UIComposable shadcn-registry React + Tailwind components✅
coss uiReact + Tailwind application components✅
Kokonut UIAnimated React + Tailwind components✅
Eldora UIAnimated React + Tailwind components✅
UI LayoutsAnimated React + Tailwind layout components✅
SmoothUI · heavyAnimated React + Tailwind components✅
AI ElementsReact + Tailwind building blocks for AI chat UIs✅
SVGLSVG brand logos as React components✅
Watermelon UIReact components, blocks, dashboards, templates✅

HTML / CSS / Tailwind galleries

SourceWhat it gives youInline code?
FreeFrontendHTML / CSS / JS / Bootstrap / Tailwind snippets (~900 collections)✅
UiverseCommunity HTML/CSS + Tailwind UI elements✅
HyperUICopy-paste Tailwind HTML components✅
Meraki UITailwind HTML components (RTL-ready)✅
PinesAlpine.js + Tailwind UI library✅
daisyUITailwind CSS component classes✅
FlowbiteTailwind HTML + JS components✅

Design systems, tokens & fonts

SourceWhat it gives youInline code?
Refero StylesDesign systems from real sites — DESIGN.md, Tailwind, CSS vars, tokens✅
tweakcnshadcn theme presets — CSS variables & Tailwind themes✅
Open PropsOpen-source CSS custom-property design tokens✅
Radix ColorsAccessible color scales as CSS/JS tokens✅
FontsourceSelf-hostable open-source font packages & metadata✅
uiGradientsCurated CSS gradient presets✅
awesome-design-mdCurated DESIGN.md design-system references✅
shadcn Registry DirectoryDirectory of public shadcn registries to point tools at—

3D, WebGL & React Three Fiber

SourceWhat it gives youInline code?
three.jsOfficial examples — GLSL shaders, post-fx, loaders, controls✅
dreiReact Three Fiber helper components✅
React Three FiberCurated R3F guidance (bundled, offline)✅
react-springSpring-physics animation for React✅
zustandMinimal React state management✅
glyphGPU text/geometry glyph baking (TSL, typegpu)✅
postprocessingPost-processing effects + EffectComposer✅
detect-gpuClassify a device's GPU tier✅
uikitFlexbox UI for R3F/three.js✅
react-three-rapierPhysics for R3F (Rapier)✅
levaReact GUI controls/panels✅
math (pmndrs)Math helpers for 3D✅
OGLMinimal WebGL library source✅
WebGPU SamplesOfficial WebGPU example source✅
ShaderGradientAnimated gradient meshes for R3F/three.js✅
liquid-logoLiquid-metal WebGL effect from a logo (GLSL)✅
liquid-glass-jsApple-style "liquid glass" refraction effect✅
ThreeUI · heavyCommunity Three.js/WebGL components & landing pages✅
img2threejsImage → three.js/GLB scene pipeline (Python)✅

Animation & scroll

SourceWhat it gives youInline code?
GSAP SkillsOfficial GSAP agent guidance + runnable examples✅
LenisSmooth-scroll library source✅
Anime.jsJavaScript animation engine source✅
Two.js2D drawing / animation library source✅
scrollamaScrollytelling library source✅
Codrops demos · heavyTutorial demo source (HTML/CSS/JS effects)✅

Guidance, accessibility & compatibility

SourceWhat it gives youInline code?
WAI-ARIA APGAccessible component patterns + example source✅
Anthropic Agent SkillsDesign-focused agent skills (guidance)✅
Vercel Web Interface GuidelinesWeb interface quality guidelines✅
web-features (Baseline) · heavyBaseline browser-support data for web features✅

Free design assets

SourceWhat it gives youInline code?
LS.GRAPHICSFree design mockups (Figma / Sketch / PSD)—
Poly Haven · heavyCC0 HDRIs, textures and models—
ambientCGCC0 PBR materials and textures—

Excluded on purpose. Some popular sources are intentionally not included because their robots.txt disallows the needed path, or their license forbids redistribution: Iconify & Openverse (API path disallowed), 8bitcn / 21st.dev (/r/ disallowed), Tailark & Preline (paid / fair-use), Animate UI (Commons Clause), and key-gated media APIs (Unsplash, Pexels, Sketchfab, Google Fonts API, LottieFiles). See docs/security-assurance-case.md.

🚀 Quick start

git clone https://github.com/notsointresting/frontend-inspo-mcp.git
cd frontend-inspo-mcp
npm install
npm run build

Requires Node 22+ (uses the built-in fetch and current LTS APIs).

Run the offline unit tests (no network needed):

npm test

Verify every source is live:

npm run smoke   # hits all 65 sources and asserts parsing → prints ALL PASS

🔌 Add it to your MCP client

The server speaks MCP over stdio. Point your client at the built dist/index.js.

Claude Desktop / Cursor / generic (claude_desktop_config.json)

{
  "mcpServers": {
    "frontend-inspo": {
      "command": "node",
      "args": ["/absolute/path/to/frontend-inspo-mcp/dist/index.js"]
    }
  }
}

Claude Code (~/.claude.json, global mcpServers)

{
  "mcpServers": {
    "frontend-inspo": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/frontend-inspo-mcp/dist/index.js"]
    }
  }
}

On Windows use escaped backslashes, e.g. "C:\\path\\to\\dist\\index.js".

🛠️ Tools

Every tool takes a source argument — one of the 65 ids returned by list_sources (e.g. shadcn, magicui, refero, threejs, drei, polyhaven, freefrontend, lsgraphics). Call list_sources first: it reports each source's stack tags, whether it returns inline code (hasInlineCode), how to write its ids (idFormat), and whether search_all skips it unless named (heavy).

ToolDescription
list_sourcesList all 65 sources with stack tags, hasInlineCode, idFormat, and heavy
list_categoriesCategories / collections / kinds for one source
search_resourcesSearch one source by query, category, tech, limit — lightweight summaries
search_allSearch many sources in parallel, best match first. Narrow with sources or stack; heavy sources are listed in skipped unless named; per-source failures/timeouts land in errors without failing the call
get_resourceFull detail for one item (metadata, license, code, formats, downloads). includeAiPrompt opts into FreeFrontend's "Copy for AI" text
get_codeRaw source, keyed by file (e.g. tsx, css, tsx:<path>). Pass file for one file or maxChars to cap the reply; oversized replies list each file's size instead

Replies that carry third-party content include a notice field restating that the content is reference data, not instructions. The default reply cap is 150,000 characters (get_code's maxChars can raise it up to 1,000,000).

Resource & prompts

  • Resource template inspo://{source}/{+id} — read any resource as metadata JSON plus one text part per code file; add #<file> to read a single file.
  • Prompt find_component — find ready-made UI code for a need across every source, then fetch the best match (optional stack filter).
  • Prompt design_system_from_site — turn a real site's design system into a reference for your project (uses the design-token sources).

Examples

Search animated React components:

{ "source": "magicui", "query": "marquee", "limit": 5 }

Get a shadcn button's real source:

{ "source": "shadcn", "id": "button" }

Grab a CSS hover effect with code:

{ "source": "freefrontend", "category": "css-hover-effects", "limit": 5 }

Find a free device mockup:

{ "source": "lsgraphics", "id": "macbook-mockup" }

💬 Try it in one prompt

"Build me a personal portfolio landing page. Use the frontend-inspo MCP: pull an animated hero text effect from Magic UI, a shadcn card for the projects grid, a CSS hover effect from FreeFrontend, and a free laptop mockup from LS.GRAPHICS — then assemble it into a single index.html."

🧭 How it works

Every source is a small adapter implementing one SourceAdapter contract (src/lib/types.ts). Adapters are grouped by how they fetch:

  • shadcn-schema registries (shadcn, Magic UI, Aceternity, React Bits, Fancy, VengeanceUI, Canvas UI, Cult UI, Motion Primitives, Kibo UI, coss, Kokonut, Eldora, UI Layouts, SmoothUI, AI Elements, SVGL, Watermelon) share one factory that reads the shadcn registry schema — an index of items plus per-item JSON containing the real component source.
  • GitHub / jsDelivr source-tree libraries (drei, react-spring, zustand, glyph, postprocessing, detect-gpu, uikit, rapier, leva, maath, OGL, WebGPU Samples, ShaderGradient, liquid-logo, liquid-glass-js, img2threejs, GSAP, Lenis, Anime.js, Two.js, scrollama, three.js, APG, …) share a factory that lists a repo's git tree (or an npm package's file tree), keeps the relevant files, and serves raw source. If the GitHub API is rate-limited it falls back to the jsDelivr mirror; pin a commit SHA for an immutable read.
  • HTML galleries (FreeFrontend, Uiverse, HyperUI, Meraki, Pines, LS.GRAPHICS, Codrops, …) parse server-rendered pages with cheerio; FreeFrontend base64-decodes inline code blocks.
  • JSON / data APIs (Watermelon catalog, Poly Haven, ambientCG, Fontsource, uiGradients, Radix Colors, Open Props, web-features Baseline) call documented public endpoints.
  • Refero Styles reads the public, server-rendered gallery and /style/<id> pages (its /api/ path is disallowed by robots.txt, so it is not used) and synthesizes a DESIGN.md, Tailwind theme, CSS variables, and design-token JSON — no subscription required.
  • React Three Fiber (r3f) serves a bundled, offline guidance skill (no network).
  • ThreeUI fetches the MengTo/threeui manifest once and caches the parsed catalog in-process (it is large, hence heavy).

Set an optional GITHUB_TOKEN to lift GitHub's unauthenticated rate limit (60 req/hr) for the GitHub-backed sources. Requests are HTTPS-only, cached, throttled per host to stay polite, and retried with backoff on transient failures. Downloaded content is treated as data and is never executed.

Configuration (environment variables)

All optional — the defaults work out of the box.

VariableDefaultPurpose
GITHUB_TOKEN—Lift GitHub's 60 req/hr limit for GitHub-backed sources (a placeholder value is ignored)
FRONTEND_INSPO_CACHE_DIR—Persist responses to this directory across restarts (memory stays the fast first layer)
FRONTEND_INSPO_CACHE_TTL_MS600000 (10 min)Lifetime of an ordinary cached response
FRONTEND_INSPO_CACHE_MAX_BYTES67108864 (64 MB)In-memory cache budget
FRONTEND_INSPO_MAX_BODY_BYTES104857600 (100 MB)Largest response body read
FRONTEND_INSPO_MIN_GAP_MS400Per-host politeness gap (0 disables throttling); a host's Crawl-delay can raise it
FRONTEND_INSPO_SEARCH_DEADLINE_MS20000 (20 s)Per-source deadline in search_all

🗂️ Project layout

src/
  index.ts              stdio launcher (npm bin)
  server.ts             the six MCP tools, inspo:// resource, two prompts, validation, size cap
  smoke.ts              live per-source checks (npm run smoke)
  lib/
    types.ts            shared types + SourceAdapter contract
    validate.ts         allowlist schemas for tool arguments
    fetch.ts            HTTPS-only HTTP: memory+disk cache, per-host throttle, retry/backoff
    search.ts           query ranking shared by every adapter
    memo.ts             small async memoizer (shared index/manifest caches)
  sources/
    index.ts            the single source registry (ids, enum, getAdapter)
    registry.ts         shadcn-schema registry factory + core registries
    community-registries.ts  more shadcn-schema registries (Cult, Kokonut, …)
    tweakcn.ts          shadcn theme presets
    shadcn-directory.ts directory of public shadcn registries
    packages.ts         source trees via jsDelivr + GitHub (factories + libraries)
    libraries.ts        more GitHub/jsDelivr library sources
    collections.ts      curated collections (Uiverse, HyperUI, Pines, …)
    codrops.ts          Codrops demo source (heavy)
    design-apis.ts      Open Props, Radix Colors, daisyUI, Flowbite, …
    open-data.ts        Poly Haven, ambientCG, web-features (Baseline)
    fontsource.ts       self-hostable open-source fonts
    uigradients.ts      CSS gradient presets
    freefrontend.ts     HTML parse + base64 code decode
    watermelon.ts       JSON API client + shadcn registry code
    lsgraphics.ts       HTML parse (mockups)
    refero.ts           Refero public pages -> synthesized DESIGN.md / tokens
    threeui.ts          ThreeUI manifest (heavy)
    r3f.ts              bundled React Three Fiber guide (offline)
    r3f-content/        the bundled R3F skill markdown (copied into dist on build)
tests/                  offline unit tests (node:test), network faked
scripts/                build helpers + reproducible-build + version checks

How the pieces fit together is described in ARCHITECTURE.md.

🤝 Contributing

New sources are welcome — most fit in one small adapter file implementing the SourceAdapter contract in src/lib/types.ts. Open a PR.

See CONTRIBUTING.md for the step-by-step guide, code standards, and the checks a PR must pass.

Project documents:

🙏 Credits & acknowledgements

This project is a discovery layer over third-party resources. All content, code snippets, components, and mockups belong to their original creators. Please respect each source's license before reusing anything.

Built with the Model Context Protocol SDK and cheerio.

📄 License

MIT © notsointresting — for the server code. Third-party resources retrieved through it remain under their respective licenses.


Keywords: MCP server · Model Context Protocol · AI coding agent · UI components · React components · Tailwind CSS · shadcn/ui · Magic UI · Aceternity UI · React Bits · FreeFrontend · design mockups · Figma · component library · copy-paste UI · design tokens · DESIGN.md · design system · Refero · three.js · GLSL shaders · WebGL · React Three Fiber · drei · Claude · Cursor · frontend design · CSS snippets · Watermelon UI · LS.GRAPHICS.

↑↓ navigate openesc close