[ Trusted by builders from ]NetflixServiceNowCiscoAdobePayPalAmazonDatadogJPMorgan ChaseDell
[ Trusted by builders from ]NetflixServiceNowCiscoAdobePayPalAmazonDatadogJPMorgan ChaseDell
Prior.Runprior.run

FIG · MCP— model context protocol integration, v1

Your agent
runs the simulation.

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.

claude code · prior-run MCP↳ 9 tools connected
you

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.


tool callcreate_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 ·····


result

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


01 · one-liner↳ fetches + runs on demand via uv
01uvx priorrun-mcp
02
03# no clone, no pip install. requires python 3.11+ and uv.
04# install uv: curl -LsSf https://astral.sh/uv/install.sh | sh

Claude Desktop↳ ~/Library/Application Support/Claude/claude_desktop_config.json
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}
Claude Code↳ ~/.claude/mcp.json — or .mcp.json in a project root
01{
02 "mcpServers": {
03 "prior-run": {
04 "command": "uvx",
05 "args": ["priorrun-mcp"],
06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }
07 }
08 }
09}
Codex (OpenAI)↳ ~/.codex/config.toml — TOML, not JSON
01[mcp_servers.prior-run]
02command = "uvx"
03args = ["priorrun-mcp"]
04
05[mcp_servers.prior-run.env]
06PRIORRUN_API_KEY = "pr_live_..."
Gemini CLI↳ ~/.gemini/settings.json
01{
02 "mcpServers": {
03 "prior-run": {
04 "command": "uvx",
05 "args": ["priorrun-mcp"],
06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }
07 }
08 }
09}
Cursor↳ ~/.cursor/mcp.json (global) or .cursor/mcp.json (project)
01{
02 "mcpServers": {
03 "prior-run": {
04 "command": "uvx",
05 "args": ["priorrun-mcp"],
06 "env": { "PRIORRUN_API_KEY": "pr_live_..." }
07 }
08 }
09}
Windsurf / Cline / Zed↳ same JSON shape as above — check the host's docs for the config path
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.

I · Design memos№ 01–04
01create_design_reviewsingle variant
02create_design_comparetwo variants
03create_design_multi3–5 variants
04create_design_flowtwo funnels
II · Ads memos№ 05–09
05create_ads_singleone creative
06create_ads_comparetwo head-to-head
07create_ads_multi3–5 creatives
08ads_inspiration_applygenerate draft from recs (single + compare)
09ads_inspiration_getfetch latest draft
III · Retrieval№ 08–09
08get_memofetch status + JSON
09wait_for_memoblock until complete

Image arguments accept local paths, https URLs, or base64. Create tools default to wait=True — the agent gets the completed memo in one tool call.


Session transcript↳ abridged
you

Test these two landing pages — landing-a.png and landing-b.png — against Gen Z shoppers. Hypothesis: the warmer palette will lift click-through.

agent → tool

create_design_compare( audience_template="gen_z", hypothesis="warmer palette…" )

tool

waiting · 90s ·

agent

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? ]

Simulate before
you ship.