One config block plugs Prior.Run into Claude Desktop, Claude Code, Codex, Gemini CLI, Cursor, Windsurf, Cline, Zed — any MCP-compatible host. The agent calls tools, waits for synthesis, hands you back a verdict.
Run a Prior.Run ads compare on ~/desk/hero-a.png vs ~/desk/hero-b.png for a Gen Z skincare awareness campaign on TikTok.
create_ads_compare{
image_a: "~/desk/hero-a.png",
image_b: "~/desk/hero-b.png",
campaign_context: "Gen Z skincare, TikTok awareness.",
run_platform: "tiktok"
}↳ running — synthesis phase ·····
Variant A wins. Scroll-stop is stronger — the reviewer audience flags B's headline as generic. Full memo at prior.run/ads/memo/comp_b81b0b93▍
01uvx priorrun-mcp0203# no clone, no pip install. requires python 3.11+ and uv.04# install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
01{02 "mcpServers": {03 "prior-run": {04 "command": "uvx",05 "args": ["priorrun-mcp"],06 "env": {07 "PRIORRUN_API_KEY": "pr_live_xxxxxxxxxxxxxxxxxxxx"08 }09 }10 }11}
01{02 "mcpServers": {03 "prior-run": {04 "command": "uvx",05 "args": ["priorrun-mcp"],06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }07 }08 }09}
01[mcp_servers.prior-run]02command = "uvx"03args = ["priorrun-mcp"]0405[mcp_servers.prior-run.env]06PRIORRUN_API_KEY = "pr_live_..."
01{02 "mcpServers": {03 "prior-run": {04 "command": "uvx",05 "args": ["priorrun-mcp"],06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }07 }08 }09}
01{02 "mcpServers": {03 "prior-run": {04 "command": "uvx",05 "args": ["priorrun-mcp"],06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }07 }08 }09}
01# all modern MCP hosts share the "mcpServers" shape used by Claude Code.02# drop the same block into the host's MCP config file and you're set.
create_design_review↳ single variantcreate_design_compare↳ two variantscreate_design_multi↳ 3–5 variantscreate_design_flow↳ two funnelscreate_ads_single↳ one creativecreate_ads_compare↳ two head-to-headcreate_ads_multi↳ 3–5 creativesads_inspiration_apply↳ generate draft from recs (single + compare)ads_inspiration_get↳ fetch latest draftget_memo↳ fetch status + JSONwait_for_memo↳ block until completeImage arguments accept local paths, https URLs, or base64. Create tools default to wait=True — the agent gets the completed memo in one tool call.
Test these two landing pages — landing-a.png and landing-b.png — against Gen Z shoppers. Hypothesis: the warmer palette will lift click-through.
create_design_compare( audience_template="gen_z", hypothesis="warmer palette…" )
waiting · 90s ·
We prefer Design A · Moderate confidence. Warmer palette lands — “feels less corporate” came up in 6 of 12 reviewers. But the CTA language on B scored higher for clarity. Full memo ↗
The agent picks the right tool from your wording: "landing page" / "design compare" / "variant" → design tools. "ad creative" / "campaign context" / a platform name (Meta, TikTok, Google) → ads tools. If it guesses wrong, say so explicitly: “use create_ads_compare”.
[ ready to plug in? ]