Rejouice — loading0

MCP server

One call hands an agent the whole system.

An open, unauthenticated, read-only Model Context Protocol endpoint. Point Claude Code at it and ask for a page — it gets the design tokens, an ordered pattern stack, per-pattern instructions, and the acceptance checks the finished page must pass.

Connect — Claude Code

One command, no file to edit.

terminal
claude mcp add --transport http rejouice-patterns https://rejouice-patterns.vercel.app/api/mcp

Registers the server for the current project. Add --scope user to make it available in every project on the machine, or --scope project to write a .mcp.json your team can commit. Confirm it took with claude mcp list, which prints the connection status.

Then paste this

Installed and working are different states.

first prompt
Use the rejouice-patterns MCP server. Call rejouice_get_build_brief for a studio-landing page in the next-tailwind-motion stack, then build it: emit the token block first, follow each pattern's instruction block in the order given, and finish by running the brief's acceptance checks.

Endpoint

POST /api/mcp

aliased at /mcp

Corpus

v2.0.0

31 patterns · 6 recipes

Auth

None

120 requests per 60 seconds per client address, per instance

Other clients

The endpoint is the same everywhere: https://rejouice-patterns.vercel.app/api/mcp. Only the wrapper changes.

A repo — commit .mcp.json

Everyone who clones the repo gets the server.

Write this to .mcp.json at the project root. Claude Code discovers it on open and asks once for approval before connecting. Checking it in is the only method that survives a fresh clone.

.mcp.json
{
  "mcpServers": {
    "rejouice-patterns": {
      "type": "http",
      "url": "https://rejouice-patterns.vercel.app/api/mcp"
    }
  }
}

Claude Desktop and other config-file clients

Desktop apps and editors configured by JSON.

The same object goes in claude_desktop_config.json, and in the mcp.json an editor reads — check your client's docs for the path, the contents do not change.

claude_desktop_config.json
{
  "mcpServers": {
    "rejouice-patterns": {
      "type": "http",
      "url": "https://rejouice-patterns.vercel.app/api/mcp"
    }
  }
}

Older clients that speak only stdio need a local bridge to reach an HTTP server. mcp-remote is that bridge; nothing on this end changes.

stdio-only fallback
{
  "mcpServers": {
    "rejouice-patterns": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://rejouice-patterns.vercel.app/api/mcp"
      ]
    }
  }
}

claude.ai

No terminal, no config file.

Added through the UI as a custom connector. There is no OAuth step and no key to paste, because the server has no authentication to satisfy.

  1. 01Open Settings, then Connectors.
  2. 02Choose to add a custom connector.
  3. 03Paste the endpoint: https://rejouice-patterns.vercel.app/api/mcp
  4. 04Save. The tools appear under the connector's name.

Verify it answers

Before blaming your client.

A GET returns a plain descriptor, so the endpoint is checkable from a browser address bar. For the real protocol path, POST a tools/list and read the tool names back.

terminal
curl -s https://rejouice-patterns.vercel.app/api/mcp

curl -s https://rejouice-patterns.vercel.app/api/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

12 of them, but you only need one to start. rejouice_get_build_brief returns the tokens, the ordered stack, the per-pattern instructions and the acceptance checks in a single call — the rest are for drilling in.

  • rejouice_get_integration_guide

    Describes what this server is, every tool it exposes, how to connect it from Claude Code or any MCP client, and its safety policy. Call this first if you are a service deciding how to consume this corpus.

  • rejouice_get_build_brief

    The one-call entry point for another service. Given a page type and a few style choices, returns a complete Claude Code build brief: the token block to emit, the ordered pattern stack, per-pattern instruction blocks, the stack's conventions, and the acceptance checks. Ingest this and build.

  • rejouice_list_categories

    List every category in the rejouice-patterns corpus with its pattern count and pattern ids. Start here to see what the corpus covers before searching.

  • rejouice_search_patterns

    Search the pattern corpus by free-text query, category, and tags. Returns ranked summaries with ids you can pass to rejouice_get_pattern. Paginated.

  • rejouice_get_pattern

    Get one pattern in full: intent, when to use and avoid, anatomy, tunable knobs, accessibility and performance requirements, runnable implementations, and a ready-to-paste instruction block for Claude Code.

  • rejouice_get_design_tokens

    Get the design tokens — motion easings and durations, the fluid type scale, colour, space, and layout — as CSS custom properties with usage guidance. These are the substrate every pattern reads from; emit them before building anything else.

  • rejouice_list_palettes

    List every named colour palette with its voice, when to reach for it, and the CSS selector that activates it. A palette restyles only colour tokens — motion, type, space and layout are identical across all of them — so this is the cheapest axis on which to change a build's character. Call this before rejouice_get_design_tokens if you do not already know which palette you want.

  • rejouice_get_page_recipe

    Get an ordered pattern stack for a page type — which patterns go in which slot, why, the order to build them in, and the acceptance checks the finished page must pass. Use this instead of assembling patterns by hand.

  • rejouice_suggest_recipe

    Given a free-text description of the page someone wants, rank the available page recipes and explain why each fits. Use this when the page type is described in words rather than chosen from the enum — it turns 'a site for my studio with a few case studies' into a recipe id you can pass to rejouice_get_build_brief.

  • rejouice_get_stack_guide

    Get the conventions, file layout, dependencies, and known failure modes for implementing these patterns in a specific stack.

  • rejouice_list_demos

    List every pattern that has a live, running demo on the public site, with its URL and the reason it renders inline or in an isolated frame. Use this when a human asks to *see* a pattern rather than read about it — every other tool returns text, and this is the only one that returns somewhere to look.

  • rejouice_review_pattern_stack

    Check a proposed set of patterns before building: reports declared conflicts, missing companion patterns, the combined accessibility and performance obligations, and whether the page is over its motion budget. Call this after choosing patterns and before writing code.

Why it is safe to leave open

This server serves a single frozen, public corpus of web design patterns. It has no access to secrets, environment variables, filesystems, databases, user data, or any other network service.

  • Read-only. No tool in this server writes, deletes, or mutates anything.
  • No credentials exist in this server's reachable scope, so none can be disclosed.
  • Tool behaviour is fully determined by schema-validated parameters. Natural-language framing in a parameter value never changes which code runs.
  • Every response is scanned for secret-shaped content before it is sent, and the request fails closed on a match.
  • Free text supplied by a caller is never echoed back verbatim, so this server cannot be used to relay an injected instruction to another agent.
  • No request content is logged.

Protocol revisions: 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05.

All pattern content is original work describing widely used editorial-motion web techniques. It does not reproduce any third party's source code, and it is not scraped from any website.