Atlas / MCP servers / notsointresting / frontend-inspo-mcp

frontend-inspo-mcpSAFE

mcp/notsointresting/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)

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
16 15r · 1w · 0d
Transport
stdio
License
MIT
Stars
4
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

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.

[](https://www.npmjs.com/package/frontend-inspo-mcp) [](https://modelcontextprotocol.io) [](https://www.typescriptlang.org/) [](https://nodejs.org/) [](https://www.bestpractices.dev/projects/15252) [](#license) [](#contributing)

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
Read from source at commit 1a9d9b5fe21fOBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add frontend-inspo-mcp --env GITHUB_TOKEN=${GITHUB_TOKEN} -- npx -y [email protected]
03

Exposed tools (16)

15 read · 1 write · 0 destructive.

ToolRiskDescription
BookBlockwriteA jQuery plugin that will create a booklet-like component that let
ElasticGridScrollreadA scroll effect where each column of a grid moves at a slightly different speed, creating a soft, elastic feel as you scroll.
GridLayoutAnimationreadA simple layout transition where a small grid animates to a larger view, using the Flip plugin from GreenSock.
InfiniteTubesreadA tunnel experiment in WebGL inspired by the effect seen on http://www.fornasetti.com/
OnScrollLayoutFormationsreadLayout formations on scroll using GSAP
astro-shop-view-transitionsreadMinimalist Shop with Browser View Transitions API and Astro for a smoother navigation experience.
codrops-sketchesreadA collection of demo variations, ideas, concepts & experiments.
dashboard-01readA dashboard with sidebar, charts and data table.
get_coderead
get_resourceread
list_categoriesread
list_sourcesread
safari-browserreadA safari browser component.
safari-browser-demoreadExample showing a safari-browser-demo component.
search_allread
search_resourcesread
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (1 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (14)

LOWInventory / provenance · inv.hidden_file · CWE-1104
.c8rc.json
.c8rc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mcpbignore
.mcpbignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/lib/fetch.ts:17
readFileSync(new URL("../../package.json", import.meta.url), "utf-8"),
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/community-registries.test.mjs:301
"../../packages/blocks/src/hero-section/hero-digital-success.tsx",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/server-mcp.test.mjs:167
await assert.rejects(read("inspo://shadcn/a/../../etc/passwd"), /not found/i);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/server.test.mjs:412
{ name: "get_resource", arguments: { source: "shadcn", id: "../../etc/passwd" } },
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/validate.test.mjs:34
"../../etc/passwd",
LOWNetwork egress · net.beacon_words · CWE-200, CWE-319
tests/refero.test.mjs:90
const b = style("bbb-2", "Beacon", "Lighthouse beam", "dark");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/fetch-hardening.test.mjs:10
assert.equal(isSecureUrl("http://127.0.0.1:8080/x"), true);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/fetch-hardening.test.mjs:13
assert.equal(isSecureUrl("http://127.0.0.1.evil.example/x"), false);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/fetch.test.mjs:59
base = `http://127.0.0.1:${server.address().port}`;
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/fetch.test.mjs:102
fetchText("http://127.0.0.1:1/x"),
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, cheerio, zod, @types/node, typescript
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
docs/security-assurance-case.md:70
| R6 | The token is read from `process.env` per request and attached only when the host is exactly `api.github.com`. It is never logged or included in any response. | `src/lib/fetch.ts` (`requestHeade
Why it matters. asks the agent to read credentials

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 1a9d9b5fe21ffull audit observations/trust-audit/mcp-server/notsointresting__frontend-inspo-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-111a9d9b5fe21fSAFEB89first audit
06

Questions

What is the frontend-inspo-mcp MCP server?

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)

What tools does frontend-inspo-mcp expose?

16 in total: 15 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is frontend-inspo-mcp safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does frontend-inspo-mcp need?

It reads GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does frontend-inspo-mcp run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as frontend-inspo-mcp at 0.3.0.

How current is this page?

The grade is for one exact copy of the source (1a9d9b5fe21f), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement