1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f0bf5e9e-e647-5a50-a3d7-8bbaf4cff3a6")}catch(e){}}(); 3import{j as e}from"./vendor-radix-DhHwA73V.js";import{r as a}from"./vendor-react-DRd396Ms.js";import{a2 as T,o,a3 as M,J as E,aJ as _,K as g,aI as L,ag as b,ah as O,a4 as U,cG as G,d9 as R}from"./index-B5YgnIrC.js";import{S as F}from"./swords-C57mSaLx.js";import{C as W}from"./copy-1j93rBeU.js";import"./vendor-query-CrHWxh73.js";import"./vendor-forms-FRbkMq_T.js";import"./vendor-classnames-B2rm_Apj.js";import"./vendor-motion-C9nHPH8-.js";import"./vendor-i18n-D-E_aly0.js";const d="https://mcp.aianyone.com/mcp",D=`claude mcp add --transport http aianyone ${d}`,q=[{icon:E,title:"Find someone worth asking",body:"Describe a subject and get a grid of real people to pick from, each with a portrait and a role."},{icon:_,title:"Speak as one of them",body:"Name a person and they arrive as a card, with a sourced account of how they actually spoke and what they knew in their own lifetime. The reply comes back in their voice."},{icon:F,title:"Stage a real argument",body:"Put two people on a question. Each turn, one speaker is privately given an aim the other never sees, so neither side is written by someone who can read the other's hand."}];function Z(){const[c,h]=a.useState(!1),[r,w]=a.useState(""),[m,j]=a.useState(""),[u,v]=a.useState(""),[i,p]=a.useState(!1),[C,N]=a.useState(!1),[x,l]=a.useState(null);a.useEffect(()=>{T({title:"MCP Server for Claude and ChatGPT | Talk to Anyone, AI Anyone",description:"A free MCP server that puts real people into Claude and ChatGPT. Ask Marcus Aurelius about burnout, or make two thinkers debate. No account, no API key. Add one URL.",keywords:"MCP server, Claude MCP connector, ChatGPT app, talk to historical figures AI, AI debate two characters, free MCP server no API key, Model Context Protocol server, Claude custom connector, AI roleplay MCP",canonical:"https://aianyone.com/mcp",jsonLd:{"@context":"https://schema.org","@graph":[{"@type":"SoftwareApplication",name:"AI Anyone MCP Server",applicationCategory:"DeveloperApplication",operatingSystem:"Any, runs inside Claude, ChatGPT or any MCP client",url:"https://aianyone.com/mcp",description:"A remote Model Context Protocol server that lets Claude and ChatGPT speak as thousands of real people, or stage a debate between two of them where neither side can see the other's aim.",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"},featureList:["Speak as a specific real person, with a sourced dossier","Browse people worth asking about a subject","Stage a two person debate with hidden, asymmetric aims"],publisher:{"@type":"Organization",name:"AI Anyone",url:"https://aianyone.com"}},{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is an MCP server?",acceptedAnswer:{"@type":"Answer",text:"MCP is the Model Context Protocol, an open standard that lets an AI assistant use an outside tool. An MCP server is that tool. You add it once by URL and the assistant can call it during a conversation. AI Anyone runs one at https://mcp.aianyone.com/mcp."}},{"@type":"Question",name:"How do I add an MCP server to Claude?",acceptedAnswer:{"@type":"Answer",text:"In Claude, open Settings, then Connectors, then Add custom connector, and paste the server URL. ChatGPT uses the same path under Settings and Connectors. AI Anyone needs no account, no API key and no OAuth, so pasting the URL is the whole setup."}},{"@type":"Question",name:"Is the AI Anyone MCP server free?",acceptedAnswer:{"@type":"Answer",text:"Yes. It is free, it has no account and no API key, and it never sees your conversation. It reads a public roster of characters and stores only a short lived debate session of its own."}},{"@type":"Question",name:"Can two AI characters debate each other?",acceptedAnswer:{"@type":"Answer",text:"Yes, and the debate is not one voice writing both sides. Each turn, the server privately hands one speaker a single aim the other side never sees, and decides who speaks next, so neither position can be written to lose. The exchange runs until it settles, up to eight turns."}}]}]}})},[]);const k=o("mcp_launch_interest"),A=o("mcp_launch_interest_failed"),I=o("mcp_email_capture_undelivered"),f=o("mcp_connector_url_copied");async function P(){try{await navigator.clipboard.writeText(d),f({outcome:"copied"}),h(!0),setTimeout(()=>h(!1),2e3)}catch{f({outcome:"blocked"})}}async function S(s){if(s.preventDefault(),i)return;const n=r.trim()===""?"":G(r);
3if(n===null){l(R);return}p(!0),l(null);const t=n;try{const y=await fetch("/api/mcp/launch-interest",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({host:m.trim()||void 0,note:u.trim()||void 0,leftEmail:t!==""})});if(!y.ok)throw new Error(`launch-interest ${y.status}`);t!==""&&await fetch("/api/contacts/capture",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:t,sourceUrl:"/mcp"})}).catch(()=>{I({email_domain:t.includes("@")?t.slice(t.lastIndexOf("@")+1):null,email_length:t.length})}),k({left_email:t!==""}),N(!0)}catch{A({left_email:t!==""}),l("That did not send. Try again in a moment, or email [email protected].")}finally{p(!1)}}return e.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[e.jsx(M,{}),e.jsx("main",{className:"chrome-pad-top pb-20 px-4",children:e.jsxs("div",{className:"mx-auto max-w-3xl",children:[e.jsxs("section",{className:"pt-4 pb-12",children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"For Claude and ChatGPT"}),e.jsx("h1",{className:"text-3xl sm:text-4xl font-semibold tracking-tight mb-4",children:"Talk to anyone, without leaving your assistant"}),e.jsx("p",{className:"text-base sm:text-lg text-muted-foreground leading-relaxed",children:"AI Anyone runs as a connector inside Claude and ChatGPT. Ask for a person and they arrive with their portrait and their own voice. Ask for two, and you can watch them argue it out properly."})]}),e.jsxs("section",{className:"pb-12",children:[e.jsx("h2",{className:"text-lg font-semibold mb-5",children:"What it does"}),e.jsx("div",{className:"space-y-5",children:q.map(({icon:s,title:n,body:t})=>e.jsxs("div",{className:"flex gap-4",children:[e.jsx(s,{className:"h-5 w-5 mt-0.5 shrink-0 text-muted-foreground","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1",children:n}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t})]})]},n))})]}),e.jsxs("section",{className:"pb-12",children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"You can add it right now"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"It is live. No account, no API key, nothing to install. Paste this into Claude under Settings, then Connectors, then Add custom connector. ChatGPT is the same path."}),e.jsxs("div",{className:"flex items-center gap-2 rounded-[8px] border border-border bg-muted/40 p-2 mb-3",children:[e.jsx("code",{className:"flex-1 px-2 text-[13px] font-mono break-all",children:d}),e.jsxs(g,{type:"button",variant:"secondary",size:"sm",onClick:P,"aria-label":"Copy the connector URL",children:[c?e.jsx(L,{className:"h-3.5 w-3.5"}):e.jsx(W,{className:"h-3.5 w-3.5"}),e.jsx("span",{className:"ml-1.5",children:c?"Copied":"Copy"})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-2",children:"In Claude Code it is one line in a terminal:"}),e.jsx("pre",{className:"rounded-[8px] border border-border bg-muted/40 px-4 py-3 mb-3 overflow-x-auto",children:e.jsx("code",{className:"text-[13px] font-mono select-all",children:D})}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Once connected, the quickest way in is the plus menu, then Connectors, then Add from AI Anyone. Full setup notes live at"," ",e.jsx("a",{href:"https://mcp.aianyone.com/docs",className:"underline underline-offset-2 hover:text-foreground",target:"_blank",rel:"noopener noreferrer",children:"mcp.aianyone.com/docs"}),"."]})]}),e.jsx("section",{className:"pb-12",children:e.jsxs("div",{className:"rounded-[8px] border border-border bg-muted/30 p-6 sm:p-7",children:[e.jsx("h2",{className:"text-lg font-semibold mb-3",children:"We are not sure we should finish this"}),e.jsxs("div",{className:"space-y-4 text-sm text-muted-foreground leading-relaxed",children:[e.jsx("p",{children:"Everything above is real. It is built, it is deployed, and it does what this page says. What we do not have is any evidence that people want it."}),e.jsx("p",{children:'Here is the number that stopped us. We installed the connector in a real Claude account and asked the kinds of questions it was built for, things like "what would Marcus Aurelius say about burnout". Claude answered every one of them by itself and never reached for the app. Not once, on two different models. Saying "use AI Anyone" out loud did not change it either.'}),e.jsx("p",{children:"That is not a bug on our end. It is how these connectors get discovered right now, which is to say mostly they do not. Someone has to already know the thing exists and go looking for it, and that describes very few people."}),e.jsx("p",{className:"text-foreground",children:"So rather than spend another month polishing something nobody asked for, we are asking first. If you would actually use this, tell us below. If enough people do, we will finish it properly: directory listings, the surfaces we skipped, and the features we cut. If nobody does, we will leave it running for whoever finds
3it and spend our time where it counts."}),e.jsx("p",{children:"Either way it stays up. Nothing here gets switched off because of this page."})]})]})}),e.jsxs("section",{className:"pb-16",children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"Ask us to keep going"}),C?e.jsxs("div",{className:"rounded-[8px] border border-border bg-muted/30 p-6",children:[e.jsx("p",{className:"font-medium mb-1.5",children:"Noted, thank you."}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your request is counted. If you left an email you will get one message asking you to confirm it, and after that we will only write when there is something real to say. In the meantime the connector above works today."})]}):e.jsxs("form",{noValidate:!0,onSubmit:S,className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No account needed. The email is optional and only used to tell you if this ships."}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-host",className:"block text-sm font-medium mb-1.5",children:["Where would you use it? ",e.jsx("span",{className:"text-muted-foreground font-normal",children:"(optional)"})]}),e.jsx(b,{id:"mcp-host",value:m,onChange:s=>j(s.target.value),placeholder:"Claude, ChatGPT, Cursor, something else",className:"h-11",maxLength:80})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-note",className:"block text-sm font-medium mb-1.5",children:["What would you want it to do?"," ",e.jsx("span",{className:"text-muted-foreground font-normal",children:"(optional)"})]}),e.jsx(O,{id:"mcp-note",value:u,onChange:s=>v(s.target.value),placeholder:"The more specific the better. This is the part we actually read.",maxLength:2e3,rows:3})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-email",className:"block text-sm font-medium mb-1.5",children:["Email ",e.jsx("span",{className:"text-muted-foreground font-normal",children:"(optional)"})]}),e.jsx(b,{id:"mcp-email",type:"text",inputMode:"email",autoCapitalize:"none",spellCheck:!1,value:r,onChange:s=>w(s.target.value),placeholder:"[email protected]",className:"h-11",maxLength:320,autoComplete:"email"})]}),x!==null&&e.jsx("p",{className:"text-sm text-destructive",role:"alert",children:x}),e.jsx(g,{type:"submit",size:"lg",disabled:i,children:i?"Sending":"Request launch"})]})]}),e.jsxs("section",{className:"pb-16 border-t border-border pt-10",children:[e.jsx("h2",{className:"text-lg font-semibold mb-6",children:"Common questions"}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1.5",children:"What is an MCP server?"}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["MCP is the Model Context Protocol, an open standard that lets an AI assistant use an outside tool. An MCP server is that tool. You add it once by URL and the assistant can call it mid conversation. AI Anyone runs one at"," ",e.jsx("code",{className:"text-xs font-mono",children:"mcp.aianyone.com/mcp"}),"."]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1.5",children:"How do I add it to Claude or ChatGPT?"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"In Claude: Settings, then Connectors, then Add custom connector, and paste the URL. ChatGPT uses the same path. There is no account, no API key and no OAuth, so pasting the URL is the whole setup."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1.5",children:"Is it free, and what can it see?"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Free, with no account and no API key. It never sees your conversation. It reads a public roster of characters and stores only a short lived debate session of its own. It handles no payment, health or identity data and has nowhere to put any."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1.5",children:"Can two characters really debate each other?"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Yes, and it is not one voice writing both sides. Each turn, the server privately hands one speaker a single aim the other never sees, and decides who speaks next, so neither position can be written to lose. It runs until it settles, up to eight turns, and
3you get the whole exchange as one transcript."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium mb-1.5",children:"Will it keep working if you do not finish it?"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Yes. The server is live and stays live regardless of what this page decides. What is on hold is the extra work: directory listings, the surfaces we skipped, and the features we cut."})]})]})]}),e.jsxs("section",{className:"border-t border-border pt-8",children:[e.jsx("h2",{className:"text-sm font-semibold mb-3",children:"For the technically curious"}),e.jsxs("ul",{className:"space-y-1.5 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["Remote MCP server over Streamable HTTP, protocol"," ",e.jsx("code",{className:"text-xs font-mono",children:"2025-06-18"}),". Works in anything that speaks MCP, not only Claude and ChatGPT."]}),e.jsx("li",{children:"No authentication, no account, and it never sees your conversation."}),e.jsxs("li",{children:["Four tools and three prompts."," ",e.jsx("a",{href:"https://mcp.aianyone.com/docs",className:"underline underline-offset-2 hover:text-foreground",target:"_blank",rel:"noopener noreferrer",children:"Documentation"}),", including exactly what data it does and does not handle."]}),e.jsxs("li",{children:["Questions go to"," ",e.jsx("a",{href:"mailto:[email protected]",className:"underline underline-offset-2 hover:text-foreground",children:"[email protected]"}),"."]})]})]})]})}),e.jsx(U,{})]})}export{Z as default}; 4 5//# debugId=f0bf5e9e-e647-5a50-a3d7-8bbaf4cff3a6
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.