Duchamp
What it does
Competitor ad research for coding agents: long-running ads, keyframes and transcripts over MCP.
- Connects 클라우드에서 실행
- Account or key Sign in to the service when you connect (OAuth)
- Category 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(duchamp.app)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
Claude의 Connectors 페이지 열기
CustomizeConnectors
“Add” → “Custom” → “Web”를 누르고 이 2칸 채우기
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Name · 이름DuchampRemote MCP server URL · 주소https://duchamp.app/api/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
채팅에서 켜기
+ConnectorsDuchamp
해 보기
Duchamp을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Duchamp을 쓰고 있다고 하거나 답에 Duchamp 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
웹 ChatGPT에서 MCP 추가 페이지 열기
Plugins+Add custom MCP server
이름과 주소 입력
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Name · 이름DuchampConnection · 주소https://duchamp.app/api/mcp채팅에서 Duchamp 고르기
새 채팅을 열고 입력 전에 플러그인 목록에서 Duchamp을 고르세요
해 보기
Duchamp을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Duchamp을 쓰고 있다고 하거나 답에 Duchamp 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --transport http --scope user duchamp https://duchamp.app/api/mcpClaude Code에서 /mcp 입력
Duchamp이 목록에 있고 연결됨으로 보이면 돼요
해 보기
Duchamp을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Duchamp을 쓰고 있다고 하거나 답에 Duchamp 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
Duchamp을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Duchamp을 쓰고 있다고 하거나 답에 Duchamp 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
Duchamp을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Duchamp을 쓰고 있다고 하거나 답에 Duchamp 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://duchamp.app/api/mcpJSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
웹으로 연결
Claude Code
claude mcp add --transport http --scope user duchamp https://duchamp.app/api/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"duchamp": {
"url": "https://duchamp.app/api/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"duchamp": {
"type": "http",
"url": "https://duchamp.app/api/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
할 수 있는 일
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 duchamp-app 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- ✓ 통과
계속 관리되고 있음
코드 마지막 변경: 20일 전
- ✓ 통과
라이선스 있음
MIT 사용
- ✓ 통과
엔드포인트 응답
201ms 만에 응답(HTTP 401)
- ✓ 통과
OAuth로 로그인
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5824개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5824개 중 58%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5824개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Duchamp, 안전한가요?
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 20일 전 변경됐고, 최신 버전(0.10.0)은 20일 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: REA, GitHub, Serena MCP: the IDE for your agent
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
- 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.txt
What you get
| Area | What it is | Browse |
|---|---|---|
| Explore | Active ads that curated advertisers have kept running for 90+ days, collected daily (all shows every observed ad). Lists and counts are public. | Explore |
| Brands | One advertiser's breakdown. Watch a page, including a competitor. A page you add yourself is limited to 10. | Brands |
| Compare | Up to four advertiser pages, from public records. No impression counts and no revenue. | Compare |
| Breakdowns | Ads broken into labels. A research reference. The label does not include the creative file. | Breakdowns |
| Saved and Brief | Saved 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.makeandlaunch-kit: paused. They call tools that are not registered. Do not call those tools. Useads-research.visual-judgeagent (Claude Code): a fresh-context reviewer. Themakeskill that used to call it is paused.
Everything runs on your own Claude Code or Codex subscription.
Tools
| Tool | What it does | Counts toward daily limit |
|---|---|---|
search_reference_labels | Search 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_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. 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_ad | One 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_duplicates | Every 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_hooks | Hook 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_anatomy | One advertiser page: mix, long-running ads, positions in its own impression-sorted list, hooks, landings, CTAs. | No |
compare_brands | Up to four advertiser pages side by side. No impression counts and no revenue. | No |
get_connection_status | Call 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_status | Whether 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_landings | One advertiser's observed ads grouped by landing page (tracking parameters removed, product and app ids kept), with ad and active counts. | No |
get_brand_partners | Pages 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_velocity | One 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_domain | Tracked 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