1<!DOCTYPE html><!--cYkgfLY85HtLIg7uvi_ei--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/ebfa539a07710f1b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/66a8c16702b8a250.js"/>
1<script src="/_next/static/chunks/c730eb9622826045.js" async=""></script>
1<script src="/_next/static/chunks/744446f4970b53a4.js" async=""></script>
1<script src="/_next/static/chunks/54ac4bc132fe569c.js" async=""></script>
1<script src="/_next/static/chunks/82abf2d65f5428ae.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-c5c791c8d2d8c748.js" async=""></script>
1<script src="/_next/static/chunks/f4ed3580d77e180f.js" async=""></script>
1<script src="/_next/static/chunks/737168dcb6dff572.js" async=""></script>
1<script src="/_next/static/chunks/573abc75950c9ee3.js" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script>
1<script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script>
1<script src="/_next/static/chunks/67cfa04d1c87fafe.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-N11V5XRRNB" as="script"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><meta name="next-size-adjust" content=""/><title>MCP Server Documentation - Solem</title><meta name="description" content="Connect AI agents like Claude, Cursor, and OpenClaw to your Solem knowledge base via MCP. Full setup guide, tools reference, and best practices."/><meta name="keywords" content="AI knowledge base, MCP server, AI context, agent collaboration, Claude, Cursor, ChatGPT, web clipper, personal search engine, AI memory layer, context portability"/><link rel="canonical" href="https://www.solem.ai/docs/mcp"/><meta property="og:title" content="MCP Server Documentation - Solem"/><meta property="og:description" content="Give your AI agents access to your personal knowledge base. Setup guide, 6 tools, and agent best practices."/><meta property="og:url" content="https://www.solem.ai/docs/mcp"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@NicTouron"/><meta name="twitter:title" content="Solem - The shared knowledge base for humans and AI agents"/><meta name="twitter:description" content="Save web pages. Both you and your AI agents curate, search, and build on them - together. One knowledge base. Every tool."/><link rel="icon" href="/favicon.ico?favicon.97815d6e.ico" sizes="48x48" type="image/x-icon"/>
1<script>(self.__next_s=self.__next_s||[]).push([0,{"children":"\n (function() {\n try {\n if (sessionStorage.getItem('solem_landing_url')) return;\n var url = window.location.href;\n sessionStorage.setItem('solem_landing_url', url);\n var p = new URLSearchParams(window.location.search);\n sessionStorage.setItem('solem_utms', JSON.stringify({\n utm_source: p.get('utm_source') || '',\n utm_medium: p.get('utm_medium') || '',\n utm_campaign: p.get('utm_campaign') || '',\n utm_content: p.get('utm_content') || '',\n utm_term: p.get('utm_term') || ''\n }));\n } catch(e) {}\n })();\n ","id":"utm-capture"}])</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="inter_9e32615b-module__tlusTq__className antialiased"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><nav class="fixed top-0 left-0 right-0 z-50"><div class="mx-auto transition-all duration-500 ease-[cubic-bezier(0.16,1,0.3,1)]" style="max-width:72rem;padding:1.25rem 1.5rem 0"><div class="overflow-hidden" style="border-radius:0.125rem;border:1px solid transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease"><div class="flex items-center justify-between transition-all duration-500" style="padding:0.375rem 0.375rem 0.375rem 1rem;gap:1rem"><a href="/" class="flex items-center gap-2 shrink-0"><img alt="Solem" loading="lazy" width="28" height="28" decoding="async" data-nimg="1" class="transition-all duration-300" style="color:transparent" src="/logo-brand.svg"/><span class="font-light tracking-tighter text-[17px] transition-colors duration-300 text-neutral-900">Solem</span></a><div class="hidden md:flex items-center" style="gap:0.125rem"><div><button class="text-[14px] font-normal rounded-sm transition-all duration-200 py-1.5 px-3 whitespace-nowrap inline-flex items-center gap-1 text-neutral-700 hover:text-neutral-900 hover:bg-black/[0.05]">For Humans<svg width="10" height="10" viewBox="0 0 10 10" fill="none" class="opacity-40 mt-px"><path d="M2.5 4L5 6.5L7.5 4" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><div><button class="text-[14px] font-normal rounded-sm transition-all duration-200 py-1.5 px-3 whitespace-nowrap inline-flex items-center gap-1 text-neutral-700 hover:text-neutral-900 hover:bg-black/[0.05]">For Agents<svg width="10" height="10" viewBox="0 0 10 10" fill="none" class="opacity-40 mt-px"><path d="M2.5 4L5 6.5L7.5 4" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><a href="/manifesto" class="text-[14px] font-normal rounded-sm transition-all duration-200 py-1.5 px-3 whitespace-nowrap text-neutral-700 hover:text-neutral-900 hover:bg-black/[0.05]">Manifesto</a><a href="/#pricing" class="text-[14px] font-normal rounded-sm transition-all duration-200 py-1.5 px-3 whitespace-nowrap text-neutral-700 hover:text-neutral-900 hover:bg-black/[0.05]">Pricing</a></div><div class="flex items-center shrink-0 transition-all duration-500" style="gap:0.5rem"><a href="https://app.solem.ai/?utm_source=solem_marketing&utm_medium=cta_navbar&utm_campaign=launch_v1&utm_content=navbar_signin" class="text-[14px] font-normal rounded-sm transition-all duration-200 py-1.5 px-3 whitespace-nowrap cursor-pointer text-neutral-700 hover:text-neutral-900 hover:bg-black/[0.05]">Sign in</a><a href="https://app.solem.ai/?utm_source=solem_marketing&utm_medium=cta_navbar&utm_campaign=launch_v1&utm_content=navbar_get_started" class="text-[14px] font-medium text-white rounded-sm transition-all duration-300 py-2 px-4 whitespace-nowrap cursor-pointer bg-blue-600 hover:bg-blue-700">Get started</a></div></div><div style="max-height:0;opacity:0;overflow:hidden;transition:max-height 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease"></div></div></div></nav><main class="min-h-screen bg-white pt-32 pb-24"><div class="mx-auto max-w-6xl px-6"><a class="mb-8 inline-flex items-center gap-1 text-sm text-neutral-400 transition-colors hover:text-neutral-900" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256"><path d="M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"></path></svg>Back to Docs</a><h1 class="text-2xl font-light tracking-tight text-neutral-900">MCP Server</h1><p class="mt-2 text-base font-light text-neutral-600/80">Give your AI agents access to your personal knowledge base.</p><div class="mt-4 flex flex-wrap gap-2"><span class="inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs font-mono text-neutral-600">https://mcp.solem.ai/mcp</span><span class="inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600">Streamable HTTP</span><span class="inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600">Bearer Auth</span><span class="inline-flex items-center rounded-full bg-blue-50 border border-blue-200 px-3 py-1 text-xs font-medium text-blue-700">Unlimited on Pro</span></div><div class="mt-8 rounded-sm border border-orange-200 bg-gradient-to-br from-orange-50/60 to-white p-6"><p class="text-[11px] font-semibold tracking-wider text-orange-600 uppercase mb-2">Your model, our corpus</p><p class="text-base font-medium text-neutral-900 leading-snug">Bring your own model. We deliver the corpus.</p><p class="mt-3 text-sm text-neutral-600 leading-relaxed">Solem's in-app chat uses a fast model (Gemini Flash Lite) tuned for sub-second retrieval â perfect for âwhat did I save about X?â questions. When you need depth, plug Solem into Claude Desktop, Cursor, OpenClaw, or any MCP-compatible client. Your agent does the reasoning with whatever model you've already paid for â Claude Opus, GPT-5, Gemini Ultra, or your local model. We don't charge for the inference, because we never see it. <strong>Best model for each job.</strong></p></div><div class="mt-10 lg:grid lg:grid-cols-[200px_minmax(0,1fr)] lg:gap-12"><aside class="hidden lg:block"><nav class="sticky top-28"><p class="mb-2 px-3 text-xs font-medium uppercase tracking-wider text-neutral-400">On this page</p><ul class="space-y-0.5 text-sm"><li><a href="#getting-your-api-key" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">API Key</a></li><li><a href="#connecting-your-agent" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">Connect</a></li><li><a href="#tools-reference" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">Tools</a></li><li><a href="#workflows" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">Best Practices</a></li><li><a href="#rate-limits" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">Rate Limits</a></li><li><a href="#errors" class="block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900">Error Handling</a></li></ul></nav></aside><div><section class="mt-16"><h2 id="getting-your-api-key" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Getting Your API Key</h2><p class="mt-4 text-neutral-600">Before an agent can access your knowledge base, you need to create an API key.</p><div class="mt-6 rounded-sm border border-neutral-200 bg-neutral-50 p-6"><ol class="list-decimal space-y-2 pl-5 text-sm text-neutral-700"><li>Sign in at<!-- --> <a href="https://app.solem.ai/settings?utm_source=solem_marketing&utm_medium=section_inline&utm_campaign=launch_v1&utm_content=docs_mcp_api_keys" class="font-medium text-neutral-900 underline decoration-neutral-300 hover:decoration-neutral-900">app.solem.ai/settings</a></li><li>Under <strong>API Keys</strong>, click<!-- --> <strong>Create API Key</strong></li><li>Give it a name (e.g. âClaude Desktopâ, âCursorâ, âOpenClawâ)</li><li><strong>Copy the key immediately</strong> â itâs only shown once</li></ol></div><p class="mt-4 text-sm text-neutral-400">Keys look like<!-- --> <code class="rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600">sk_solem_a1b2c3d4e5...</code> <!-- -->· Max 5 active keys · Revoke unused keys from Settings</p></section><section class="mt-16"><h2 id="connecting-your-agent" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Connecting Your Agent</h2><div class="mt-6 space-y-8"><div><h3 class="mb-2 font-semibold text-neutral-900">Claude Desktop / Cursor</h3><div class="relative group"><pre class="rounded-sm bg-neutral-950 p-4 overflow-x-auto text-sm font-mono leading-relaxed text-neutral-200"><code>{ 2 "mcpServers": { 3 "solem": { 4 "command": "
4npx", 5 "args": [ 6 "-y", "mcp-remote", 7 "https://mcp.solem.ai/mcp", 8 "--header", 9 "Authorization: Bearer YOUR_API_KEY" 10 ] 11 } 12 } 13}</code></pre><button class="absolute top-3 right-3 rounded-sm bg-neutral-800 p-1.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-neutral-700" title="Copy to clipboard"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" class="text-neutral-400"><path d="M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"></path></svg></button></div></div><div><h3 class="mb-2 font-semibold text-neutral-900">Claude Code</h3><div class="relative group"><pre class="rounded-sm bg-neutral-950 p-4 overflow-x-auto text-sm font-mono leading-relaxed text-neutral-200"><code>claude mcp add solem -- npx -y mcp-remote https://mcp.solem.ai/mcp --header "Authorization: Bearer YOUR_API_KEY"</code></pre><button class="absolute top-3 right-3 rounded-sm bg-neutral-800 p-1.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-neutral-700" title="Copy to clipboard"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" class="text-neutral-400"><path d="M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"></path></svg></button></div></div><div><h3 class="mb-2 font-semibold text-neutral-900">OpenClaw</h3><div class="relative group"><pre class="rounded-sm bg-neutral-950 p-4 overflow-x-auto text-sm font-mono leading-relaxed text-neutral-200"><code>{ 14 "mcpServers": { 15 "solem": { 16 "url": "https://mcp.solem.ai/mcp", 17 "headers": { 18 "Authorization": "Bearer YOUR_API_KEY" 19 } 20 } 21 } 22}</code></pre><button class="absolute top-3 right-3 rounded-sm bg-neutral-800 p-1.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-neutral-700" title="Copy to clipboard"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" class="text-neutral-400"><path d="M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"></path></svg></button></div></div><div><h3 class="mb-2 font-semibold text-neutral-900">Any MCP-compatible agent</h3><p class="text-sm text-neutral-500">POST to<!-- --> <code class="rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600">https://mcp.solem.ai/mcp</code> <!-- -->with header<!-- --> <code class="rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600">Authorization: Bearer sk_solem_...</code> <!-- -->· Streamable HTTP · Stateless</p></div></div></section><section class="mt-16"><h2 id="tools-reference" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Tools Reference</h2><div class="mt-10"><h3 id="search" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">search</h3><p class="mt-2 text-neutral-600">Search saved pages by keyword. Full-text search across titles, descriptions, notes, and content.</p><p class="mt-2 text-sm text-neutral-500"><strong>When to use:</strong> The user asks about something theyâve read, saved, or bookmarked.</p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">query</td><td class="py-2 pr-4 text-sm text-neutral-500">string</td><td class="py-2 pr-4 text-sm">â </td><td class="py-2 text-sm text-neutral-600">Search keywords</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">limit</td><td class="py-2 pr-4 text-sm text-neutral-500">number</td><td class="py-2 pr-4 text-sm">Default: 10</td><td class="py-2 text-sm text-neutral-600">Max results (1â50)</td></tr></tbody></table></div></div><div class="mt-4"><div class="relative group"><pre class="rounded-sm bg-neutral-950 p-4 overflow-x-auto text-sm font-mono leading-relaxed text-neutral-200"><code>// Returns 23[{ 24 "id": "uuid", 25 "title": "Page Title", 26 "url": "https://example.com/article", 27 "snippet": "...matching text excerpt...", 28 "notes_preview": "User's notes...", 29 "created_at": "2026-03-05T10:30:00Z", 30 "site_name": "Example Blog" 31}]</code></pre><button class="absolute top-3 right-3 rounded-sm bg-neutral-800 p-1.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-neutral-700" title="Copy to clipboard"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" class="text-neutral-400">
31<path d="M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"></path></svg></button></div></div></div><div class="mt-12"><h3 id="list_recent" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">list_recent</h3><p class="mt-2 text-neutral-600">List most recently saved pages, newest first.</p><p class="mt-2 text-sm text-neutral-500"><strong>When to use:</strong> âWhat did I save recently?â, browsing without a specific query.</p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">limit</td><td class="py-2 pr-4 text-sm text-neutral-500">number</td><td class="py-2 pr-4 text-sm">Default: 10</td><td class="py-2 text-sm text-neutral-600">Number of pages (1â50)</td></tr></tbody></table></div></div></div><div class="mt-12"><h3 id="get" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">get</h3><p class="mt-2 text-neutral-600">Retrieve the <strong>full content</strong> of a saved page by UUID.</p><p class="mt-2 text-sm text-neutral-500"><strong>When to use:</strong> After finding a page via search/list_recent, read its full text to answer questions.</p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">id</td><td class="py-2 pr-4 text-sm text-neutral-500">string (UUID)</td><td class="py-2 pr-4 text-sm">â </td><td class="py-2 text-sm text-neutral-600">Page UUID from search/list results</td></tr></tbody></table></div></div><div class="mt-4"><div class="relative group"><pre class="rounded-sm bg-neutral-950 p-4 overflow-x-auto text-sm font-mono leading-relaxed text-neutral-200"><code>// Returns 32{ 33 "id": "uuid", 34 "title": "Page Title", 35 "url": "https://example.com/article", 36 "content": "Full extracted text...", 37 "description": "Meta description", 38 "notes": "User's personal notes", 39 "created_at": "2026-03-05T10:30:00Z", 40 "published_at": "2026-03-01T08:00:00Z", 41 "site_name": "Example Blog", 42 "author": "Jane Doe", 43 "type": "article", 44 "canonical_url": "https://example.com/article", 45 "check_later": false 46}</code></pre><button class="absolute top-3 right-3 rounded-sm bg-neutral-800 p-1.5 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-neutral-700" title="Copy to clipboard"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" class="text-neutral-400"><path d="M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z"></path></svg></button></div></div></div><div class="mt-12"><h3 id="save" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">save</h3><p class="mt-2 text-neutral-600">Save a new URL. Fetches the page, extracts metadata and content, stores everything.</p><p class="mt-2 text-sm text-neutral-500"><strong>When to use:</strong> User shares a URL to bookmark.<!-- --> <em>Always confirm before saving.</em></p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">url</td><td class="py-2 pr-4 text-sm text-neutral-500">string (URL)</td><td class="py-2 pr-4 text-sm">â </td><td class="py-2 text-sm text-neutral-600">URL to save</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">notes</td><td class="py-2 pr-4 text-sm text-neutral-500">string</td><td class="py-2 pr-4 text-sm">â</td><td class="py-2 text-sm text-neutral-600">Optional notes to attach</td></tr></tbody></table></div></div></div><div class="mt-12"><h3 id="update" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">update</h3><p class="mt-2 text-neutral-600">Update fields on an existing saved page. Supports partial updates, note appending, and optimistic concurrency.</p><p class="mt-2 text-sm text-neutral-500"><strong>When to use:</strong> Edit notes, fix titles, add annotations, enrich a page with analysis.</p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">id</td><td class="py-2 pr-4 text-sm text-neutral-500">string (UUID)</td><td class="py-2 pr-4 text-sm">â </td><td class="py-2 text-sm text-neutral-600">Page UUID</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">set</td><td class="py-2 pr-4 text-sm text-neutral-500">object</td><td class="py-2 pr-4 text-sm">â</td><td class="py-2 text-sm text-neutral-600">Fields to overwrite (see below)</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">append_notes</td><td class="py-2 pr-4 text-sm text-neutral-500">string</td><td class="py-2 pr-4 text-sm">â</td><td class="py-2 text-sm text-neutral-600">Text to append to notes (blank line separator)</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">
46expected_version</td><td class="py-2 pr-4 text-sm text-neutral-500">number</td><td class="py-2 pr-4 text-sm">â</td><td class="py-2 text-sm text-neutral-600">Optimistic lock: update only if version matches</td></tr></tbody></table></div></div><p class="mt-3 text-sm text-neutral-500">At least one of<!-- --> <code class="rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs">set</code> <!-- -->or<!-- --> <code class="rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs">append_notes</code> <!-- -->is required.</p><div class="mt-6 overflow-x-auto"><p class="mb-2 text-sm font-medium text-neutral-700">Editable fields in<!-- --> <code class="rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs">set</code>:</p><table class="w-full text-left text-sm"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Field</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Max Length</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">title</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">500</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">description</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">5,000</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">notes</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">50,000</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">content</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">250,000</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">check_later</td><td class="py-1.5 pr-4 text-neutral-500">boolean</td><td class="py-1.5 text-neutral-500">â</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">published_at</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">ISO 8601</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">canonical_url</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">http/https URL</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">site_name</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">â</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">author</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">â</td></tr><tr class="border-b border-neutral-100"><td class="py-1.5 pr-4 font-mono text-sm text-neutral-900">type</td><td class="py-1.5 pr-4 text-neutral-500">string | null</td><td class="py-1.5 text-neutral-500">â</td></tr></tbody></table></div><div class="mt-6 space-y-2 rounded-sm border border-neutral-200 bg-neutral-50 p-5 text-sm text-neutral-600"><p><strong>append_notes:</strong> If notes exist, appends with a blank-line separator. If no notes, sets directly.</p><p><strong>expected_version:</strong> Pass the pageâs current<!-- --> <code class="rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs">version</code> <!-- -->to prevent overwriting concurrent edits. Mismatch â conflict error.</p></div></div><div class="mt-12"><h3 id="delete" class="scroll-mt-24 text-lg font-medium text-neutral-900 font-mono">delete</h3><p class="mt-2 text-neutral-600">Permanently delete a saved page.<!-- --> <strong>Always confirm with the user first.</strong></p><div class="mt-4"><div class="overflow-x-auto"><table class="w-full text-left"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Parameter</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Type</th><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Required</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Description</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-sm text-neutral-900">id</td><td class="py-2 pr-4 text-sm text-neutral-500">string (UUID)</td><td class="py-2 pr-4 text-sm">â
</td><td class="py-2 text-sm text-neutral-600">Page UUID</td></tr></tbody></table></div></div></div></section><section class="mt-16"><h2 id="workflows" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Workflows & Best Practices</h2><div class="mt-6 space-y-5"><div class="rounded-sm border border-neutral-200 bg-neutral-50 p-5"><h3 class="mb-2 font-semibold text-neutral-900">Answering questions about saved content</h3><ol class="list-decimal space-y-1 pl-5 text-sm text-neutral-600">
46<li>search with relevant keywords â get matching page IDs</li><li>get the most relevant pages â read full content</li><li>Synthesize an answer citing the source pages (title + URL)</li></ol></div><div class="rounded-sm border border-neutral-200 bg-neutral-50 p-5"><h3 class="mb-2 font-semibold text-neutral-900">Saving a page</h3><ol class="list-decimal space-y-1 pl-5 text-sm text-neutral-600"><li>User shares a URL</li><li>Confirm: "Want me to save this to your Solem library?"</li><li>save with optional notes</li></ol></div><div class="rounded-sm border border-neutral-200 bg-neutral-50 p-5"><h3 class="mb-2 font-semibold text-neutral-900">Adding research notes</h3><ol class="list-decimal space-y-1 pl-5 text-sm text-neutral-600"><li>search or list_recent to find the page</li><li>get to read current notes</li><li>update with append_notes â never overwrite without asking</li></ol></div><div class="rounded-sm border border-neutral-200 bg-neutral-50 p-5"><h3 class="mb-3 font-semibold text-neutral-900">Agent guidelines</h3><ul class="space-y-1.5 text-sm text-neutral-600"><li>ð <strong>Read before write</strong> â always search/get before update/delete</li><li>â
<strong>Confirm before mutating</strong> â ask before save, destructive updates, or delete</li><li>ð <strong>Cite sources</strong> â mention page title and URL when answering</li><li>ð¯ <strong>Be efficient</strong> â use search with good keywords rather than listing everything</li><li>ð <strong>Respect privacy</strong> â the knowledge base is personal</li></ul></div></div></section><section class="mt-16"><h2 id="rate-limits" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Rate Limits</h2><div class="mt-4 overflow-x-auto"><table class="w-full text-left text-sm"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Scope</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">Limit</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 text-neutral-700">Per API key</td><td class="py-2 text-neutral-600">100 requests / minute</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 text-neutral-700">Global (all keys)</td><td class="py-2 text-neutral-600">1,000 requests / minute</td></tr></tbody></table></div></section><section class="mt-16"><h2 id="errors" class="scroll-mt-24 text-xl font-light tracking-tight text-neutral-900">Error Handling</h2><div class="mt-4 overflow-x-auto"><table class="w-full text-left text-sm"><thead><tr class="border-b border-neutral-200"><th class="py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400">Error</th><th class="py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400">What to do</th></tr></thead><tbody><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">Page not found or not accessible</td><td class="py-2 text-neutral-500">Check UUID from search/list results</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">No pages found matching "..."</td><td class="py-2 text-neutral-500">Try different keywords</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">Conflict: expected_version mismatch</td><td class="py-2 text-neutral-500">Re-read page, get new version, retry</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">At least one mutation is required</td><td class="py-2 text-neutral-500">Include set or append_notes in update</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">Unknown fields in set</td><td class="py-2 text-neutral-500">Only use documented editable fields</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">429 Too Many Requests</td><td class="py-2 text-neutral-500">Wait a few seconds and retry</td></tr><tr class="border-b border-neutral-100"><td class="py-2 pr-4 font-mono text-xs text-neutral-700">401 Unauthorized</td><td class="py-2 text-neutral-500">Check API key is correct and not revoked</td></tr></tbody></table></div></section><div class="mt-16 border-t border-neutral-200 pt-6 text-sm text-neutral-400"><p>Server:<!-- --> <code class="rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-500">solem v1.0.0</code> <!-- -->· Transport: Streamable HTTP · Health:<!-- --> <code class="rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-500">GET https://mcp.solem.ai/health</code></p></div></div></div></div></main><!--$--><!--/$--><footer class="relative overflow-hidden" style="--footer-fade:white"><div class="absolute inset-0"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=%2Focean-footer.jpg&w=640&q=75 640w, /_next/image?url=%2Focean-footer.jpg&w=828&q=75 828w, /_next/image?url=%2Focean-footer.jpg&w=1080&q=75 1080w, /_next/image?url=%2Focean-footer.jpg&w=1200&q=75 1200w, /_next/image?url=%2Focean-footer.jpg&w=1920&q=75 1920w, /_next/image?url=%2Focean-footer.jpg&w=2048&q=75 2048w" src="/_next/image?url=%2Focean-footer.jpg&w=2048&q=75"/></div><div class="absolute inset-x-0 top-0 h-40" style="background:linear-gradient(to bottom, var(--footer-fade) 0%, color-mix(in srgb, var(--footer-fade) 60%, transparent) 50%, transparent 100%)"></div><div class="relative z-10"><div class="mx-auto max-w-6xl px-6 pt-32 pb-12"><div class="rounded-sm border border-white/30 bg-white/50 backdrop-blur-xl px-5 py-4 md:px-6 md:py-5"><div class="grid grid-cols-2 md:grid-cols-4 gap-6 mb-4"><div>
46<h4 class="text-sm font-medium text-neutral-900 mb-3">Product</h4><ul class="space-y-0.5"><li><a href="/#how-it-works" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Features</a></li><li><a href="/#pricing" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Pricing</a></li><li><a href="/#for-agents" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">For Agents</a></li><li><a href="/#portable" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Portable</a></li></ul></div><div><h4 class="text-sm font-medium text-neutral-900 mb-3">Company</h4><ul class="space-y-0.5"><li><a href="/about" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">About</a></li><li><a href="/manifesto" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Manifesto</a></li><li><a href="/privacy" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Privacy</a></li><li><a href="/terms" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Terms</a></li><li><a href="/refund" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Refund policy</a></li></ul></div><div><h4 class="text-sm font-medium text-neutral-900 mb-3">Resources</h4><ul class="space-y-0.5"><li><a href="/docs" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Docs</a></li><li><a href="/blog" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Blog</a></li><li><a href="/changelog" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">Changelog</a></li><li><a href="/feed.xml" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">RSS Feed</a></li></ul></div><div><h4 class="text-sm font-medium text-neutral-900 mb-3">Connect</h4><ul class="space-y-0.5"><li><a href="mailto:[email protected]" class="text-sm text-neutral-600 hover:text-neutral-900 hover:bg-black/[0.04] rounded-sm px-2 py-1 -mx-2 inline-block transition-all duration-150">[email protected]</a></li></ul><div class="flex gap-3 mt-4"><a href="https://x.com/NicTouron" class="text-neutral-500 hover:text-neutral-800 transition-colors" target="_blank" rel="noopener noreferrer"><span class="sr-only">X</span><svg fill="currentColor" viewBox="0 0 24 24" class="size-5"><path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z"></path></svg></a><a href="https://github.com/TNEP4" class="text-neutral-500 hover:text-neutral-800 transition-colors" target="_blank" rel="noopener noreferrer"><span class="sr-only">GitHub</span><svg fill="currentColor" viewBox="0 0 24 24" class="size-5"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a><a href="https://www.linkedin.com/in/nicolas-touron/" class="text-neutral-500 hover:text-neutral-800 transition-colors" target="_blank" rel="noopener noreferrer"><span class="sr-only">LinkedIn</span><svg fill="currentColor" viewBox="0 0 24 24" class="size-5"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg></a></div></div></div><div class="border-t border-neutral-900/10 pt-4"><p class="text-xs text-neutral-500">© 2026 Solem. All rights reserved.</p></div></div></div><div class="h-24 md:h-36"></div><div class="px-6 pb-10"><div class="mx-auto max-w-6xl"><svg viewBox="0 0 820 185" class="w-full h-auto" aria-hidden="true"><image href="/logo-brand-white.svg" x="5" y="10" width="170" height="170" opacity="0.9"></image><text x="505" y="158" fill="rgba(255,255,255,0.9)" font-family="system-ui, -apple-system, sans-serif" font-size="215" font-weight="700" letter-spacing="-8" text-anchor="middle">Solem</text></svg></div></div></div></footer>
46<script src="/_next/static/chunks/66a8c16702b8a250.js" id="_R_" async=""></script>
46<script>(self.__next_f=self.__next_f||[]).push([0])</script>
46<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79520,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\"],\"\"]\n3:I[74443,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\"],\"default\"]\n4:I[78830,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\"],\"default\"]\n5:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n7:I[22016,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\",\"/_next/static/chunks/67cfa04d1c87fafe.js\"],\"\"]\n8:I[63855,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\"],\"default\"]\nc:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/ebfa539a07710f1b.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
46<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"cYkgfLY85HtLIg7uvi_ei\",\"c\":[\"\",\"docs\",\"mcp\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"mcp\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ebfa539a07710f1b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/f4ed3580d77e180f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/737168dcb6dff572.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/573abc75950c9ee3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/svg+xml\",\"href\":\"/favicon.svg\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"96x96\",\"href\":\"/favicon-96x96.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$L2\",null,{\"id\":\"utm-capture\",\"strategy\":\"beforeInteractive\",\"children\":\"\\n (function() {\\n try {\\n if (sessionStorage.getItem('solem_landing_url')) return;\\n var url = window.location.href;\\n sessionStorage.setItem('solem_landing_url', url);\\n var p = new URLSearchParams(window.location.search);\\n sessionStorage.setItem('solem_utms', JSON.stringify({\\n utm_source: p.get('utm_source') || '',\\n utm_medium: p.get('utm_medium') || '',\\n utm_campaign: p.get('utm_campaign') || '',\\n utm_content: p.get('utm_content') || '',\\n utm_term: p.get('utm_term') || ''\\n }));\\n } catch(e) {}\\n })();\\n \"}],[\"$\",\"$L2\",null,{\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-N11V5XRRNB\",\"strategy\":\"afterInteractive\"}],[\"$\",\"$L2\",null,{\"id\":\"gtag-init\",\"strategy\":\"afterInteractive\",\"children\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);}\\n gtag('js', new Date());\\n gtag('config', 'G-N11V5XRRNB');\\n \"}]]}],[\"$\",\"body\",null,{\"className\":\"inter_9e32615b-module__tlusTq__className antialiased\",\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-white flex items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center px-6\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-7xl font-bold text-neutral-200 mb-4\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"text-xl font-semibold text-neutral-900 mb-2\",\"children\":\"Page not found\"}],[\"$\",\"p\",null,{\"className\":\"text-neutral-500 text-sm mb-8 max-w-sm mx-auto\",\"children\":\"This page doesn't exist yet. We're building fast though.\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center gap-4\",\"children\":[[\"$\",\"$L7\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center gap-2 rounded-sm bg-neutral-900 px-5 py-2.5 text-sm font-medium text-white hover:bg-neutral-800 transition-colors\",\"children\":[\"Home\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z\"}]]}]]}],[\"$\",\"$L7\",null,{\"href\":\"/blog\",\"className\":\"inline-flex items-center gap-2 rounded-sm border border-neutral-200 px-5 py-2.5 text-sm font-medium text-neutral-700 hover:bg-neutral-50 transition-colors\",\"children\":\"Blog\"}]]}]]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L8\",null,{}]]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"$L9\",{\"children\":[\"$La\",{}
46,null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$Lb\",false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true}\n"])</script>
46<script>self.__next_f.push([1,"12:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n14:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n15:\"$Sreact.suspense\"\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
46<script>self.__next_f.push([1,"a:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-white pt-32 pb-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-6\",\"children\":[[\"$\",\"$L7\",null,{\"href\":\"/docs\",\"className\":\"mb-8 inline-flex items-center gap-1 text-sm text-neutral-400 transition-colors hover:text-neutral-900\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\"}]]}],\"Back to Docs\"]}],[\"$\",\"h1\",null,{\"className\":\"text-2xl font-light tracking-tight text-neutral-900\",\"children\":\"MCP Server\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-base font-light text-neutral-600/80\",\"children\":\"Give your AI agents access to your personal knowledge base.\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 flex flex-wrap gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs font-mono text-neutral-600\",\"children\":\"https://mcp.solem.ai/mcp\"}],[\"$\",\"span\",null,{\"className\":\"inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600\",\"children\":\"Streamable HTTP\"}],[\"$\",\"span\",null,{\"className\":\"inline-flex items-center rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600\",\"children\":\"Bearer Auth\"}],[\"$\",\"span\",null,{\"className\":\"inline-flex items-center rounded-full bg-blue-50 border border-blue-200 px-3 py-1 text-xs font-medium text-blue-700\",\"children\":\"Unlimited on Pro\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-8 rounded-sm border border-orange-200 bg-gradient-to-br from-orange-50/60 to-white p-6\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[11px] font-semibold tracking-wider text-orange-600 uppercase mb-2\",\"children\":\"Your model, our corpus\"}],[\"$\",\"p\",null,{\"className\":\"text-base font-medium text-neutral-900 leading-snug\",\"children\":\"Bring your own model. We deliver the corpus.\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm text-neutral-600 leading-relaxed\",\"children\":[\"Solem's in-app chat uses a fast model (Gemini Flash Lite) tuned for sub-second retrieval â perfect for âwhat did I save about X?â questions. When you need depth, plug Solem into Claude Desktop, Cursor, OpenClaw, or any MCP-compatible client. Your agent does the reasoning with whatever model you've already paid for â Claude Opus, GPT-5, Gemini Ultra, or your local model. We don't charge for the inference, because we never see it. \",[\"$\",\"strong\",null,{\"children\":\"Best model for each job.\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 lg:grid lg:grid-cols-[200px_minmax(0,1fr)] lg:gap-12\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"hidden lg:block\",\"children\":[\"$\",\"nav\",null,{\"className\":\"sticky top-28\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 px-3 text-xs font-medium uppercase tracking-wider text-neutral-400\",\"children\":\"On this page\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-0.5 text-sm\",\"children\":[[\"$\",\"li\",\"#getting-your-api-key\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#getting-your-api-key\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"API Key\"}]}],[\"$\",\"li\",\"#connecting-your-agent\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#connecting-your-agent\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"Connect\"}]}],[\"$\",\"li\",\"#tools-reference\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#tools-reference\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"Tools\"}]}],[\"$\",\"li\",\"#workflows\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#workflows\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"Best Practices\"}]}],\"$Ld\",\"$Le\"]}]]}]}],\"$Lf\"]}]]}]}],[\"$L10\"],\"$L11\"]}]\n"])</script>
46<script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":\"$L13\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L14\",null,{\"children\":[\"$\",\"$15\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L16\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
46<script>self.__next_f.push([1,"17:I[39726,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\",\"/_next/static/chunks/67cfa04d1c87fafe.js\"],\"default\"]\n18:I[39197,[\"/_next/static/chunks/f4ed3580d77e180f.js\",\"/_next/static/chunks/737168dcb6dff572.js\",\"/_next/static/chunks/573abc75950c9ee3.js\",\"/_next/static/chunks/67cfa04d1c87fafe.js\"],\"default\"]\n24:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\nd:[\"$\",\"li\",\"#rate-limits\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#rate-limits\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"Rate Limits\"}]}]\ne:[\"$\",\"li\",\"#errors\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#errors\",\"className\":\"block px-3 py-2 rounded-sm text-neutral-500 transition-colors hover:bg-neutral-50 hover:text-neutral-900\",\"children\":\"Error Handling\"}]}]\n"])</script>
46<script>self.__next_f.push([1,"f:[\"$\",\"div\",null,{\"children\":[[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"getting-your-api-key\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Getting Your API Key\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-neutral-600\",\"children\":\"Before an agent can access your knowledge base, you need to create an API key.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 rounded-sm border border-neutral-200 bg-neutral-50 p-6\",\"children\":[\"$\",\"ol\",null,{\"className\":\"list-decimal space-y-2 pl-5 text-sm text-neutral-700\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"Sign in at\",\" \",[\"$\",\"$L17\",null,{\"to\":\"/settings\",\"medium\":\"section_inline\",\"content\":\"docs_mcp_api_keys\",\"ctaLabel\":\"app.solem.ai/settings\",\"className\":\"font-medium text-neutral-900 underline decoration-neutral-300 hover:decoration-neutral-900\",\"children\":\"app.solem.ai/settings\"}]]}],[\"$\",\"li\",null,{\"children\":[\"Under \",[\"$\",\"strong\",null,{\"children\":\"API Keys\"}],\", click\",\" \",[\"$\",\"strong\",null,{\"children\":\"Create API Key\"}]]}],[\"$\",\"li\",null,{\"children\":\"Give it a name (e.g. âClaude Desktopâ, âCursorâ, âOpenClawâ)\"}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Copy the key immediately\"}],\" â itâs only shown once\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm text-neutral-400\",\"children\":[\"Keys look like\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600\",\"children\":\"sk_solem_a1b2c3d4e5...\"}],\" \",\"· Max 5 active keys · Revoke unused keys from Settings\"]}]]}],[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"connecting-your-agent\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Connecting Your Agent\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 space-y-8\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Claude Desktop / Cursor\"}],[\"$\",\"$L18\",null,{\"code\":\"{\\n \\\"mcpServers\\\": {\\n \\\"solem\\\": {\\n \\\"command\\\": \\\"npx\\\",\\n \\\"args\\\": [\\n \\\"-y\\\", \\\"mcp-remote\\\",\\n \\\"https://mcp.solem.ai/mcp\\\",\\n \\\"--header\\\",\\n \\\"Authorization: Bearer YOUR_API_KEY\\\"\\n ]\\n }\\n }\\n}\"}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Claude Code\"}],[\"$\",\"$L18\",null,{\"code\":\"claude mcp add solem -- npx -y mcp-remote https://mcp.solem.ai/mcp --header \\\"Authorization: Bearer YOUR_API_KEY\\\"\"}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"OpenClaw\"}],[\"$\",\"$L18\",null,{\"code\":\"{\\n \\\"mcpServers\\\": {\\n \\\"solem\\\": {\\n \\\"url\\\": \\\"https://mcp.solem.ai/mcp\\\",\\n \\\"headers\\\": {\\n \\\"Authorization\\\": \\\"Bearer YOUR_API_KEY\\\"\\n }\\n }\\n }\\n}\"}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Any MCP-compatible agent\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":[\"POST to\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600\",\"children\":\"https://mcp.solem.ai/mcp\"}],\" \",\"with header\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-600\",\"children\":\"Authorization: Bearer sk_solem_...\"}],\" \",\"· Streamable HTTP · Stateless\"]}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"tools-reference\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Tools Reference\"}],[\"$\",\"div\",null,{\"className\":\"mt-10\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"search\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"search\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":\"Search saved pages by keyword. Full-text search across titles, descriptions, notes, and content.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-neutral-500\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"When to use:\"}],\" The user asks about something theyâve read, saved, or bookmarked.\"]}],\"$L19\",\"$L1a\"]}],\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\"]}],\"$L20\",\"$L21\",\"$L22\",\"$L23\"]}]\n"])</script>
46<script>self.__next_f.push([1,"10:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/67cfa04d1c87fafe.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n11:[\"$\",\"$L24\",null,{\"children\":[\"$\",\"$15\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@25\"}]}]\n"])</script>
46<script>self.__next_f.push([1,"19:[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"query\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"query\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â
\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Search keywords\"}]]}],[\"$\",\"tr\",\"limit\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"limit\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"number\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"Default: 10\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Max results (1â50)\"}]]}]]}]]}]}]}]\n"])</script>
46<script>self.__next_f.push([1,"1a:[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"$L18\",null,{\"code\":\"// Returns\\n[{\\n \\\"id\\\": \\\"uuid\\\",\\n \\\"title\\\": \\\"Page Title\\\",\\n \\\"url\\\": \\\"https://example.com/article\\\",\\n \\\"snippet\\\": \\\"...matching text excerpt...\\\",\\n \\\"notes_preview\\\": \\\"User's notes...\\\",\\n \\\"created_at\\\": \\\"2026-03-05T10:30:00Z\\\",\\n \\\"site_name\\\": \\\"Example Blog\\\"\\n}]\"}]}]\n"])</script>
46<script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"mt-12\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"list_recent\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"list_recent\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":\"List most recently saved pages, newest first.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-neutral-500\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"When to use:\"}],\" âWhat did I save recently?â, browsing without a specific query.\"]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"limit\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"limit\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"number\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"Default: 10\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Number of pages (1â50)\"}]]}]]}]]}]}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"1c:[\"$\",\"div\",null,{\"className\":\"mt-12\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"get\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"get\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":[\"Retrieve the \",[\"$\",\"strong\",null,{\"children\":\"full content\"}],\" of a saved page by UUID.\"]}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-neutral-500\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"When to use:\"}],\" After finding a page via search/list_recent, read its full text to answer questions.\"]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"id\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"id\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string (UUID)\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â
\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Page UUID from search/list results\"}]]}]]}]]}]}]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"$L18\",null,{\"code\":\"// Returns\\n{\\n \\\"id\\\": \\\"uuid\\\",\\n \\\"title\\\": \\\"Page Title\\\",\\n \\\"url\\\": \\\"https://example.com/article\\\",\\n \\\"content\\\": \\\"Full extracted text...\\\",\\n \\\"description\\\": \\\"Meta description\\\",\\n \\\"notes\\\": \\\"User's personal notes\\\",\\n \\\"created_at\\\": \\\"2026-03-05T10:30:00Z\\\",\\n \\\"published_at\\\": \\\"2026-03-01T08:00:00Z\\\",\\n \\\"site_name\\\": \\\"Example Blog\\\",\\n \\\"author\\\": \\\"Jane Doe\\\",\\n \\\"type\\\": \\\"article\\\",\\n \\\"canonical_url\\\": \\\"https://example.com/article\\\",\\n \\\"check_later\\\": false\\n}\"}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"1d:[\"$\",\"div\",null,{\"className\":\"mt-12\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"save\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"save\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":\"Save a new URL. Fetches the page, extracts metadata and content, stores everything.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-neutral-500\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"When to use:\"}],\" User shares a URL to bookmark.\",\" \",[\"$\",\"em\",null,{\"children\":\"Always confirm before saving.\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"url\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"url\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string (URL)\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â
\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"URL to save\"}]]}],[\"$\",\"tr\",\"notes\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"notes\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Optional notes to attach\"}]]}]]}]]}]}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"1e:[\"$\",\"div\",null,{\"className\":\"mt-12\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"update\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"update\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":\"Update fields on an existing saved page. Supports partial updates, note appending, and optimistic concurrency.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-neutral-500\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"When to use:\"}],\" Edit notes, fix titles, add annotations, enrich a page with analysis.\"]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"id\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"id\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string (UUID)\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â
\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Page UUID\"}]]}],[\"$\",\"tr\",\"set\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"set\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"object\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Fields to overwrite (see below)\"}]]}],[\"$\",\"tr\",\"append_notes\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"append_notes\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Text to append to notes (blank line separator)\"}]]}],[\"$\",\"tr\",\"expected_version\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"expected_version\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"number\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Optimistic lock: update only if version matches\"}]]}]]}]]}]}]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm text-neutral-500\",\"children\":[\"At least one of\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs\",\"children\":\"set\"}],\" \",\"or\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs\",\"children\":\"append_notes\"}],\" \",\"is required.\"]}],[\"$\",\"div\",null,{\"className\":\"mt-6 overflow-x-auto\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 text-sm font-medium text-neutral-700\",\"children\":[\"Editable fields in\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs\",\"children\":\"set\"}],\":\"]}],[\"$\",\"table\",null,{\"className\":\"w-full text-left text-sm\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Field\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Max Length\"}]]}]}],\"$L26\"]}]]}],\"$L27\"]}]\n"])</script>
46<script>self.__next_f.push([1,"1f:[\"$\",\"div\",null,{\"className\":\"mt-12\",\"children\":[[\"$\",\"h3\",null,{\"id\":\"delete\",\"className\":\"scroll-mt-24 text-lg font-medium text-neutral-900 font-mono\",\"children\":\"delete\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-neutral-600\",\"children\":[\"Permanently delete a saved page.\",\" \",[\"$\",\"strong\",null,{\"children\":\"Always confirm with the user first.\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Type\"}],[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Required\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"id\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"id\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm text-neutral-500\",\"children\":\"string (UUID)\"}],[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-sm\",\"children\":\"â
\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-sm text-neutral-600\",\"children\":\"Page UUID\"}]]}]]}]]}]}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"20:[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"workflows\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Workflows \u0026 Best Practices\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 space-y-5\",\"children\":[[[\"$\",\"div\",\"Answering questions about saved content\",{\"className\":\"rounded-sm border border-neutral-200 bg-neutral-50 p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Answering questions about saved content\"}],[\"$\",\"ol\",null,{\"className\":\"list-decimal space-y-1 pl-5 text-sm text-neutral-600\",\"children\":[[\"$\",\"li\",\"0\",{\"children\":\"search with relevant keywords â get matching page IDs\"}],[\"$\",\"li\",\"1\",{\"children\":\"get the most relevant pages â read full content\"}],[\"$\",\"li\",\"2\",{\"children\":\"Synthesize an answer citing the source pages (title + URL)\"}]]}]]}],[\"$\",\"div\",\"Saving a page\",{\"className\":\"rounded-sm border border-neutral-200 bg-neutral-50 p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Saving a page\"}],[\"$\",\"ol\",null,{\"className\":\"list-decimal space-y-1 pl-5 text-sm text-neutral-600\",\"children\":[[\"$\",\"li\",\"0\",{\"children\":\"User shares a URL\"}],[\"$\",\"li\",\"1\",{\"children\":\"Confirm: \\\"Want me to save this to your Solem library?\\\"\"}],[\"$\",\"li\",\"2\",{\"children\":\"save with optional notes\"}]]}]]}],[\"$\",\"div\",\"Adding research notes\",{\"className\":\"rounded-sm border border-neutral-200 bg-neutral-50 p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 font-semibold text-neutral-900\",\"children\":\"Adding research notes\"}],[\"$\",\"ol\",null,{\"className\":\"list-decimal space-y-1 pl-5 text-sm text-neutral-600\",\"children\":[[\"$\",\"li\",\"0\",{\"children\":\"search or list_recent to find the page\"}],[\"$\",\"li\",\"1\",{\"children\":\"get to read current notes\"}],[\"$\",\"li\",\"2\",{\"children\":\"update with append_notes â never overwrite without asking\"}]]}]]}]],[\"$\",\"div\",null,{\"className\":\"rounded-sm border border-neutral-200 bg-neutral-50 p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 font-semibold text-neutral-900\",\"children\":\"Agent guidelines\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-1.5 text-sm text-neutral-600\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"ð \",[\"$\",\"strong\",null,{\"children\":\"Read before write\"}],\" â always search/get before update/delete\"]}],[\"$\",\"li\",null,{\"children\":[\"â
\",[\"$\",\"strong\",null,{\"children\":\"Confirm before mutating\"}],\" â ask before save, destructive updates, or delete\"]}],[\"$\",\"li\",null,{\"children\":[\"ð \",[\"$\",\"strong\",null,{\"children\":\"Cite sources\"}],\" â mention page title and URL when answering\"]}],[\"$\",\"li\",null,{\"children\":[\"ð¯ \",[\"$\",\"strong\",null,{\"children\":\"Be efficient\"}],\" â use search with good keywords rather than listing everything\"]}],[\"$\",\"li\",null,{\"children\":[\"ð \",[\"$\",\"strong\",null,{\"children\":\"Respect privacy\"}],\" â the knowledge base is personal\"]}]]}]]}]]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"21:[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"rate-limits\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Rate Limits\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left text-sm\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Scope\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Limit\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-neutral-700\",\"children\":\"Per API key\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-600\",\"children\":\"100 requests / minute\"}]]}],[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 text-neutral-700\",\"children\":\"Global (all keys)\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-600\",\"children\":\"1,000 requests / minute\"}]]}]]}]]}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"22:[\"$\",\"section\",null,{\"className\":\"mt-16\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"errors\",\"className\":\"scroll-mt-24 text-xl font-light tracking-tight text-neutral-900\",\"children\":\"Error Handling\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left text-sm\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-neutral-200\",\"children\":[[\"$\",\"th\",null,{\"className\":\"py-2 pr-4 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"Error\"}],[\"$\",\"th\",null,{\"className\":\"py-2 text-xs font-semibold uppercase tracking-wider text-neutral-400\",\"children\":\"What to do\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"Page not found or not accessible\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"Page not found or not accessible\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Check UUID from search/list results\"}]]}],[\"$\",\"tr\",\"No pages found matching \\\"...\\\"\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"No pages found matching \\\"...\\\"\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Try different keywords\"}]]}],[\"$\",\"tr\",\"Conflict: expected_version mismatch\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"Conflict: expected_version mismatch\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Re-read page, get new version, retry\"}]]}],[\"$\",\"tr\",\"At least one mutation is required\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"At least one mutation is required\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Include set or append_notes in update\"}]]}],[\"$\",\"tr\",\"Unknown fields in set\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"Unknown fields in set\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Only use documented editable fields\"}]]}],[\"$\",\"tr\",\"429 Too Many Requests\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"429 Too Many Requests\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Wait a few seconds and retry\"}]]}],[\"$\",\"tr\",\"401 Unauthorized\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono text-xs text-neutral-700\",\"children\":\"401 Unauthorized\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-neutral-500\",\"children\":\"Check API key is correct and not revoked\"}]]}]]}]]}]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"23:[\"$\",\"div\",null,{\"className\":\"mt-16 border-t border-neutral-200 pt-6 text-sm text-neutral-400\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Server:\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-500\",\"children\":\"solem v1.0.0\"}],\" \",\"· Transport: Streamable HTTP · Health:\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-xs text-neutral-500\",\"children\":\"GET https://mcp.solem.ai/health\"}]]}]}]\n"])</script>
46<script>self.__next_f.push([1,"26:[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"title\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"title\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"500\"}]]}],[\"$\",\"tr\",\"description\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"description\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"5,000\"}]]}],[\"$\",\"tr\",\"notes\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"notes\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"50,000\"}]]}],[\"$\",\"tr\",\"content\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"content\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"250,000\"}]]}],[\"$\",\"tr\",\"check_later\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"check_later\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"boolean\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"â\"}]]}],[\"$\",\"tr\",\"published_at\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"published_at\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"ISO 8601\"}]]}],[\"$\",\"tr\",\"canonical_url\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"canonical_url\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"http/https URL\"}]]}],[\"$\",\"tr\",\"site_name\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"site_name\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"â\"}]]}],[\"$\",\"tr\",\"author\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"author\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"â\"}]]}],[\"$\",\"tr\",\"type\",{\"className\":\"border-b border-neutral-100\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 font-mono text-sm text-neutral-900\",\"children\":\"type\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 pr-4 text-neutral-500\",\"children\":\"string | null\"}],[\"$\",\"td\",null,{\"className\":\"py-1.5 text-neutral-500\",\"children\":\"â\"}]]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"27:[\"$\",\"div\",null,{\"className\":\"mt-6 space-y-2 rounded-sm border border-neutral-200 bg-neutral-50 p-5 text-sm text-neutral-600\",\"children\":[[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"append_notes:\"}],\" If notes exist, appends with a blank-line separator. If no notes, sets directly.\"]}],[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"expected_version:\"}],\" Pass the pageâs current\",\" \",[\"$\",\"code\",null,{\"className\":\"rounded bg-neutral-100 px-1 py-0.5 font-mono text-xs\",\"children\":\"version\"}],\" \",\"to prevent overwriting concurrent edits. Mismatch â conflict error.\"]}]]}]\n"])</script>
46<script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
46<script>self.__next_f.push([1,"28:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"IconMark\"]\n"])</script>
46<script>self.__next_f.push([1,"16:[[\"$\",\"title\",\"0\",{\"children\":\"MCP Server Documentation - Solem\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Connect AI agents like Claude, Cursor, and OpenClaw to your Solem knowledge base via MCP. Full setup guide, tools reference, and best practices.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"AI knowledge base, MCP server, AI context, agent collaboration, Claude, Cursor, ChatGPT, web clipper, personal search engine, AI memory layer, context portability\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://www.solem.ai/docs/mcp\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"MCP Server Documentation - Solem\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Give your AI agents access to your personal knowledge base. Setup guide, 6 tools, and agent best practices.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://www.solem.ai/docs/mcp\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:creator\",\"content\":\"@NicTouron\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:title\",\"content\":\"Solem - The shared knowledge base for humans and AI agents\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:description\",\"content\":\"Save web pages. Both you and your AI agents curate, search, and build on them - together. One knowledge base. Every tool.\"}],[\"$\",\"link\",\"11\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.97815d6e.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$L28\",\"12\",{}]]\n"])</script>
46<script>self.__next_f.push([1,"25:null\n"])</script>
46</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.