PageSourceSearch

https://founder-spark-63.lovable.app/assets/McpConnect-CKzojn-m.js

js founder-spark-63.lovable.app collected 2026-10-03 03:33:03 UTC 10,147 bytes, 1 lines download raw bytes

1import{j as e}from"./query-_koPiPsI.js";import{ay as y,aB as f,k as p,bj as j,B as s,A as m,C as n,o as c,p as l,q as d,n as r,aT as w,a1 as v}from"./index-Dq2zLArw.js";import{L as i,r as b}from"./react-vendor-h1rQ_Bae.js";import{C}from"./copy-BJMOZJfL.js";import"./ui-radix-CKwvnS8F.js";import"./supabase-DL6nu9mS.js";import"./charts-Xu79y1bN.js";import"./motion-nVmI7L5T.js";const h="https://thoughtforge.app",u="https://hzzvddioivvtwkjjqavq.supabase.co/functions/v1/mcp",N=[{name:"list_brands",what:"List the brands you track.",kind:"read"},{name:"run_brand_health",what:"Run the full scan: entity graph, adversarial matrix, RAG retrieval.",kind:"write"},{name:"get_brand_health",what:"Scores plus the ranked fixes for a brand.",kind:"read"},{name:"list_leakage_points",what:"Every place a model answers with a competitor instead of you.",kind:"read"},{name:"list_articles",what:"Your published posts and drafts.",kind:"read"},{name:"get_article_gaps",what:"What makes one article structurally uncitable.",kind:"read"},{name:"rewrite_article_for_geo",what:"Rewrite the prose so answer engines can lift it.",kind:"write"},{name:"generate_comparison_table",what:"Generate and append a comparison table.",kind:"write"},{name:"generate_faqs",what:"Generate and persist structured FAQs.",kind:"write"},{name:"schedule_linkedin_post",what:"Queue a post for publishing.",kind:"write"},{name:"draft_counter_content",what:"Briefs aimed straight at your leakage points.",kind:"write"}];function x({text:a}){const[o,t]=b.useState(!1);return e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"bg-muted rounded-md p-4 text-xs overflow-x-auto",children:e.jsx("code",{children:a})}),e.jsx(s,{size:"sm",variant:"ghost",className:"absolute top-2 right-2",onClick:()=>{navigator.clipboard.writeText(a),t(!0),setTimeout(()=>t(!1),1500)},children:o?e.jsx(v,{className:"w-3 h-3"}):e.jsx(C,{className:"w-3 h-3"})})]})}const g=[{q:"What is the ThoughtForge MCP server?",a:"It is a Model Context Protocol server that exposes ThoughtForge's AI-visibility loop as tools your assistant can call. Claude, ChatGPT, Cursor or any MCP client can scan a brand, read where AI answers drop it, and apply the content fix inside the conversation."},{q:"How is it different from other AI visibility MCP servers?",a:"Most of them are read-only reporting: they tell you that a model did not mention your brand. ThoughtForge's write tools rewrite the article, add the FAQ block and generate the comparison table, then save the change back to your content."},{q:"Do I need a paid plan?",a:"No, not to start. A new account gets one full Brand Health scan free, so you can see the real findings before paying. Applying fixes and re-scanning on a schedule are on the paid plans."},{q:"Is my data safe when an assistant is connected?",a:"The server uses OAuth 2.1 — you sign in to ThoughtForge and approve the client. Every tool call runs as your user under row-level security, so the assistant sees only your brands and your content, never anyone else's."},{q:"Can it change my content without asking?",a:"Write tools preview by default. Nothing is written to an article until you tell the assistant to apply it."},{q:"Which clients work?",a:"Anything that supports remote MCP servers over Streamable HTTP with OAuth — Claude (custom connectors), ChatGPT (developer mode connectors), Cursor and similar."}];function q(){const a={"@context":"https://schema.org","@type":"FAQPage",mainEntity:g.map(t=>({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))},o={"@context":"https://schema.org","@type":"SoftwareApplication",name:"ThoughtForge MCP Server",applicationCategory:"BusinessApplication",operatingSystem:"Any (MCP client)",url:`${h}/mcp`,description:"MCP server that scans how AI answer engines describe a brand and applies the content fixes from inside Claude or ChatGPT.",offers:{"@type":"Offer",price:"0",priceCurrency:"USD",description:"One free brand scan"}};return e.jsxs(e.Fragment,{children:[e.jsxs(y,{children:[e.jsx("title",{children:"ThoughtForge MCP — run AI visibility fixes from Claude or ChatGPT"}),e.jsx("meta",{name:"description",content:"Connect ThoughtForge to Claude, ChatGPT or Cursor over MCP. Scan a brand, find where AI search drops it, and rewrite the page — without leaving the chat. First scan free."}),e.jsx("link",{rel:"canonical",href:`${h}/mcp`}),e.jsx("meta",{property:"og:title",content:"ThoughtForge MCP — the fix runs inside the chat"}),e.jsx("meta",{property:"og:description",content:"Most AI-visibility tools report. This one executes the fix from your assistant. First scan free."}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:url",content:`${h}/mcp`}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(a)}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(o)})]}),e.jsx(f,{}),e.jsxs("main",{className:"max-w-3xl mx-auto px-4 md:px-6 py-12 space-y-12",children:[e.jsxs("header",{className:"space-y-3",children:[e.jsxs(p,{variant:"secondary",className:"uppercase text-[10px]",children:[e.jsx(j,{className:"w-3 h-3 mr-1 inline"})," MCP server"]}),e.jsx("h1",{className:"text-4xl font-bold tracking-tight",children:"Run ThoughtForge from your assistant"}),e.jsx("p",{className:"text-lg text-muted-foreground",children:"Point Claude, ChatGPT or Cursor at ThoughtForge and ask it to scan a brand. It comes back with where the models drop you — and it can rewrite the page that lost the answer."}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Other AI-visibility tools exp
1ose read-only reporting over MCP. This one runs the fix."}),e.jsxs("div",{className:"flex flex-wrap gap-2 pt-2",children:[e.jsx(s,{asChild:!0,children:e.jsxs(i,{to:"/auth?tab=signup",children:["Get your free scan ",e.jsx(m,{className:"w-4 h-4 ml-1"})]})}),e.jsx(s,{variant:"outline",asChild:!0,children:e.jsx(i,{to:"/case-studies",children:"See a real run"})})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"One full Brand Health scan is free on a new account. Applying fixes and scheduled re-scans are on the paid plans."})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"Connect"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Add the server URL in your client's connector settings. You will be sent to ThoughtForge to sign in and approve access — the assistant then acts as you, with the same permissions you have in the app."}),e.jsx(x,{text:u}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs(n,{children:[e.jsxs(c,{className:"pb-2",children:[e.jsx(l,{className:"text-base",children:"Claude"}),e.jsx(d,{children:"Settings → Connectors → Add custom connector"})]}),e.jsx(r,{className:"text-sm text-muted-foreground space-y-1",children:e.jsx("p",{children:"Paste the URL above. Leave authentication on “always required” and let it register a client automatically. Transport: Streamable HTTP."})})]}),e.jsxs(n,{children:[e.jsxs(c,{className:"pb-2",children:[e.jsx(l,{className:"text-base",children:"ChatGPT"}),e.jsx(d,{children:"Settings → Connectors → Advanced → Developer mode"})]}),e.jsx(r,{className:"text-sm text-muted-foreground space-y-1",children:e.jsx("p",{children:"Add the same URL as a custom connector, sign in when prompted, then approve the tools you want available in the chat."})})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"For clients that take a JSON config:"}),e.jsx(x,{text:JSON.stringify({mcpServers:{thoughtforge:{url:u}}},null,2)})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"What it can do"}),e.jsx("div",{className:"grid gap-2",children:N.map(t=>e.jsx(n,{children:e.jsxs(r,{className:"py-3 flex items-start gap-3",children:[e.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded shrink-0",children:t.name}),e.jsx("span",{className:"text-sm text-muted-foreground flex-1",children:t.what}),e.jsx(p,{variant:t.kind==="write"?"default":"outline",className:"text-[10px]",children:t.kind})]})},t.name))}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Write tools preview by default. Nothing is applied to your content until you approve it in the chat."})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"A first session"}),e.jsxs(n,{children:[e.jsxs(c,{children:[e.jsx(l,{className:"text-base",children:"Say this"}),e.jsx(d,{children:"Straight from a cold start."})]}),e.jsxs(r,{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsx("p",{children:"“Scan example.com with ThoughtForge and tell me where I'm losing.”"}),e.jsx("p",{children:"“Which article is causing that leak?”"}),e.jsx("p",{children:"“Rewrite it for citability and add a comparison table — show me first.”"})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"Questions"}),e.jsx("div",{className:"space-y-4",children:g.map(t=>e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-sm font-medium",children:t.q}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.a})]},t.q))})]}),e.jsxs("section",{className:"space-y-3 border-t pt-8",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"You need an account"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"The server is scoped per user — it only ever sees your brands and your content. Your first full scan is free."}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsx(s,{asChild:!0,children:e.jsxs(i,{to:"/auth?tab=signup",children:["Create an account ",e.jsx(m,{className:"w-4 h-4 ml-1"})]})}),e.jsx(s,{variant:"outline",asChild:!0,children:e.jsx(i,{to:"/playbook",children:"Read the GEO playbook"})})]})]})]}),e.jsx(w,{})]})}
1export{q as default};

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.