Use it from your agent

Connect the library as an MCP server and your agent searches and builds designs without the browser.

Connecting the library as an MCP server puts it inside your agent. Instead of browsing here, copying a prompt and pasting it, you ask for a paywall screen and your agent searches the library, shows you what matched, and builds the one you pick. Same designs, same prompts, no browser.

Connect it

The endpoint is http://localhost:3000/api/mcp. It speaks Streamable HTTP, so any current MCP client can reach it directly with no local proxy to install. Searching needs nothing; pulling a design needs a key, which you create on your account page.

Claude Code

claude mcp add --transport http clevens http://localhost:3000/api/mcp \
  --header "Authorization: Bearer mdc_your_key"

Cursor

Add it to ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:

{
  "mcpServers": {
    "clevens": {
      "url": "http://localhost:3000/api/mcp",
      "headers": { "Authorization": "Bearer mdc_your_key" }
    }
  }
}

VS Code

Add it to .vscode/mcp.json in the workspace:

{
  "servers": {
    "clevens": {
      "type": "http",
      "url": "http://localhost:3000/api/mcp",
      "headers": { "Authorization": "Bearer mdc_your_key" }
    }
  }
}

Anything else

A client that only speaks stdio can bridge to it with mcp-remote, which needs no install of its own:

npx -y mcp-remote http://localhost:3000/api/mcp --header "Authorization: Bearer mdc_your_key"

Get a key

Create one on your account page. It is shown once, so paste it into your config straight away. Keys do not expire, five per account, and revoking one stops it working immediately. If a key leaks, revoke it and make another; there is nothing else attached to it.

Search works without a key
Your agent can search the library and list categories with no credential at all, so you can install the server first and decide later. Only pulling a design's code is metered, and it is metered exactly like the copy button here: the same design twice in one day still counts once.

What your agent gets

ToolWhat it does
search_designsFinds designs by text, category, type or Expo Go safety. Returns metadata, not code.
list_categoriesEvery category the library covers, with how many designs are published in each.
get_designPulls one design: full source for every file, dependencies, fonts, wiring.
get_designsPulls several as one grouped prompt, so setup happens once instead of once per design.

Ask for several at once. get_designs exists because three separate prompts make an agent scaffold the app three times and install dependencies three times, and an agent handed three similar screens starts merging them into shared components, which is the one thing these designs must never do.

What it will not do

  • It will not re-theme. The handshake tells your agent, before it sees a single design, that colors, type, spacing and motion ship exactly as written. If you want a design in your palette, ask for that as a separate step once it is in and running.
  • It will not invent a design. If nothing matches, the search says so rather than returning a near miss.
  • It will not write to your account. Every tool is a read; the only state it touches is your copy count.

When something is wrong

What you seeWhat it means
"This design needs an API key"The server is reachable but your header is missing or wrong. Check the Authorization header in your config.
"Daily limit reached"The free allowance is used up for today. Search still works; the limit resets at midnight UTC.
The tools never appearThe client did not finish the handshake. Restart it, and confirm the URL ends in /api/mcp.
A 405 on GETExpected. The server answers on POST only and never pushes messages, which some clients probe for first.