PageSourceSearch

https://www.zerin.ai/install

html zerin.ai collected 2026-10-05 13:31:43 UTC 18,230 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/e07e937490c92bd4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/543e4c70171e425e.js"/>
1<script src="/_next/static/chunks/4b9218a8f7259489.js" async=""></script>
1<script src="/_next/static/chunks/51a8c7bc72f92c0c.js" async=""></script>
1<script src="/_next/static/chunks/ad06e69996478890.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-8daf34ee06e86e48.js" async=""></script>
1<script src="/_next/static/chunks/40033451ef1d01e8.js" async=""></script>
1<script src="/_next/static/chunks/83d01b638534dff9.js" async=""></script>
1<script src="/_next/static/chunks/ac45230106a14968.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Zerin - Todo App</title><meta name="description" content="A multi-tenant todo application"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen flex flex-col bg-black text-white"><header class="border-b border-white/20"><div class="max-w-4xl mx-auto px-4 py-4 flex items-center justify-between"><a class="text-xl font-mono font-bold tracking-tight hover:text-white/80" href="/">ZERIN</a><div class="flex items-center gap-4"><a class="text-sm text-white/70 hover:text-white font-mono" href="/install">Install</a><a class="text-sm text-white/70 hover:text-white font-mono" href="/troubleshooting">Help</a><a class="text-sm text-white/70 hover:text-white font-mono" href="/login">Sign in</a></div></div></header><main class="flex-1 max-w-4xl mx-auto px-4 py-12 w-full"><h1 class="text-4xl md:text-5xl font-mono font-black tracking-tighter mb-4">INSTALL</h1><p class="text-white/50 font-mono mb-4">Add Zerin to your MCP client in seconds.</p><p class="text-white/30 font-mono text-sm mb-12">Pick your tool below. You only need to set up one.</p><section class="mb-16"><div class="flex flex-wrap gap-2 mb-6"><button class="px-4 py-2 font-mono text-sm border transition-colors bg-white text-black border-white">Claude Code</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">Claude Desktop</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">Cursor</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">Windsurf</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">Zed</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">JetBrains</button><button class="px-4 py-2 font-mono text-sm border transition-colors bg-transparent text-white/70 border-white/20 hover:border-white/40 hover:text-white">ChatGPT</button></div><div class="bg-white/5 border border-white/20 p-6"><div><h3 class="text-xl font-mono font-bold mb-4">Claude Code</h3><p class="text-white/50 font-mono mb-4">Add to all projects (user scope):</p><div class="bg-black/50 border border-white/10 p-4 font-mono text-sm overflow-x-auto mb-4"><code class="text-green-400">$</code> <code>claude mcp add zerin --transport http <!-- -->https://zerin.xkenneth.workers.dev</code></div><p class="text-white/50 font-mono mb-4">Or add to current project only (project scope):</p><div class="bg-black/50 border border-white/10 p-4 font-mono text-sm overflow-x-auto"><code class="text-green-400">$</code> <code>claude mcp add zerin --transport http <!-- -->https://zerin.xkenneth.workers.dev<!-- --> --scope project</code></div><p class="text-white/30 font-mono text-sm mt-4">Project scope creates a <code class="text-white/50">.mcp.json</code> file you can commit to share with your team.</p></div></div></section><section class="mb-16 pt-8 border-t border-white/10"><div class="flex items-center gap-3 mb-4"><h2 class="text-2xl font-mono font-bold">API Key Auth</h2><span class="px-2 py-0.5 bg-white/10 text-white/70 text-xs font-mono rounded">Optional</span></div><p class="text-white/50 font-mono mb-4">Skip OAuth by using an API key. Create one on the<!-- --> <a class="text-white underline hover:text-white/80" href="/keys">API Keys page</a>, then add the header to your config.</p></section><section class="mb-16"><h2 class="text-2xl font-mono font-bold mb-4">Available Tools</h2><div class="grid grid-cols-1 md:grid-cols-2 gap-4"><div class="bg-white/5 border border-white/20 p-4"><code class="text-green-400 font-mono">list_todos</code><p class="text-white/50 font-mono text-sm mt-1">List all your todos</p></div><div class="bg-white/5 border border-white/20 p-4"><code class="text-green-400 font-mono">create_todo</code><p class="text-white/50 font-mono text-sm mt-1">Create a new todo</p></div><div class="bg-white/5 border border-white/20 p-4"><code class="text-green-400 font-mono">update_todo</code><p class="text-white/50 font-mono text-sm mt-1">Update an existing todo</p></div><div class="bg-white/5 border border-white/20 p-4"><code class="text-green-400 font-mono">delete_todo</code><p class="text-white/50 font-mono text-sm mt-1">Delete a todo</p></div></div></section><section class="mb-16"><h2 class="text-2xl font-mono font-bold mb-4">Usage</h2><p class="text-white/50 font-mono mb-4">Just ask naturally:</p><div class="space-y-2 font-mono text-sm"><div class="bg-white/5 border border-white/20 p-3">&quot;Show me my todos&quot;</div><div class="bg-white/5 border border-white/20 p-3">&quot;Add a todo to review the PR&quot;</div><div class="bg-white/5 border border-white/20 p-3">&quot;Mark the first todo as done&quot;</div></div></section><section class="mb-16"><h2 class="text-2xl font-mono font-bold mb-4">
1Having Issues?</h2><p class="text-white/50 font-mono mb-4">If you&#x27;re running into problems with authentication, connection, or errors:</p><a class="inline-block px-6 py-2 bg-white/10 border border-white/20 text-white font-mono hover:bg-white/20 transition-colors" href="/troubleshooting">View Troubleshooting Guide</a></section><div class="text-center pt-8 border-t border-white/20"><p class="text-white/50 font-mono mb-4">Ready to go?</p><a class="inline-block px-8 py-3 bg-white text-black font-mono font-bold hover:bg-white/90 transition-colors" href="/login">SIGN IN TO GET STARTED</a></div></main><footer class="border-t border-white/20 py-6"><div class="max-w-4xl mx-auto px-4 text-center text-white/30 text-sm font-mono">MCP-native todo management</div></footer></div><!--$--><!--/$-->
1<script src="/_next/static/chunks/543e4c70171e425e.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[31253,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"default\"]\n3:I[74358,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"default\"]\n5:I[66254,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[66254,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"ViewportBoundary\"]\na:I[66254,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"MetadataBoundary\"]\nc:I[46994,[],\"default\"]\nd:I[91475,[\"/_next/static/chunks/ac45230106a14968.js\"],\"\"]\ne:I[39401,[\"/_next/static/chunks/ac45230106a14968.js\"],\"InstallTabs\"]\n12:I[64926,[\"/_next/static/chunks/40033451ef1d01e8.js\",\"/_next/static/chunks/83d01b638534dff9.js\"],\"IconMark\"]\n:HL[\"/_next/static/chunks/e07e937490c92bd4.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.dbea232f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"qPIkknrnHKI64LY7dknFv\",\"c\":[\"\",\"install\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"install\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/e07e937490c92bd4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L4\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ac45230106a14968.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":false}\n"])</script>
1<script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"4:[\"$\",\"div\",null,{\"className\":\"min-h-screen flex flex-col bg-black text-white\",\"children\":[[\"$\",\"header\",null,{\"className\":\"border-b border-white/20\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-4xl mx-auto px-4 py-4 flex items-center justify-between\",\"children\":[[\"$\",\"$Ld\",null,{\"href\":\"/\",\"className\":\"text-xl font-mono font-bold tracking-tight hover:text-white/80\",\"children\":\"ZERIN\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"$Ld\",null,{\"href\":\"/install\",\"className\":\"text-sm text-white/70 hover:text-white font-mono\",\"children\":\"Install\"}],[\"$\",\"$Ld\",null,{\"href\":\"/troubleshooting\",\"className\":\"text-sm text-white/70 hover:text-white font-mono\",\"children\":\"Help\"}],[\"$\",\"$Ld\",null,{\"href\":\"/login\",\"className\":\"text-sm text-white/70 hover:text-white font-mono\",\"children\":\"Sign in\"}]]}]]}]}],[\"$\",\"main\",null,{\"className\":\"flex-1 max-w-4xl mx-auto px-4 py-12 w-full\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-4xl md:text-5xl font-mono font-black tracking-tighter mb-4\",\"children\":\"INSTALL\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono mb-4\",\"children\":\"Add Zerin to your MCP client in seconds.\"}],[\"$\",\"p\",null,{\"className\":\"text-white/30 font-mono text-sm mb-12\",\"children\":\"Pick your tool below. You only need to set up one.\"}],false,[\"$\",\"$Le\",null,{\"mcpUrl\":\"https://zerin.xkenneth.workers.dev\"}],[\"$\",\"section\",null,{\"className\":\"mb-16 pt-8 border-t border-white/10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 mb-4\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-mono font-bold\",\"children\":\"API Key Auth\"}],[\"$\",\"span\",null,{\"className\":\"px-2 py-0.5 bg-white/10 text-white/70 text-xs font-mono rounded\",\"children\":\"Optional\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono mb-4\",\"children\":[\"Skip OAuth by using an API key. Create one on the\",\" \",[\"$\",\"$Ld\",null,{\"href\":\"/keys\",\"className\":\"text-white underline hover:text-white/80\",\"children\":\"API Keys page\"}],\", then add the header to your config.\"]}]]}],[\"$\",\"section\",null,{\"className\":\"mb-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-mono font-bold mb-4\",\"children\":\"Available Tools\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-2 gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-4\",\"children\":[[\"$\",\"code\",null,{\"className\":\"text-green-400 font-mono\",\"children\":\"list_todos\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono text-sm mt-1\",\"children\":\"List all your todos\"}]]}],[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-4\",\"children\":[[\"$\",\"code\",null,{\"className\":\"text-green-400 font-mono\",\"children\":\"create_todo\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono text-sm mt-1\",\"children\":\"Create a new todo\"}]]}],[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-4\",\"children\":[[\"$\",\"code\",null,{\"className\":\"text-green-400 font-mono\",\"children\":\"update_todo\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono text-sm mt-1\",\"children\":\"Update an existing todo\"}]]}],[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-4\",\"children\":[[\"$\",\"code\",null,{\"className\":\"text-green-400 font-mono\",\"children\":\"delete_todo\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono text-sm mt-1\",\"children\":\"Delete a todo\"}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"mb-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-mono font-bold mb-4\",\"children\":\"Usage\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono mb-4\",\"children\":\"Just ask naturally:\"}],[\"$\",\"div\",null,{\"className\":\"space-y-2 font-mono text-sm\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-3\",\"children\":\"\\\"Show me my todos\\\"\"}],[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-3\",\"children\":\"\\\"Add a todo to review the PR\\\"\"}],[\"$\",\"div\",null,{\"className\":\"bg-white/5 border border-white/20 p-3\",\"children\":\"\\\"Mark the first todo as done\\\"\"}]]}]]}],[\"$\",\"section\",null,{\"className\":\"mb-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-mono font-bold mb-4\",\"children\":\"Having Issues?\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono mb-4\",\"children\":\"If you're running into problems with authentication, connection, or errors:\"}],\"$Lf\"]}],\"$L10\",null]}],\"$L11\"]}]\n"])</script>
1<script>self.__next_f.push([1,"7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Zerin - Todo App\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A multi-tenant todo application\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L12\",\"3\",{}]]\nf:[\"$\",\"$Ld\",null,{\"href\":\"/troubleshooting\",\"className\":\"inline-block px-6 py-2 bg-white/10 border border-white/20 text-white font-mono hover:bg-white/20 transition-colors\",\"children\":\"View Troubleshooting Guide\"}]\n10:[\"$\",\"div\",null,{\"className\":\"text-center pt-8 border-t border-white/20\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-white/50 font-mono mb-4\",\"children\":\"Ready to go?\"}],[\"$\",\"$Ld\",null,{\"href\":\"/login\",\"className\":\"inline-block px-8 py-3 bg-white text-black font-mono font-bold hover:bg-white/90 transition-colors\",\"children\":\"SIGN IN TO GET STARTED\"}]]}]\n11:[\"$\",\"footer\",null,{\"className\":\"border-t border-white/20 py-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-4xl mx-auto px-4 text-center text-white/30 text-sm font-mono\",\"children\":\"MCP-native todo management\"}]}]\n"])</script>
1</body></html>

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.