Design intelligence for yourAI assistant — resolved live,never stored.
A completely stateless MCP server for UI/UX inspiration, live component discovery, and modern web micro-effects. No database, no cache, no stored files.
Ask for “a glassmorphic pricing card in React” or “aurora gradient shaders” and Kroma resolves it live from the best design galleries, component libraries, and code playgrounds on the internet — then hands your agent clean, structured results.
01
Stateless by construction
Zero databases, zero caches, zero stored files. Every answer is fetched fresh from the live internet, then forgotten.
02
Real-time resolution
Loose natural language becomes a precise, site-scoped query against curated galleries, component docs, and code playgrounds — via Serper.
03
Multi-tenant, bring-your-own-key
Keys resolve per request from the environment or a per-call argument. Connect and go — no server-side account, no lock-in.
04
Two transports
stdio for desktop & IDE hosts; Streamable HTTP + legacy SSE for shared, always-on remote hosting.
6
specialized tools
0
databases · caches
31
curated sources
2
transports
/ THE SIX TOOLS01 / 06
MADE FOR AGENTS
Six ways to see design.
Each tool turns a natural-language request into a precise, live search — and returns clean JSON your agent can act on. Scroll to step through all six.
01kroma_find_ui_inspiration
02kroma_find_component_code
03kroma_find_effects_and_shaders
04kroma_scrape_site_design
05kroma_search_design_web
06kroma_list_sources
01Serper /images (Google Images)
Find UI/UX Inspiration
kroma_find_ui_inspiration
Mood-board a screen from live design galleries.
WHEN TO USE
You want visual reference for a screen, flow, or aesthetic before designing.
KEY ARGS
query* : string
sources : string[]
num : number
gl : string
RETURNS
images[]
galleriesSearched[]
resolvedQuery
count
SAY THIS
“Find me dark-mode fintech dashboard inspiration from Mobbin and Awwwards.”
02Serper /search (Google Search)
Find Component Code
kroma_find_component_code
Copy-paste React / Vue / Svelte components from real docs.
WHEN TO USE
You need an actual implementation of a component or UI pattern.
KEY ARGS
component* : string
framework : enum
sources : string[]
keywords : string
RETURNS
results[]
librariesSearched[]
framework
resolvedQuery
SAY THIS
“Find an accessible React command palette I can copy from shadcn or Magic UI.”
CodePen+Shadertoy+Framer Motion+GSAP+Three.js+React Three Fiber+CSS-Tricks+GitHub+Codrops+CodePen+Shadertoy+Framer Motion+GSAP+Three.js+React Three Fiber+CSS-Tricks+GitHub+Codrops+
/ CONNECT IN 30S04 — 06
Three steps. Any host.
01
Get a Serper key
Grab a free key at serper.dev — 2,500 free credits. Kroma resolves every request through it.
02
Add Kroma to your host
Pick your tool and paste the config. It runs on stdio via npx — no install, no build.
03
Verify it works
Ask your agent: “List the Kroma sources.” It should call kroma_list_sources and return the registries — no key needed for that one, so it confirms the connection instantly.
# one-liner — adds Kroma over stdio to the current project
claude mcp add kroma \
--env SERPER_API_KEY=your_serper_key_here \
-- npx -y @kromamcp/server
# verify
claude mcp list # → kroma ✓ connected
› Prefer JSON? Use `claude mcp add-json kroma '{"command":"npx","args":["-y","@kromamcp/server"],"env":{"SERPER_API_KEY":"your_serper_key_here"}}'`.
/ DOCS05 — 06
Everything an agent needs to adopt Kroma.
Task-oriented reference for all six tools — what each does, when to reach for it, the arguments it accepts, and the exact shape it returns. Every tool also returns a readable JSON text block plus structuredContent, and fails gracefully with a typed isError result rather than crashing the session.
WHEN TO USE
You want visual reference for a screen, flow, or aesthetic before designing.
ENGINE
Serper /images (Google Images)
ARGUMENTS
query* : stringWhat to find inspiration for, e.g. 'fintech dashboard dark mode'.
sources : string[]Restrict to specific galleries, e.g. ['Mobbin','Awwwards']. Omit for all.
num : numberHow many images (1–20, default 12).
gl : stringCountry code for geo-targeting, e.g. 'us'.
hl : stringUI language, e.g. 'en'.
api_key : stringPer-call Serper key override; falls back to SERPER_API_KEY.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "@kromamcp/server"],
env: { SERPER_API_KEY: process.env.SERPER_API_KEY! },
});
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
const res = await client.callTool({
name: "kroma_find_ui_inspiration",
arguments: { query: "bento grid landing page", num: 8 },
});
console.log(res.structuredContent);
› Over HTTP/SSE, pass api_key per call for true bring-your-own-key operation when the server holds no key.
/ FAQ06 — 06
Frequently asked.
Everything a developer or agent tends to ask before wiring Kroma in. Still stuck? The full reference is in Docs.
Kroma is a completely stateless Model Context Protocol (MCP) server that gives an AI assistant six design-focused tools: live UI/UX inspiration, copy-paste component code, web micro-effects and shaders, site design scraping, general design web search, and a source registry lister. Every request is resolved in real time from the internet — there is no database, cache, or stored file.
Any MCP-compatible host: Claude Code, Claude Desktop, Cursor, Windsurf, OpenAI Codex CLI, Roo Code, Cline, Zed, and VS Code — plus custom agents via the MCP SDKs (TypeScript and Python) over stdio or the HTTP/SSE endpoints. Copy-paste connection guides for each are on this page.
Kroma resolves every live request through Serper, so you need a free Serper API key (2,500 credits to start). Set it as SERPER_API_KEY, or pass an api_key argument per call for multi-tenant, bring-your-own-key operation. The kroma_list_sources tool runs offline and needs no key.
No module retains user data between requests. There are zero databases, zero caches, and zero stored files — every answer is fetched fresh and then forgotten. HTTP sessions live only in memory for the process lifetime and store no personal data.
Run it with npx — no install or build step: SERPER_API_KEY=your_key npx -y @kromamcp/server. That starts the server on stdio, ready for any MCP host. For remote hosting, add --transport http --port 3000 to expose the Streamable HTTP and SSE endpoints.
Yes. Kroma is MIT-licensed and published on npm as @kromamcp/server. You only bring your own free Serper key for live search resolution.