DA

duchamp-app/duchamp

Developer tools
0 stars 0 forks Quality 71 Trend 20MIT

Duchamp MCP server + plugin for Claude Code, Codex and Cursor — curated landing page & hero section recipes, image prompts, code-rendered motion videos, free commercial-use fonts and motion...

Overview

gives Claude Code, Codex and Cursor a reviewed library of landing pages, hero sections, image prompts, motion-video recipes, logo and pitch-deck recipes, fonts and motion backgrounds, through one remote MCP server: https://duchamp.app/api/mcp. Your agent searches the library, inspects the real example (frames, video, design rules), fetches the recipe and renders the asset with code on your own machine. Duchamp never calls a model. Product facts passed to compose_transfer_brief are not stored. Saved items, boards, and watched advertiser pages are stored for the signed-in user. The saved-library tools need a separate per-app opt-in on duchamp.app/saved/connect. - Website: duchamp.app · English overview: duchamp.app/en - Connect page: duchamp.app/mcp - MCP endpoint: https://duchamp.app/api/mcp (Streamable HTTP, OAuth 2.1 with a free Duchamp account, no API key) - For AI readers: llms.txt · llms-full.

README

Duchamp — curated design references for coding agents

Duchamp gives Claude Code, Codex and Cursor a reviewed library of landing pages, hero sections, image prompts, motion-video recipes, logo and pitch-deck recipes, fonts and motion backgrounds, through one remote MCP server: https://duchamp.app/api/mcp.

Your agent searches the library, inspects the real example (frames, video, design rules), fetches the recipe and renders the asset with code on your own machine. Duchamp never calls a model. Product facts passed to compose_transfer_brief are not stored. Saved items, boards, and watched advertiser pages are stored for the signed-in user. The saved-library tools need a separate per-app opt-in on duchamp.app/saved/connect.

What you get

Area What it is Browse
UI pages & heroes 9 finished landing pages and 9 hero sections for a fictional brand, each screen-recorded and shipped with a React + Vite + Tailwind v4 recipe your agent rebuilds from. The recipe starts with STEP 0 questions about your product. duchamp.app/ui · pages · heroes
Image prompts Single images (posters, info cards, carousel covers) as ChatGPT image prompts that draw Korean text correctly, plus five-slide carousel styles. Most also have a coding-agent recipe. images · carousels
Motion video recipes 9:16 motion-graphics videos rendered as silent MP4 with React + HyperFrames. Code, not AI video. duchamp.app/readymade/motion
Logo & pitch-deck recipes A vector logo kit (mark, wordmark, lockups, favicons, OG image) written with Node code, and an investor deck rendered from your repo’s facts to PNG slides and PDF. logos · decks
Fonts & motion backgrounds 53 free commercial-use Korean and Latin fonts with install code (web, npm, next/font), and text-free looping background videos (MP4, 4:5 and 9:16). fonts · backgrounds
Ads research & saved library Observed ads on tracked advertiser pages, a breakdown, a side-by-side compare, a saved library, and an optional reference prompt. Links and observed numbers only — no original creative files, and Duchamp does not reproduce ads. Explore · Brands · Compare · Saved · Brief

Every template has the same four blanks: [브랜드명] (brand name), [브랜드 색] (brand color), [주제] (topic) and [넣을 글자] (the text to put in). The agent fills them only with what you confirmed. Brand facts, numbers, dates, prices and reviews are never invented.

Connect in one line

sh -c "$(curl -fsSL https://duchamp.app/connect.sh)"

The script finds Claude Code and Codex, registers the server, and opens your browser to sign in with a free Duchamp account. There is no token to copy.

Manual setup

Claude Code

claude mcp add duchamp --scope user --transport http https://duchamp.app/api/mcp

Then in a new session run /mcp, choose duchamp and press Authenticate.

Codex

codex mcp add duchamp --url https://duchamp.app/api/mcp
codex mcp login duchamp

Cursor — add to .cursor/mcp.json, then press Connect next to duchamp in Cursor’s MCP settings:

{
  "mcpServers": {
    "duchamp": { "url": "https://duchamp.app/api/mcp" }
  }
}

Any other MCP client — add a remote server named Duchamp with transport Streamable HTTP and URL https://duchamp.app/api/mcp. The first connection opens a browser for OAuth.

Plugin install (skills + agent)

The plugin adds three skills and a judge agent on top of the MCP server.

Claude Code:

/plugin marketplace add duchamp-app/duchamp
/plugin install duchamp@duchamp

Codex:

codex plugin marketplace add duchamp-app/duchamp
codex plugin add duchamp@duchamp

Then sign in once: Claude Code /mcp → duchamp → Authenticate; Codex codex mcp login duchamp.

  • make: build one or more assets with the build → render → judge → retry loop.
  • launch-kit: read your product repo, confirm the facts, then make the full launch set.
  • ads-research: find long-running ads, open one ad, break down an advertiser, compare your page, and keep a saved library.
  • visual-judge agent (Claude Code): the fresh-context reviewer used by make.

Everything runs on your own Claude Code or Codex subscription.

Tools

Tool What it does Counts toward daily limit
search_image_templates Find single images, carousel styles, motion videos, logo kits and pitch decks. Filter by use, ratio or occasion. No
get_reference Inspect one item: example frames, video URLs, authored visual and motion rules, palettes. No
get_template Full prompt or coding-agent recipe for an image, carousel, video, logo or deck. Yes
search_ui Find landing pages and hero sections by service type, intent and style. No
get_ui Section order, conditional variants, STEP 0 questions and the full React + Tailwind recipe. Yes
search_assets Find free fonts (by category and script) and motion backgrounds. No
get_asset Font install code (web, npm, next/font, agent prompt) with license, or background MP4 download URLs. Yes
search_reference_labels Search Duchamp’s written breakdowns of market-tested ads (advertiser, days running, format, hook, evidence, why it was picked, ad-library link). No creative files. No
get_reference_label One label in full: beats, layers, and transfer rules (what to swap, what needs your own facts, what never to invent). A research reference, not a reproduction. No
search_ads Search observed ads. Days running, survival, rank, and signed-in ad copy. No original creative files. No
get_ad One observed ad: facts, history, a label summary when one exists, and up to three other long-running ads from the same advertiser. No original creative files. No
get_brand_anatomy One advertiser page: mix, long-running ads, rankings, hooks, landings, CTAs. No
compare_brands Up to four advertiser pages side by side. No impression counts and no revenue. No
list_watched_brands Advertiser pages this user watches, including the one marked as their own. No
list_saved This user’s saved ads, labels, and https URLs. No
list_boards This user’s boards. No
get_board One board. Ad items include observation numbers and signed-in copy. Label items include a summary. No
watch_brand Watch an advertiser page (page id or advertiser-page URL). is_mine marks the user’s own page. No
unwatch_brand Stop watching an advertiser page. No
save_to_library Save an ad, a reference label, or an https URL. Notes and tags are not written to the call log. No
create_board Create a board. No
add_to_board Add saved item ids to a board. No
compose_transfer_brief A reference prompt from ads, labels, a page, or a board, plus facts from the user’s own context. A reference only, not a guaranteed reproduction. Those facts are not stored and not logged. No

Fetching a template, recipe or asset counts toward the same daily free limit as copying on duchamp.app. Searches, get_reference, get_reference_label and the ads research tools are not counted, so search and inspect before fetching. Template results carry tier: recipe renders the same result from the same input in code; guide is an image-prompt style guide whose output varies.

Example prompts

  • “Build a landing page for my AI note-taking app using a Duchamp hero. Search Duchamp for SaaS hero sections, show me three, then fetch the recipe for the one you recommend and ask me its STEP 0 questions before you write code.”
  • “Render a 9:16 launch video for our opening on the date I give you. Find an open-countdown motion template on Duchamp, check the example video, fetch the recipe and render the MP4.”
  • “Give me a free Korean font with install code for Next.js. Search Duchamp fonts for a geometric sans with Hangul, then fetch the install snippet and license.”
  • “Make a weekend discount poster. Find a Duchamp poster template for a discount, get the full prompt and text limits, then fill the blanks with my brand color and the exact text I confirm.”
  • “Write a vector logo kit for a brand called Mono, primary #111111 on #F5F5F0. Fetch the Duchamp logo recipe and run it; I want favicons and an OG image too.”

How it works

  1. Search one item at a time (search_*). Results carry inline previews and a duchamp_url.
  2. Inspect the reference (get_reference): real frames, video URLs, the authored design rules.
  3. Fetch the template (get_template, get_ui, get_asset): a prompt, or a paste-ready recipe.
  4. Render: your agent runs the recipe with code (React + HyperFrames for video, React + Tailwind for UI, Node for logos) on your machine.
  5. Judge: with the plugin, a fresh visual-judge opens the rendered pixels, scores them against fixed criteria, and the agent retries until it passes.

Limits & account

  • Sign in with a free Duchamp account on the first connection (OAuth in your browser). No API key.
  • get_template, get_ui and get_asset share one daily free limit with copying on duchamp.app. If a fetch returns the daily-limit message, the agent relays it and stops.
  • A Creator plan ($9/month or $79/year) is planned for higher limits. Until billing opens, everything is free. See duchamp.app/en/pricing.
  • Items appear on their release date. Ids not listed on the site are not available.

Privacy

Duchamp stores your account, usage records, saved items, boards, and watched advertiser pages. Product facts passed to compose_transfer_brief are not stored. Your rendered files stay on your machine. Duchamp never calls a model on your behalf. Original ad creative files are not stored or re-hosted.

What Duchamp does not do:

  • No generation of human faces, human likenesses, face swaps, deepfakes, or synthetic voices. Duchamp does not create synthetic media of real people.
  • No voice cloning, no audio or music generation, no adult content, no AI companion or relationship features.
  • No display or re-hosting of other people’s posts or accounts. Templates carry no original wording, images, or account names. Duchamp is not a downloader.
  • No scheduling, publishing, channel connection, performance analytics, or server-side content generation. No engagement automation, and no access to any account the user does not own.
  • No aggregation or resale of personal data, and no performance guarantees.

Rights in the original posts stay with their rights holders. To ask for a template to be taken down, write to [email protected] with the original URL.

License

MIT. See LICENSE.

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide

Configuration

{ "mcpServers": { "duchamp": { "url": "https://duchamp.app/api/mcp" } } }