Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Duchamp

by duchamp-appversion 0.10.0i★ –iRuns in the cloud
Registry nameio.github.duchamp-app/duchamp

Install

Overview

Description from the maker (original English)

Competitor ad research for coding agents: long-running ads, keyframes and transcripts over MCP.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Marketing & social media

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://duchamp.app/api/mcp

Run this in your terminal

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

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

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

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "duchamp": {
      "type": "http",
      "url": "https://duchamp.app/api/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://duchamp.app/api/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account duchamp-app, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 2982 servers in this category
  • Published to the registry more recently than 71% of the other 2982 servers in this category
  • Basic checks equal to or better than 100% of the other 2982 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Duchamp safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.10.0) reached the registry 14 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 10 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 10 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Duchamp — ad research for coding agents

Duchamp is an ad-research tool for Claude Code, Codex, and Cursor. It finds the ads curated advertisers have kept running for 90+ days, and you save, compare, and pull the research materials into your agent, on the web or over one remote MCP server: https://duchamp.app/api/mcp.

Call search_ads first, then get_ad or get_brand_anatomy. Creative files, ad copy, keyframes, and transcripts need the signed-in account. Lists and counts on the site are public. A reference prompt from compose_transfer_brief is a reference. It does not promise the same look or the same outcome. The original ad stays a link (duchamp_url). get_ad returns timestamped keyframes, the speech transcript, full body copy, the landing URL, and observed numbers, plus a stored AI analysis when one exists (format, hook, 15 emotional drivers, persona, creative targeting, product category, first product appearance — filled by a nightly batch, Foreplay-style). Treat the analysis as a reference and check it against the materials; search_ads can filter by its fields. Product facts passed to compose_transfer_brief are not stored. Saved items, boards, and watched advertiser pages are stored for the signed-in user. Those tools need a separate per-app opt-in on duchamp.app/saved/connect.

38 tools are registered: 26 ad-research tools, 6 Performance tools, 2 label tools, and 4 marketing workspace tools. The table below is that set.

Performance (your own Meta ad accounts, read only): connect an ad account on duchamp.app/performance, group accounts into workspaces (one per client or brand), then allow the app on duchamp.app/performance/connect. list_workspaces → get_performance_insights with a workspace_id or account_ids (group by ad name, copy, creative, landing page, headline, campaign, ad set, account, workspace or Audience Segment — New Audience, Engaged Audience, Existing Customer, sorted by the workspace's campaign-name rules or Duchamp's defaults; by a Meta breakdown at account level — country, age, gender, platform, placement, Meta customer segment; or compare rule groups) → get_performance_timeseries / get_performance_creative / get_performance_ad. Scores (hook, watch, click, convert, viral) are percentiles among every ad (or group) of the workspace in the same period — they are not an industry benchmark. Numbers use the ad set attribution setting and impression-time reporting unless you pick a window with attr_click (1d, 7d, 28d) and attr_view (none, 1d) — Meta no longer returns 7-day or 28-day view. Besides spend, ROAS, CPA, CTR and video rates there are website and Shop purchases, landing page views, add to cart, checkout, leads, drop-off rates and your custom conversions (cc_ _total, _value, _cost, _roas, listed by get_performance_metrics with a workspace_id).

Team boards (read only): list_boards with scope: "team" or "all" adds the team's boards (marked scope: "team"); pass board_scope: "team" to get_board, export_board and compose_transfer_brief, and use list_saved with scope: "team" for teammates' shared ads. This needs a separate team access per app on duchamp.app/saved/connect, and only teammates who turned on AI sharing appear — no notes, saved titles, link items or comments.

What you get

AreaWhat it isBrowse
ExploreActive ads that curated advertisers have kept running for 90+ days, collected daily (all shows every observed ad). Lists and counts are public.Explore
BrandsOne advertiser's breakdown. Watch a page, including a competitor. A page you add yourself is limited to 10.Brands
CompareUp to four advertiser pages, from public records. No impression counts and no revenue.Compare
BreakdownsAds broken into labels. A research reference. The label does not include the creative file.Breakdowns
Saved and BriefSaved ads, labels, and links, plus a reference prompt. The prompt does not promise the same ad.Saved · Brief

Do not invent numbers, dates, prices, or reviews. Transcripts are raw speech-to-text and can mishear names. A person should check what the agent concludes.

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 eleven skills (nine active, two paused) 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.

  • ads-research: find working ads, open one ad with its materials, break down an advertiser, compare your page, and keep a saved library. This is the skill to use.
  • Research skill packs — workflows the agent runs end to end. Say "use the skill on …":
  • evergreen-hunt: ads that ran 90+ days in a niche, clustered by hook, with transcripts for the strongest.
  • weekly-competitor-sweep: your watched advertisers' last 7 days as a Slack-ready Monday brief.
  • creative-test-autopsy: what one advertiser is testing now vs what it keeps scaling.
  • board-to-brief: a named board turned into a production brief with three angles grounded in the saved ads.
  • hook-mining: a hook bank for a niche and format, ranked by how long the ads ran.
  • domain-war-room: a competitor's domain turned into its ads, hooks, landing pages, paid partners and attack angles.
  • angle-theft-detector: your winning creatives from Performance (your own Meta ad accounts) matched to lookalike ads from other advertisers, with how crowded each angle is.
  • connect-extension: install and connect the Duchamp Chrome extension (opens the Chrome Web Store page in your Chrome, you click Add and Connect), then confirm the first save from the Meta Ad Library.
  • make and launch-kit: paused. They call tools that are not registered. Do not call those tools. Use ads-research.
  • visual-judge agent (Claude Code): a fresh-context reviewer. The make skill that used to call it is paused.

Everything runs on your own Claude Code or Codex subscription.

Tools

ToolWhat it doesCounts toward daily limit
search_reference_labelsSearch Duchamp's written breakdowns of long-running ads (advertiser, days running, format, hook, evidence, why it was picked, ad-library link). No creative files.No
get_reference_labelOne 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_adsSearch observed ads. By default only active ads running 90+ days; all: true shows every observed ad. Days running, survival, rank (position in that advertiser's own Meta impression-sorted list — not comparable across advertisers, not performance), signed-in ad copy, and creative URLs on Duchamp's mirror. Inline images are low-resolution previews.No
get_adOne observed ad with research materials: facts, history, full body copy, landing URL, variants, timestamped keyframe URLs (up to 16), the timestamped speech transcript, a label summary when one exists, up to three other long-running ads from the same advertiser, and creative URLs on Duchamp's mirror.No
get_ad_duplicatesEvery visible ad that uses the same image or video files as one ad: same_creative (all files identical, in order) and same_asset (shares at least one file, e.g. one carousel card). Byte-identical files only. search_ads with group_by: "exact_creative" collapses them into one item per creative.No
search_ad_hooksHook bank: opening lines grouped across ads with distinct ad counts, active counts and days running. source: "speech" is the first sentence spoken in the video (with the second it starts), source: "copy" the first line of the ad body. Filter by advertiser page, niche or text.No
get_brand_anatomyOne advertiser page: mix, long-running ads, positions in its own impression-sorted list, hooks, landings, CTAs.No
compare_brandsUp to four advertiser pages side by side. No impression counts and no revenue.No
get_connection_statusCall first in a new session. Confirms sign-in and whether this app may use the saved library and the marketing workspace, with the page to allow it and the next steps.No
get_extension_statusWhether this user's Duchamp Chrome extension is connected (count, version, last used), and how to connect it. Poll it while guiding an install.No
get_brand_landingsOne advertiser's observed ads grouped by landing page (tracking parameters removed, product and app ids kept), with ad and active counts.No
get_brand_partnersPages Meta shows as paid partners ("Paid partnership with …") on one advertiser's observed ads, with ad and active counts, first and last seen dates and a Meta ad library link; also other tracked advertisers that show this page as partner, and up to 24 partnership ads (ads: partner page, days running, format, title, Duchamp link; running first, then longest running, not a performance rank). Creator names and deal terms are not in the data.No
get_creative_velocityOne advertiser's ads launched, retired and active per day over 7, 14, 30 or 60 days (net change, peak day, average per day) and a timeline of the ads that ran, same creative optionally grouped, plus creative tests (2+ ads started the same day in the last 60 days: N/M still running and the ad that outlasted the rest — days running, not a rank), plus day signals with the change vs last week (ads running now for 90+ days, and creatives adding 3+ variants among ads started in the last 14 days — the advertiser turned on several versions, not a rise in reach). Days before Duchamp first observed the page are a lower bound.No
find_advertisers_by_domainTracked advertiser pages whose ads send people to a domain or URL (subdomains included). A matching domain is not proof of ownership.No

| get_collection_status | How fresh and deep the observations are per tracked page (last seen, days observed, days ranked, last attempt) and pages collected per day for 7 days. Chec

Only the beginning is shown; read the rest in the repo

Ask PopNx