PageSourceSearch

https://glam.ai/assets/mcp-DV4C5J-R.js

js glam.ai collected 2026-09-25 02:54:25 UTC 26,326 bytes, 8 lines download raw bytes

1import{r as n,j as e}from"./vendor_radix-OWD_HMmK.js";import{F as S}from"./index-BGNc8mIw.js";import{z as p,A as C,t as k,D as M,E as y,L as _,G as T,I,J as R,K as E,M as L,O as q}from"./main-BDWC-stf.js";import{C as P}from"./copy-BSjRdN-I.js";import{A as O}from"./arrow-right-C3-XJ4jM.js";import"./vendor_contentful-C5tyERPu.js";import"./vendor_better-auth-BfOIe3d_.js";import"./vendor_swiper-CtacudXp.js";import"./vendor_gsap-DGRpJ0tQ.js";const U=[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]],D=p("Camera",U);const G=[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]],$=p("Cpu",G);const W=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],V=p("Globe",W);const H=[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]],F=p("Megaphone",H);const Y=[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]],v=p("Terminal",Y);const z=[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]],B=p("TestTube",z);const J=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]],Q=p("Users",J);const K=[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]],X=p("Video",K);function A({value:t,location:s,className:o}){const[i,m]=n.useState(!1);n.useEffect(()=>{if(!i)return;const h=setTimeout(()=>m(!1),1800);return()=>clearTimeout(h)},[i]);const c=async()=>{await M(t)&&(m(!0),y.copyMcpUrl({location:s}))};return e.jsxs("button",{type:"button",onClick:c,"data-location":s,"aria-label":`Copy ${t} to clipboard`,className:k("group inline-flex items-center gap-3 h-12 pl-5 pr-2 rounded-full border border-border bg-card text-foreground transition-all hover:bg-card/80 hover:border-pink-primary/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background cursor-pointer",o),children:[e.jsx("span",{className:"font-mono text-sm md:text-base text-foreground truncate max-w-[55vw] md:max-w-none",children:t}),e.jsx("span",{className:k("inline-flex items-center justify-center w-9 h-9 rounded-full bg-pink-primary text-white transition-all group-hover:bg-pink-primary/90"),children:i?e.jsx(C,{className:"w-4 h-4",strokeWidth:2.5}):e.jsx(P,{className:"w-4 h-4",strokeWidth:2.5})})]})}const l="https://mcp.glam.ai/mcp",Z="https://discord.gg/wfpMSQ47YG",ee="›",j=[{kind:"input",prompt:"$",text:`claude mcp add --transport http glam ${l}`,delayAfter:250},{kind:"output",text:`✓ Connected to ${l}`,tone:"success",delayAfter:120},{kind:"output",text:"→ opened browser for OAuth · authenticated as [email protected]",tone:"dim",delayAfter:240},{kind:"spacer"},{kind:"input",text:"generate image",delayAfter:400},{kind:"output",text:"What image would you like to generate? A serene mountain lake at sunrise, mirror-still water, snow-capped peaks, golden light, morning mist.",delayAfter:200},{kind:"output",text:"Calling glam 2 times…  (list_models, account_balance)",tone:"dim",delayAfter:400},{kind:"output",text:"Plan: Basic Unlimited (ACTIVE) — 15 coins balance. Cheapest text-to-image (5 coins): Nano Banana T2i, Seedream V5, Recraft V4.",delayAfter:320},{kind:"output",text:"Calling glam (generate_media, wait_seconds=60)…",tone
1:"dim",delayAfter:600},{kind:"output",text:"✓ Image generated on Nano Banana T2i (5 coins)",tone:"success",delayAfter:120},{kind:"output",text:"https://v3b.fal.media/files/b/0a9cb880/serene_lake.png",tone:"accent",delayAfter:1800}],te=22,re=3500;function se(){const[t,s]=n.useState(!1);return n.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia("(prefers-reduced-motion: reduce)");s(o.matches);const i=m=>s(m.matches);return o.addEventListener("change",i),()=>o.removeEventListener("change",i)},[]),t}function ne(){const t=se(),s=n.useRef(null),[o,i]=n.useState(!1),[m,c]=n.useState(0),[h,f]=n.useState(0),x=n.useRef(!1);return n.useEffect(()=>{const r=s.current;if(!r||typeof IntersectionObserver>"u"){i(!0);return}const u=new IntersectionObserver(g=>{for(const a of g)i(a.isIntersecting)},{threshold:.15});return u.observe(r),()=>u.disconnect()},[]),n.useEffect(()=>{if(t){c(j.length),f(0);return}if(!o)return;x.current=!1;const r=a=>new Promise(d=>setTimeout(d,a)),u=async a=>{if(x.current)return;const d=j[a];if(d){if(d.kind==="input"){c(a+1);for(let b=1;b<=d.text.length;b++){if(x.current)return;f(b),await r(te)}await r(d.delayAfter??200);return}if(d.kind==="output"){f(0),c(a+1),await r(d.delayAfter??200);return}c(a+1),await r(120)}};return(async()=>{for(await r(400);!x.current;){c(0),f(0);for(let a=0;a<j.length;a++)if(await u(a),x.current)return;await r(re)}})(),()=>{x.current=!0}},[t,o]),e.jsxs("div",{ref:s,className:"w-full max-w-[920px] rounded-2xl border border-border bg-[#0b0a0d] shadow-2xl shadow-pink-primary/20 overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-white/5 bg-[#0f0e12]",children:[e.jsx("span",{className:"w-3 h-3 rounded-full bg-[#ff5f56]"}),e.jsx("span",{className:"w-3 h-3 rounded-full bg-[#ffbd2e]"}),e.jsx("span",{className:"w-3 h-3 rounded-full bg-[#27c93f]"}),e.jsx("span",{className:"ml-3 text-[11px] font-mono text-foreground/50 truncate",children:"claude · ~/projects/glam-demo"})]}),e.jsx("div",{className:"p-5 md:p-6 font-mono text-[13px] md:text-[14px] leading-relaxed text-foreground/85 min-h-[360px] text-left",children:j.slice(0,m).map((r,u)=>{if(r.kind==="spacer")return e.jsx("div",{className:"h-2"},u);const g=r.kind==="input"&&u===m-1;if(r.kind==="input"){const b=g?r.text.slice(0,h):r.text;return e.jsxs("div",{className:"flex items-start gap-2 mb-1",children:[e.jsx("span",{className:"text-foreground/40 select-none",children:r.prompt??ee}),e.jsxs("span",{className:"text-foreground",children:[b,g&&!t&&e.jsx("span",{className:"inline-block w-[7px] h-[1em] align-[-2px] ml-[2px] bg-pink-primary animate-pulse"})]})]},u)}const a=r.tone==="dim"?"text-foreground/50":r.tone==="accent"?"text-pink-primary":r.tone==="success"?"text-emerald-400":"text-foreground/85",d=t?"":"animate-in fade-in-0 slide-in-from-left-1 duration-200";return e.jsx("div",{className:`pl-4 mb-1 break-words ${d} ${a}`,children:r.text},u)})})]})}function oe(){return e.jsx("section",{className:"relative px-4 md:px-8 lg:px-16 py-12 md:py-20",children:e.jsxs("div",{className:"mx-auto max-w-[1100px] flex flex-col items-center text-center",children:[e.jsxs("span",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-border bg-card/60 text-[11px] uppercase tracking-[0.18em] font-medium text-foreground/70",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-pink-primary animate-pulse"}),"Model Context Protocol"]}),e.jsxs("h1",{className:"mt-5 text-[40px] leading-[1.05] md:text-[64px] md:leading-[1.02] lg:text-[80px] font-medium tracking-[-0.025em] text-foreground max-w-[920px]",children:["Glam MCP for ",e.jsx("span",{className:"gradient-text",children:"any AI agent"})]}),e.jsx("p",{className:"mt-5 max-w-[620px] text-base md:text-lg text-muted-foreground font-normal leading-relaxed",children:"Connect Glam to Claude, Cursor, or any MCP client. Generate images and videos directly from your prompts — no API keys to manage, no CLI to install."}),e.jsxs("div",{className:"mt-8 flex flex-col items-center gap-4",children:[e.jsx(A,{value:l,location:"hero"}),e.jsx(_,{to:"/",search:{},className:"text-sm text-muted-foreground hover:text-foreground transition-colors underline underline-offset-4 decoration-dotted",children:"Or sign in to glam.ai first →"})]}),e.jsx("div",{className:"mt-14 md:mt-20 w-full flex justify-center",children:e.jsx(ne,{})}),e.jsxs("div",{className:"mt-12 md:mt-16 flex flex-wrap justify-center items-center gap-3 text-xs uppercase tracking-[0.18em] font-medium text-foreground
1/70",children:[e.jsx("span",{children:"OAuth login"}),e.jsx("span",{className:"w-1 h-1 rounded-full bg-foreground/30"}),e.jsx("span",{children:"No API keys"}),e.jsx("span",{className:"w-1 h-1 rounded-full bg-foreground/30"}),e.jsx("span",{children:"30+ models"}),e.jsx("span",{className:"w-1 h-1 rounded-full bg-foreground/30"}),e.jsx("span",{children:"Image & video"})]})]})})}function ae(){return e.jsx("section",{className:"px-4 md:px-8 lg:px-16 py-16 md:py-24 border-t border-border/60",children:e.jsxs("div",{className:"mx-auto max-w-[1100px]",children:[e.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[e.jsx("h2",{className:"text-3xl md:text-5xl font-medium tracking-[-0.02em] text-foreground",children:"Three steps. No CLI."}),e.jsx("p",{className:"mt-4 max-w-[560px] mx-auto text-base md:text-lg text-muted-foreground",children:"From signed in to first generation in under a minute."})]}),e.jsxs("ol",{className:"grid gap-6 md:gap-8 md:grid-cols-3 list-none",children:[e.jsxs("li",{className:"relative flex flex-col rounded-2xl border border-border bg-card p-6 md:p-8",children:[e.jsx("span",{className:"absolute -top-3 left-6 inline-flex items-center justify-center w-7 h-7 rounded-full bg-pink-primary text-white text-sm font-semibold",children:"1"}),e.jsx("h3",{className:"text-xl md:text-2xl font-medium text-foreground",children:"Sign in to glam.ai"}),e.jsx("p",{className:"mt-3 text-sm md:text-base text-muted-foreground leading-relaxed",children:"Create a glam.ai account or sign in with the one you already have. Your existing coin balance and plan apply automatically."}),e.jsx("div",{className:"mt-6",children:e.jsxs(_,{to:"/",search:{},className:"inline-flex items-center gap-2 text-sm font-medium text-foreground hover:text-pink-primary transition-colors",children:["Open glam.ai",e.jsx(O,{className:"w-4 h-4",strokeWidth:2.5})]})})]}),e.jsxs("li",{className:"relative flex flex-col rounded-2xl border border-border bg-card p-6 md:p-8",children:[e.jsx("span",{className:"absolute -top-3 left-6 inline-flex items-center justify-center w-7 h-7 rounded-full bg-pink-primary text-white text-sm font-semibold",children:"2"}),e.jsx("h3",{className:"text-xl md:text-2xl font-medium text-foreground",children:"Add the MCP server"}),e.jsxs("p",{className:"mt-3 text-sm md:text-base text-muted-foreground leading-relaxed",children:[e.jsx("span",{className:"text-foreground",children:"Not in the chat"})," — MCP servers live in your client's settings. Grab this URL:"]}),e.jsx("div",{className:"mt-6",children:e.jsx(A,{value:l,location:"install_step_2",className:"w-full justify-between"})}),e.jsx("a",{href:"#install",className:"mt-4 text-sm text-pink-primary hover:text-pink-primary/80 transition-colors inline-flex items-center gap-1",children:"See exact commands per client ↓"})]}),e.jsxs("li",{className:"relative flex flex-col rounded-2xl border border-border bg-card p-6 md:p-8",children:[e.jsx("span",{className:"absolute -top-3 left-6 inline-flex items-center justify-center w-7 h-7 rounded-full bg-pink-primary text-white text-sm font-semibold",children:"3"}),e.jsx("h3",{className:"text-xl md:text-2xl font-medium text-foreground",children:"Generate from a prompt"}),e.jsx("p",{className:"mt-3 text-sm md:text-base text-muted-foreground leading-relaxed",children:"Your agent handles OAuth in the browser, picks the right model, and delivers the result inline."}),e.jsxs("div",{className:"mt-6 rounded-xl border border-border/80 bg-background/40 p-4",children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-muted-foreground mb-2",children:"Example"}),e.jsx("p",{className:"font-mono text-sm text-foreground leading-relaxed",children:'"Generate a cinematic portrait of a woman in a Tokyo neon alley."'})]})]})]}),e.jsx("div",{className:"mt-10 md:mt-14 flex justify-center",children:e.jsx("a",{href:Z,target:"_blank",rel:"noreferrer noopener",onClick:()=>y.clickMcpDiscordSupport({source:"install_steps_footer"}),className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Trouble configuring your agent? Reach out on Discord."})})]})})}function N({value:t,display:s,location:o,language:i,className:m}){const[c,h]=n.useState(!1);n.useEffect(()=>{if(!c)return;const x=setTimeout(()=>h(!1),1800);return()=>clearTimeout(x)},[c]);const f=async()=>
1{await M(t)&&(h(!0),y.copyMcpSnippet({location:o}))};return e.jsxs("div",{className:k("relative rounded-xl border border-border/80 bg-background/60 overflow-hidden",m),children:[i&&e.jsx("div",{className:"px-4 pt-3 text-[10px] uppercase tracking-[0.18em] text-foreground/40",children:i}),e.jsx("pre",{className:"px-4 py-3 pr-12 overflow-x-auto text-[13px] font-mono text-foreground/90 leading-relaxed whitespace-pre",children:s??t}),e.jsx("button",{type:"button",onClick:f,"data-location":o,"aria-label":"Copy to clipboard",className:"absolute top-2 right-2 inline-flex items-center justify-center w-8 h-8 rounded-lg bg-card/80 hover:bg-card text-foreground/70 hover:text-foreground border border-border/60 transition-all cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-primary",children:c?e.jsx(C,{className:"w-4 h-4 text-emerald-400",strokeWidth:2.5}):e.jsx(P,{className:"w-3.5 h-3.5",strokeWidth:2})})]})}const ie=`{
2  "mcpServers": {
3    "glam": {
4      "url": "${l}",
5      "type": "http"
6    }
7  }
8}`,ce=`claude mcp add --transport http glam ${l}`;function de(){return e.jsx("section",{id:"install",className:"px-4 md:px-8 lg:px-16 py-16 md:py-24 border-t border-border/60",children:e.jsxs("div",{className:"mx-auto max-w-[1100px]",children:[e.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[e.jsx("span",{className:"inline-block text-xs uppercase tracking-[0.2em] font-medium text-foreground/60",children:"Copy-paste install"}),e.jsx("h2",{className:"mt-3 text-3xl md:text-5xl font-medium tracking-[-0.02em] text-foreground",children:"Pick your client"}),e.jsxs("p",{className:"mt-4 max-w-[620px] mx-auto text-base md:text-lg text-muted-foreground",children:["Typing"," ",e.jsxs("code",{className:"font-mono text-foreground",children:["add mcp ",l]})," ","into the Claude chat does nothing — MCP servers are configured outside the conversation. Here's the exact command for each client."]})]}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-3",children:[e.jsxs("article",{className:"flex flex-col rounded-2xl border border-border bg-card p-6",children:[e.jsxs("header",{children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] font-semibold text-foreground/60",children:"Terminal"}),e.jsx("h3",{className:"mt-2 text-xl font-medium text-foreground",children:"Claude Code"}),e.jsxs("p",{className:"mt-2 text-sm text-muted-foreground",children:["Run this once in your shell. The next"," ",e.jsx("code",{className:"font-mono text-foreground",children:"claude"})," ","session will open a browser to sign you in."]})]}),e.jsx("div",{className:"mt-5",children:e.jsx(N,{value:ce,language:"bash",location:"snippets_claude_code"})}),e.jsxs("p",{className:"mt-4 text-xs text-muted-foreground",children:["Verify with"," ",e.jsx("code",{className:"font-mono text-foreground",children:"claude mcp list"})," ","— you should see ",e.jsx("span",{className:"font-mono",children:"glam"})," listed."]})]}),e.jsxs("article",{className:"flex flex-col rounded-2xl border border-border bg-card p-6",children:[e.jsxs("header",{children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] font-semibold text-foreground/60",children:"Editor"}),e.jsx("h3",{className:"mt-2 text-xl font-medium text-foreground",children:"Cursor"}),e.jsxs("p",{className:"mt-2 text-sm text-muted-foreground",children:["Open"," ",e.jsx("span",{className:"text-foreground",children:"Cursor Settings → MCP & Integrations → Add MCP server"}),", or paste this into"," ",e.jsx("code",{className:"font-mono text-foreground",children:"~/.cursor/mcp.json"}),":"]})]}),e.jsx("div",{className:"mt-5",children:e.jsx(N,{value:ie,language:"json",location:"snippets_cursor"})}),e.jsx("p",{className:"mt-4 text-xs text-muted-foreground",children:"Cursor reloads MCP servers on startup; restart it after saving."})]}),e.jsxs("article",{className:"flex flex-col rounded-2xl border border-border bg-card p-6",children:[e.jsxs("header",{children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] font-semibold text-foreground/60",children:"Desktop / Web"}),e.jsx("h3",{className:"mt-2 text-xl font-medium text-foreground",children:"Claude Desktop & Web"}),e.jsxs("p",{className:"mt-2 text-sm text-muted-foreground",children:["Open"," ",e.jsx("span",{className:"text-foreground",children:"Settings → Connectors → Add custom connector"})," ","and paste the URL."]})]}),e.jsx("div",{className:"mt-5",children:e.jsx(N,{value:l,language:"url",location:"snippets_claude_desktop"})}),e.jsx("p",{className:"mt-4 text-xs text-muted-foreground",children:"Custom connectors require a paid Claude plan (Pro, Max, or Team). On Free, use Claude Code or 
8Cursor instead."})]})]})]})})}const le=[{icon:F,tag:"Marketing ads",title:"Generate an ad for your business",prompt:'"Take this product photo, place it on a sunlit kitchen counter with morning steam and add the tagline ‘Brew bolder mornings’ in clean serif."',bring:"1 product photo"},{icon:D,tag:"Daily social",title:"Post Instagram content with yourself in it",prompt:'"Use my selfie and place me in Tokyo Shinjuku at night with neon reflections — keep my face exact, cinematic 4:5 portrait."',bring:"1 selfie"},{icon:X,tag:"Image to video",title:"Animate any still into a clip",prompt:'"Turn this photo into a 5-second clip, slow dolly-in, ambient golden-hour light, no character motion."',bring:"1 image"},{icon:Q,tag:"Avatar video",title:"Your face, borrowed moves",prompt:'"Use my selfie as the subject and copy the motion from this reference video, vertical 9:16."',bring:"1 selfie + 1 motion-reference video"},{icon:T,tag:"Lookbook",title:"Stitch a multi-shot brand video",prompt:'"Make a 5-second cinematic video using these reference shots — same model, same wardrobe across cuts, vertical 9:16."',bring:"2–6 reference photos"}];function me(){return e.jsx("section",{className:"px-4 md:px-8 lg:px-16 py-16 md:py-24 border-t border-border/60",children:e.jsxs("div",{className:"mx-auto max-w-[1100px]",children:[e.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[e.jsx("span",{className:"inline-block text-xs uppercase tracking-[0.2em] font-medium text-foreground/60",children:"Real prompts"}),e.jsx("h2",{className:"mt-3 text-3xl md:text-5xl font-medium tracking-[-0.02em] text-foreground",children:"What you can ask for"}),e.jsx("p",{className:"mt-4 max-w-[620px] mx-auto text-base md:text-lg text-muted-foreground",children:"Type these in Claude or Cursor verbatim. Today every generation starts from at least one image you bring — your selfie, product shot, or moodboard."})]}),e.jsx("div",{className:"grid gap-5 md:gap-6 md:grid-cols-2",children:le.map(t=>{const s=t.icon;return e.jsxs("article",{className:"flex flex-col rounded-2xl border border-border bg-card p-6 md:p-7",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"inline-flex items-center justify-center w-9 h-9 rounded-xl bg-pink-primary/10 text-pink-primary",children:e.jsx(s,{className:"w-4 h-4",strokeWidth:2.25})}),e.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] font-semibold text-foreground/60",children:t.tag})]}),e.jsx("h3",{className:"mt-4 text-lg md:text-xl font-medium text-foreground",children:t.title}),e.jsx("p",{className:"mt-4 font-mono text-sm leading-relaxed text-foreground/85",children:t.prompt}),e.jsxs("div",{className:"mt-5 pt-4 border-t border-border/70 flex items-center gap-2",children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:"Bring"}),e.jsx("span",{className:"text-xs text-foreground/80",children:t.bring})]})]},t.title)})})]})})}const xe=[{name:"Claude Desktop",caption:"Settings → Connectors",icon:$},{name:"Claude Web",caption:"Custom MCP server",icon:V},{name:"Claude Code",caption:"claude.json connectors",icon:v},{name:"Cursor",caption:"Settings → MCP Servers",icon:v},{name:"MCP Inspector",caption:"npx @modelcontextprotocol/inspector",icon:B}];function ue(){return e.jsx("section",{className:"px-4 md:px-8 lg:px-16 py-16 md:py-24 border-t border-border/60",children:e.jsxs("div",{className:"mx-auto max-w-[1100px]",children:[e.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[e.jsx("span",{className:"inline-block text-xs uppercase tracking-[0.2em] font-medium text-foreground/60",children:"Compatible agents"}),e.jsx("h2",{className:"mt-3 text-3xl md:text-5xl font-medium tracking-[-0.02em] text-foreground",children:"Bring your own agent"}),e.jsx("p",{className:"mt-4 max-w-[620px] mx-auto text-base md:text-lg text-muted-foreground",children:"Anything that speaks MCP Streamable HTTP can connect. These are the clients we've tested end-to-end."})]}),e.jsx("ul",{className:"grid gap-4 md:gap-5 grid-cols-2 md:grid-cols-3 lg:grid-cols-5 list-none",children:xe.map(t=>{const s=t.icon;return e.jsxs("li",{className:"flex flex-col items-center text-center rounded-2xl border border-border bg-card p-5 hover:border-pink-primary/40 transition-colors",children:[e.jsx("span",{className:"inline-flex items-center justify-center w-11 h-11 rounded-xl bg-pink-primary/10 text-pink-primary",children:e.jsx(s,{className:"w-5 h-5",strokeWidth:2})}),e.jsx("span",{className:"mt-4 font-medium text-foreground text-sm md:text-base",children:t.name}),e.jsx("span",{className:"mt-1 text-[11px] font-mono text-muted-foreground",children:t.caption})]},t.name)}
8)}),e.jsx("p",{className:"mt-10 text-center text-sm text-muted-foreground",children:"Any MCP-compatible client can connect."})]})})}const pe=[{q:"How does Glam connect to AI agents?",a:e.jsxs("p",{children:["Glam exposes a Model Context Protocol (MCP) endpoint at"," ",e.jsx("code",{className:"font-mono text-foreground",children:l}),". Once your agent has that URL configured, it can call our generation tools directly during a conversation. No glue code on your side."]})},{q:"Which agents are supported?",a:e.jsx("p",{children:`Anything that speaks MCP Streamable HTTP works. We've tested Claude Desktop, Claude Web, Claude Code, Cursor, and the official MCP Inspector. Other MCP clients should "just work" too.`})},{q:"Do I need an API key?",a:e.jsxs("p",{children:["No. The first time your agent calls"," ",e.jsx("code",{className:"font-mono text-foreground",children:l}),", it gets a 401 with a discovery hint and opens your browser to sign in. After consent, tokens are issued automatically and refreshed in the background. Programmatic API keys (for headless agents) are on the roadmap."]})},{q:"How does pricing work?",a:e.jsxs("p",{children:["Generations made over MCP use the same coin balance as the rest of glam.ai. Each model has its own price; your agent can call"," ",e.jsx("code",{className:"font-mono text-foreground",children:"account_balance"})," ","before kicking off a batch. If a job fails after coins were debited, the refund happens atomically and at most once."]})},{q:"How long does generation take?",a:e.jsxs("p",{children:["Images usually finish in seconds; videos can take longer depending on model and duration. Every generation tool accepts a"," ",e.jsx("code",{className:"font-mono text-foreground",children:"wait_seconds"})," ","parameter (1–300). Pass a value to block for the result, or pass"," ",e.jsx("code",{className:"font-mono text-foreground",children:"0"})," to receive a"," ",e.jsx("code",{className:"font-mono text-foreground",children:"job_id"})," and re-attach later via ",e.jsx("code",{className:"font-mono text-foreground",children:"check_job"}),"."]})},{q:"Can I use my previous generations?",a:e.jsxs("p",{children:["Yes. Call"," ",e.jsx("code",{className:"font-mono text-foreground",children:"list_my_jobs"})," to paginate through your MCP history; reference any returned media URL or prompt when starting a new generation. Multi-step iterative workflows are a first-class use case."]})}];function he(){return e.jsx("section",{className:"px-4 md:px-8 lg:px-16 py-16 md:py-24 border-t border-border/60",children:e.jsxs("div",{className:"mx-auto max-w-[760px]",children:[e.jsxs("div",{className:"text-center mb-10 md:mb-14",children:[e.jsx("span",{className:"inline-block text-xs uppercase tracking-[0.2em] font-medium text-foreground/60",children:"FAQ"}),e.jsx("h2",{className:"mt-3 text-3xl md:text-5xl font-medium tracking-[-0.02em] text-foreground",children:"Questions, answered"})]}),e.jsx(I,{type:"single",collapsible:!0,className:"w-full",children:pe.map((t,s)=>e.jsxs(R,{value:`item-${s}`,className:"border-border",children:[e.jsx(E,{className:"text-left text-base md:text-lg font-medium text-foreground py-5",children:t.q}),e.jsx(L,{className:"text-sm md:text-base text-muted-foreground leading-relaxed pb-5",children:t.a})]},t.q))})]})})}function w(){const t=new URLSearchParams(window.location.search);return t.get("utm_source")??t.get("ref")??"direct"}function fe(){const t=q(),s=n.useRef(!1),o=n.useRef(!1);n.useEffect(()=>{s.current||(s.current=!0,y.viewMcpPage({source:w()}))},[]),n.useEffect(()=>{o.current||!t||(o.current=!0,t.capture("mcp_page_viewed",{source:w()}))},[t])}function Me(){return fe(),e.jsxs(e.Fragment,{children:[e.jsx(oe,{}),e.jsx(ae,{}),e.jsx(de,{}),e.jsx(me,{}),e.jsx(ue,{}),e.jsx(he,{}),e.jsx(S,{})]})}export{Me as component};

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.