PageSourceSearch

https://spreshapp.com/_app/immutable/nodes/38.BRkeFL8L.js

js spreshapp.com collected 2026-10-02 00:09:38 UTC 8,946 bytes, 3 lines download raw bytes

1import"../chunks/DsnmJJEf.js";import{p as ut,e as v,f as C,t as I,a as n,b as yt,c as gt,i as r,h as a,r as t,g as i,d as bt,s as H,n as K}from"../chunks/BHsuc0-1.js";import{s as g}from"../chunks/Dga1o0pd.js";import{i as X}from"../chunks/BHCoVhZ5.js";import{e as Z,i as $}from"../chunks/BovoQ_dI.js";import{h as wt}from"../chunks/BMlE8NEi.js";import{h as _t}from"../chunks/aM-R_-kQ.js";import{a as d}from"../chunks/BstbdMds.js";import{a as tt}from"../chunks/ONhhb1ny.js";import{d as Ct}from"../chunks/CUIAGpw3.js";import{r as at}from"../chunks/3aPiA5Go.js";import{s as p}from"../chunks/C1UZEexi.js";import{C as Pt}from"../chunks/CNBteTzH.js";import{C as kt}from"../chunks/tnMXCem5.js";const Tt=!0,Gt=()=>({seoTitle:"ChatGPT Ad Library MCP | Connect Spresh to ChatGPT",seoDescription:"Connect Spresh to ChatGPT with the hosted MCP URL, approve the Google auth redirect, and research live Facebook ads without manual API key setup."}),Yt=Object.freeze(Object.defineProperty({__proto__:null,load:Gt,prerender:Tt},Symbol.toStringTag,{value:"Module"}));var St=v("<!> Copied",1),At=v("<!> Copy",1),Mt=v('<div class="mt-5 rounded-xl p-4" style="background: var(--charcoal); box-shadow: inset 0 0 0 1px var(--charcoal-18);"><div class="flex flex-wrap items-center justify-between gap-3"><code class="overflow-x-auto text-sm font-[family:var(--font-mono)] font-bold md:text-base" style="color: var(--moss);"></code> <button type="button" class="inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-xs font-[family:var(--font-mono)] font-bold" style="background: rgba(201, 214, 122, 0.16); color: var(--moss); box-shadow: inset 0 0 0 1px rgba(201, 214, 122, 0.3);"><!></button></div></div>'),Ut=v('<div class="soft-card p-6 md:p-7"><div class="grid gap-4 md:grid-cols-[44px_1fr] md:gap-6"><div class="pt-0.5 text-sm font-[family:var(--font-mono)] font-bold" style="color: var(--moss);"> </div> <div><h3 class="mb-3 text-xl leading-snug font-[family:var(--font-display)] font-bold tracking-tight md:text-2xl" style="color: var(--charcoal);"> </h3> <p class="max-w-3xl text-sm leading-relaxed font-[family:var(--font-mono)] md:text-base" style="color: var(--charcoal-70);"> </p> <!></div></div></div>'),It=v('<details class="soft-card group p-5"><summary class="cursor-pointer list-none text-sm font-[family:var(--font-mono)] font-bold" style="color: var(--charcoal);"> </summary> <p class="mt-3 text-sm leading-relaxed font-[family:var(--font-mono)]" style="color: var(--charcoal-70);"> </p></details>'),jt=v(`<section class="relative overflow-hidden border-b" style="background: var(--cream); border-color: var(--charcoal-08);"><div class="relative container mx-auto max-w-6xl px-4 py-16 md:py-24"><div class="grid items-center gap-12 lg:grid-cols-[0.82fr_1.18fr]"><div><h1 class="mb-5 text-4xl leading-tight font-[family:var(--font-display)] font-bold tracking-tighter md:text-6xl" style="color: var(--charcoal);">Connect Ad Library to ChatGPT</h1> <p class="mb-6 max-w-2xl text-base leading-relaxed font-[family:var(--font-mono)] md:text-lg" style="color: var(--charcoal-70);">Paste the hosted MCP URL, approve the Google auth redirect, and let ChatGPT search live
2					Facebook ads, inspect competitors, and break down creative patterns inside the chat.</p> <div class="flex flex-wrap gap-3"><a class="btn-soft-primary inline-flex items-center px-5 py-2.5 text-sm">Get a Spresh account</a></div></div> <div class="flex justify-end lg:pl-4"><div class="inline-flex w-fit max-w-[min(52vw,900px)] overflow-hidden rounded-[20px] p-3" style="background: linear-gradient(135deg, rgba(42, 39, 36, 0.98), rgba(42, 39, 36, 0.9)); box-shadow: var(--shadow-lg);"><img src="/chatgpt-mcp.png" alt="Spresh MCP connected inside ChatGPT showing ad research results" class="block h-auto max-h-[72vh] w-full rounded-[16px] object-contain"/></div></div></div></div></section> <section class="py-16 md:py-20"><div class="container mx-auto max-w-6xl px-4"><div class="mb-8 max-w-3xl"><p class="eyebrow mb-3">Install</p> <h2 class="text-3xl font-[family:var(--font-display)] font-bold tracking-tighter md:text-5xl" style="color: var(--charcoal);">Three clicks to live</h2> <p class="mt-3 text-sm leading-relaxed font-[family:var(--font-mono)] md:text-base" style="color: var(--charcoal-70);">Same URL, same OAuth, same Spresh tools.</p></div> <div class="space-y-4"></div></div></section> <section class="py-16" style="background: var(--sage-tint); border-top: 1px solid var(--charcoal-08); border-bottom: 1px solid var(--charcoal-08);"><div class="container mx-auto max-w-4xl px-4"><div class="mb-8"><p class="eyebrow mb-3">FAQ</p> <h2 class="text-3xl font-[family:var(--font-display)] font-bold tracking-tighter md:text-5xl" style="color: var(--charcoal);">Before you connect</h2></div> <div class="space-y-3"></div></div></section> <section class="px-4 py-20"><div class="container mx-auto max-w-5xl rounded-xl p-8 text-center md:p-12" style="background: var(--charcoal);"><p class="eyebrow mb-3" style="color: var(--moss);">Ready</p> <h2 class="mx-auto mb-4 max-w-3xl text-3xl font-[family:var(--font-display)] font-bold tracking-tighter text-[var(--cream)] md:text-5xl">Connect ChatGPT to live Facebook ad intelligence</h2> <p class="mx-auto mb-7 max-w-2xl text-sm leading-relaxed font-[family:var(--font-mono)] text-white/65">Use the hosted Spresh MCP endpoint, approve the sign-in redirect, and start pulling real ad
3			data into your next research thread.</p> <div class="flex flex-wrap justify-center gap-3"><a href="https://chatgpt.com/" target="_blank" rel="noopener noreferrer" class="btn-soft-accent inline-flex items-center px-5 py-2.5 text-sm">
3Open ChatGPT</a> <a class="btn-soft-ghost inline-flex items-center px-5 py-2.5 text-sm">View pricing</a></div></div></section>`,1);function Ht(et,ot){ut(ot,!0);const rt="https://api.spreshapp.com/mcp",j=[{question:"Do I need to paste an API key into ChatGPT?",answer:"No. This ChatGPT flow uses the hosted MCP endpoint and signs you in through the Google auth redirect. You do not need to add a Bearer header on this page."},{question:"What do I paste into ChatGPT?",answer:"Paste the hosted Spresh MCP URL: https://api.spreshapp.com/mcp. ChatGPT reads the MCP metadata from that endpoint and starts the auth flow."},{question:"What can ChatGPT do once connected?",answer:"It can find brand pages, pull live active ads, inspect ad details, and analyze creative hooks, offers, personas, and messaging patterns from Spresh."},{question:"Who is this page for?",answer:"Anyone using a ChatGPT plan or workspace that exposes custom connectors. If you can open Connectors and add a custom connector, this is the setup flow."}],st=[{number:"01",title:"Open ChatGPT, then Settings, then Connectors",body:"If your workspace supports custom connectors, choose Add custom connector. ChatGPT will ask for the MCP server URL next."},{number:"02",title:"Paste the Spresh MCP URL",body:"Use the hosted endpoint below. ChatGPT reads the MCP and OAuth metadata automatically. No client ID, secret, or JSON editing is needed for this flow.",showUrl:!0},{number:"03",title:"Authorize with your Spresh account",body:"ChatGPT sends you to the Spresh Google sign-in flow. Approve access, return to ChatGPT, and the tools appear connected."}],nt=`<script type="application/ld+json">${JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:j.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))})}<\/script>`;let P=bt(!1);async function it(){await navigator.clipboard.writeText(rt),H(P,!0),setTimeout(()=>H(P,!1),1800)}var L=jt();_t("4h7sfx",e=>{var o=gt(),m=C(o);wt(m,()=>nt),n(e,o)});var k=C(L),O=a(k),R=a(O),b=a(R),q=r(a(b),4),lt=a(q);t(q),t(b),d(b,e=>p?.(e));var ct=r(b,2);d(ct,(e,o)=>p?.(e,o),()=>({delay:120})),t(R),t(O),t(k);var T=r(k,2),F=a(T),N=a(F);d(N,e=>p?.(e));var z=r(N,2);Z(z,21,()=>st,$,(e,o,m)=>{var s=Ut(),l=a(s),h=a(l),w=a(h,!0);t(h);var _=r(h,2),f=a(_),S=a(f,!0);t(f);var A=r(f,2),pt=a(A,!0);t(A);var vt=r(A,2);{var mt=x=>{var u=Mt(),V=a(u),Y=a(V);Y.textContent="https://api.spreshapp.com/mcp";var M=r(Y,2);M.__click=it;var ht=a(M);{var ft=c=>{var y=St(),U=C(y);Pt(U,{class:"h-3 w-3"}),K(),n(c,y)},xt=c=>{var y=At(),U=C(y);kt(U,{class:"h-3 w-3"}),K(),n(c,y)};X(ht,c=>{i(P)?c(ft):c(xt,!1)})}t(M),t(V),t(u),n(x,u)};X(vt,x=>{i(o).showUrl&&x(mt)})}t(_),t(l),t(s),d(s,(x,u)=>p?.(x,u),()=>({delay:m*80})),I(()=>{g(w,i(o).number),g(S,i(o).title),g(pt,i(o).body)}),n(e,s)}),t(z),t(F),t(T);var G=r(T,2),D=a(G),Q=a(D);d(Q,e=>p?.(e));var W=r(Q,2);Z(W,21,()=>j,$,(e,o,m)=>{var s=It(),l=a(s),h=a(l,!0);t(l);var w=r(l,2),_=a(w,!0);t(w),t(s),d(s,(f,S)=>p?.(f,S),()=>({delay:m*60})),I(()=>{g(h,i(o).question),g(_,i(o).answer)}),n(e,s)}),t(W),t(D),t(G);var B=r(G,2),J=a(B),E=r(a(J),6),dt=r(a(E),2);t(E),t(J),t(B),I((e,o)=>{tt(lt,"href",e),tt(dt,"href",o)},[()=>at("/login"),()=>at("/pricing")]),n(et,L),yt()}Ct(["click"]);export{Ht as component,Yt as universal};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.