{"slug": "show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path", "title": "Show HN: Cogni: MCP memory for LLMs, with no LLM in the retrieval path", "summary": "Cogni, an MCP server for LLM memory, claims its entity-graph spreading activation outperforms vector stores on cross-vocabulary retrieval, finding 3.4 of 4 chain documents versus 2.6 for a vector store in Chain-recall@8 tests. The system is deterministic, requires no LLM or GPU in the retrieval path, and works with any model, with benchmarks showing a small local model (llama3.1:8) achieving 0.97 accuracy when given the exact chain, versus 0.99 for GPT-4o with full context.", "body_md": "#\nMore than memory.\n\nMemory that reasons.\n\nCogni is an MCP server that gives any LLM a connected memory that grows as you work. Its\nentity-graph **spreading activation** follows the chain of facts a\nplain vector store can't reach, so your agent reasons over what it remembers instead of just looking\nthings up.\n\nscattered across separate documents\n\nsame store, same eight rows\n\nChain-recall@8: the share of a four-document chain a single recall call surfaces — Cogni finds\n3.4 of the 4, a vector store finds 2.6. Not answer accuracy.\nDeterministic, no model in the loop, on the shipped recall path at the settings every account gets:\n5 chains × 3 seeds against 300 distractor documents. Both sides\nreturn the same eight rows, so none of the margin is bought with extra context.\n[Every number, and where we tie or come second.](/compare)\n\n✓ Works with any model: Claude, GPT, Gemini, local ✓ No LLM and no GPU in the retrieval path ✓ No vector DB to run ✓ No API key to paste\n\n## A vector store retrieves. Cogni connects.\n\nThe difference is one clean, measured capability: entity-graph spreading activation for **cross-vocabulary** retrieval — questions whose answer shares no words with the question, where a single similarity lookup scores zero no matter how wide you set *k*.\n\nAsk something whose answer lives in a document sharing no vocabulary with the question — a part number that leads to a batch that leads to a name. In a *single* retrieval call Cogni follows the entity chain. A similarity search matches the first link and has nothing to take it to the second, so on one call it scores zero.\n\nMeasured end to end over MCP with GPT-4o answering, one recall call, on Cogni's default mode at the settings every account gets — mean of 14 runs, 45 questions each. The zero is the structural part: turning Cogni's own graph off reproduces it exactly, on the same store with the same embeddings and the same prompt, so the difference is the traversal and nothing else.\n\nLet the model keep calling instead of stopping at one, and a vector store recovers to near-parity — it eventually stumbles onto each link. That is the honest shape of the result, and it is still the argument: **the answer is reachable either way; what differs is how many round trips you pay for it.**\n\nCogni returns the chain on the first call. The alternative gets there by iterating, and every iteration is another request, another context window, and another bill from whichever model you are using.\n\nThe gap widens with the length of the chain: each extra hop is one more round trip a similarity search has to discover, and one Cogni already walked.\n\n**A full vector search runs underneath the graph.** Cogni's default recall runs a dense-vector search *and* the spreading graph, then returns both — so adding Cogni does not take away the retrieval you already had. It is a floor you can check in one call, not a promise: on needle-in-a-haystack recall the two are level at 1.00 to 1.00, at every haystack length we measured.\n\n## Works with any model. No LLM in the loop.\n\nNo language model and no GPU anywhere in the retrieval path.\n\nNothing rewrites, summarises, or judges your memories on the way in, and nothing is generated on the\nway out. Recall is a **deterministic graph traversal**: the same\nquestion over the same store returns the same rows, every time, with no second model's opinion in\nbetween. That is why the advantage travels — it lives in the retrieval, not in the model. And\nit is why a small model gains the most: clean connected context was the piece it was missing.\n\nTo be straight about the ceiling: GPT-4o with the entire corpus in context scores 0.99, so this is not parity — it is a small local model doing work it could not do at all before, on a fraction of the context. Feed that same 8B the exact chain by hand and it scores 0.97, which says the remaining gap is retrieval rather than reasoning.\n\nMulti-hop deductive benchmark, 12 chains × 3 seeds against 250 distractor documents, llama3.1:8b answering, measured through the shipped retrieval path at the settings every account gets — the results file records no deviation from them. The vector baseline was given 15 rows to Cogni's 8. Because Cogni's tools are called by your model, real-world consistency depends on the model and how it's prompted. [Why results may vary](#faq).\n\nRecall stays flat as memory grows. Bury a fact in a history that grows to 32,000 words and Cogni returns it **first, every time** — at a fixed eight rows per query, whatever the history costs to hold.\n\nEffectively a rolling, always-on context window at a constant per-query cost, on a model that could never hold it all at once.\n\n[that tie is on the compare page](/compare#floor), along with the check that makes it mean something.\n\n## What else it does that a vector store can’t\n\nA full vector search runs underneath the graph, so adding Cogni does not take away the retrieval you already had. We test that rather than claim it: a release this month replaced roughly half the rows a recall returns with graph results, and on needle-in-a-haystack the answer stayed at rank one in every single question.\n\nEvery memory is timestamped as it is stored, and recall can be pointed at a moment or a window — *\"what did I know as of last Tuesday?\"*, *\"only what I picked up in March\"*. Ask for a window and Cogni searches inside it.\n\nSimilarity search has no time model of its own — it ranks on closeness of meaning, so ordering and point-in-time questions depend on whatever timestamp index someone bolted on beside it. Cogni stamps every memory as it is stored and applies the window *before* it ranks, so a dated question is answered from what was in the window, not from the closest wording anywhere in the store.\n\nCogni runs no LLM of its own and no GPU. The advantage is in the retrieval, so it holds whichever model you point at it — and it costs the same whether that model is frontier or 8 billion parameters on your desk.\n\n## See it follow a chain\n\nTen memories, none of them written for this question. The answer is two facts away and shares no words with what was asked. Here is what each retrieval actually returns — same store, same question, same eight-row budget. The vector column is shorter because a relevance floor drops matches too weak to be worth returning; widening the budget adds more of those, not the answer.\n\n- hop 0The Meridian rollout is blocked until the Atlas migration finishes.\n- hop 0Standups for the rollout moved to Tuesdays at 9.\n- hop 0Priya Raman is the delivery lead for the Meridian rollout.\n- hop 0The Helios pilot wrapped up two weeks early.\n- hop 1Devon Okafor runs the platform infrastructure team.\n- hop 1Marcus Webb asked to be looped in on anything customer-facing.\n- hop 1The design review for the new onboarding flow is on the 14th.\n- hop 1Quarterly planning is the first week of next month.\n\nhop is how many connections Cogni followed to reach that memory. Everything at hop 1 was found by traversing the graph, not by matching the question.\n\n- 1The Meridian rollout is blocked until the Atlas migration finishes.\n- 2Priya Raman is the delivery lead for the Meridian rollout.\n- 3Marcus Webb asked to be looped in on anything customer-facing.\n- 4The Atlas migration is owned by the platform infrastructure team.\n\nIt stops here. Row 4 is *one connection away* from the answer — the platform team is named, and the person who runs it is not. Nothing in the question resembles “Devon Okafor”, so similarity search has no step left to take.\n\nA real run, not an illustration: a live Cogni store at default settings, the same production embeddings, and the same ordering an MCP client receives. Reproducible from tools/make_demo_transcript.py. The vector column is Cogni’s own dense channel with the graph switched off, so both sides share the embedder and differ only in the traversal.\n\n## What it unlocks\n\nMention an allergy once, and six weeks later Cogni still surfaces it before the model books the restaurant. Deadlines, preferences, and people stay connected across every session, not lost between chats.\n\nTrace a connected case across a thousand documents that share no keywords, then write the brief a flat search can't assemble — the chain is reached by following entity links, not by matching the question.\n\nIllustrative use cases. The measured results behind them are on the [compare page](/compare).\n\n## How it works\n\nCogni runs **no LLM**. Your client is the brain. It exposes a handful of tools over MCP and does the connected retrieval a vector store can't. The retrieval substrate is fully deterministic.\n\nStore a fact, note, or observation. Entities are linked into a graph.\n\nSpreading-activation retrieval across everything you've told it, with a full vector search running underneath — so adding Cogni doesn't take away the retrieval you already had. Optional point-in-time and windowed recall.\n\nReplace the model's human-speed guess with the agent's own measured median.\n\nRank candidate plans by how long they'll *actually* take, so the agent picks the genuinely faster path.\n\nLog a real duration so future estimates get sharper.\n\nOne entity graph, spanning everything it remembers. That graph is the difference between remembering and reasoning.\n\n## Connect in 60 seconds\n\nNo cluster, no GPU, no vector database. Cogni is one remote endpoint, `https://mcp.getcogni.io/mcp`\n\n, and connecting takes about a minute. There are two ways in, depending on your client.\n\n### Sign in, no key\n\nConnector apps: add Cogni as a custom connector with the URL, then sign in. No key to paste — OAuth handles it.\n\n**Signing in:** sign in from inside the Claude or ChatGPT app, and when the Cogni sign-in screen opens choose\n\n**“Email me a code”**— a one-time code signs you in, no password to remember. If you ever forget a password, use the email-code option rather than “reset password.”\n\n## Claude (web, Desktop, mobile)⌄\n\n1. **Settings → Connectors → Add custom connector**.\n\n2. Paste `https://mcp.getcogni.io/mcp`\n\n, leave the OAuth fields blank, click Add.\n\n3. Click **Connect** and sign in when the browser opens.\n\nFree plan allows one custom connector; paid plans allow several.\n\n## ChatGPT⌄\n\n1. Turn on **Developer mode** (Settings → Connectors → Advanced).\n\n2. **Add** a connector, paste `https://mcp.getcogni.io/mcp`\n\n, sign in.\n\nPlus, Pro, Business, Enterprise or Edu, on web/desktop (not the mobile app or Free).\n\n### Paste your key\n\nDev & agent clients sign in with a Cogni API key you mint yourself. Connect a GUI app (track 1), then ask it *\"create a Cogni API key\"* — it shows an `sk-cogni-…`\n\nkey **once**. Drop your tool's config below and paste that key into the `Authorization: Bearer`\n\nheader.\n\n## Claude Code⌄\n\nOne command in your shell:\n\n```\nclaude mcp add --transport http --scope user cogni \\\n  https://mcp.getcogni.io/mcp \\\n  --header \"Authorization: Bearer sk-cogni-YOUR_KEY\"\n```\n\n## Cursor⌄\n\nAdd to `~/.cursor/mcp.json`\n\n, then Settings → Tools & MCP → enable cogni.\n\n```\n{\n  \"mcpServers\": {\n    \"cogni\": {\n      \"url\": \"https://mcp.getcogni.io/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-cogni-YOUR_KEY\" }\n    }\n  }\n}\n```\n\n## Cline⌄\n\nMCP Servers → Configure MCP Servers, add under `mcpServers`\n\n:\n\n```\n{\n  \"mcpServers\": {\n    \"cogni\": {\n      \"type\": \"streamableHttp\",\n      \"url\": \"https://mcp.getcogni.io/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-cogni-YOUR_KEY\" }\n    }\n  }\n}\n```\n\n## VS Code · needs Copilot⌄\n\nCreate `.vscode/mcp.json`\n\n, then start the server and use it in Copilot Chat's **Agent** mode.\n\n```\n{\n  \"servers\": {\n    \"cogni\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.getcogni.io/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-cogni-YOUR_KEY\" }\n    }\n  }\n}\n```\n\n## Windsurf⌄\n\nAdd to `~/.codeium/windsurf/mcp_config.json`\n\n(note the key is `serverUrl`\n\n), then refresh in Cascade.\n\n```\n{\n  \"mcpServers\": {\n    \"cogni\": {\n      \"serverUrl\": \"https://mcp.getcogni.io/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-cogni-YOUR_KEY\" }\n    }\n  }\n}\n```\n\n## OpenClaw⌄\n\nOne command (v2026.5.12+ for header support):\n\n```\nopenclaw mcp add cogni \\\n  --url https://mcp.getcogni.io/mcp \\\n  --transport streamable-http \\\n  --header \"Authorization: Bearer sk-cogni-YOUR_KEY\"\n```\n\n## Gemini CLI⌄\n\nAdd to `~/.gemini/settings.json`\n\n(the key is `httpUrl`\n\n):\n\n```\n{\n  \"mcpServers\": {\n    \"cogni\": {\n      \"httpUrl\": \"https://mcp.getcogni.io/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-cogni-YOUR_KEY\" }\n    }\n  }\n}\n```\n\nRequires a paid Gemini API key or a Code Assist Standard/Enterprise license (per Google's June 2026 change).\n\n**Then load the Cogni skill.** Connecting gives your assistant the tools; the skill teaches it *when* to use them, so it recalls before answering and remembers what matters without you asking each time. It is one small file. [Download the skill](/cogni-skill.md) · [how to add it to your client](/support#skill).\n\n**One memory, every client.** OAuth or key, GUI or terminal — every way you sign in lands on the *same* isolated store. Sign in on Claude Desktop, mint a key for Cursor and your terminal, and they all read and write the one memory. Your agent remembers the same things everywhere you work.\n\n## Pricing\n\nStart free — no card required. Upgrade to Pro whenever you want more room, and cancel any time from your account page.\n\n- ✓ Full spreading recall + effort and time tools\n- ✓ One memory, shared across all your AI apps\n- ✓ Generous personal limits (memory + monthly usage)\n- ✓ Email support\n\n[Get started free](https://mcp.getcogni.io/portal/login)\n\n- ✓ Everything in Free\n- ✓ 50× the limits — 50,000 memories, kept indefinitely\n- ✓ Inspect, edit, and prune your memory graph\n- ✓ Export and import your whole memory store\n- ✓ Archive and restore memories, including anything set aside when a full store made room\n\n[Upgrade to Pro](https://mcp.getcogni.io/portal/login?next=upgrade)\n\n- ✓ Everything in Pro\n- ✓ Shared team memory, private + shared spaces, set up with you during onboarding\n- ✓Per-member read/write roles — each space is a\n*physically separate*store, so a space you can’t read is never queried, not filtered out afterwards - ✓ Named support contact\n\n- + SSO and directory provisioning\n- + Per-space audit logging\n- + On-prem or VPC deployment with local embeddings, so no memory text leaves your network\n\nScoped and built as part of an engagement rather than shipped today. Tell us what you need and we’ll price it.\n\n[Get in touch](mailto:sales@getcogni.io?subject=Cogni%20Team%20%2F%20Enterprise%20inquiry)\n\n## FAQ\n\n## Isn't this just RAG?⌄\n\nNo. Cogni includes a full vector search and adds an entity graph it traverses. RAG retrieves the closest match; Cogni follows the connections between facts. Where a question and its answer share no vocabulary, that is the difference between scoring zero and answering at all. And because the vector search runs underneath, adding Cogni doesn't take away the retrieval you already had — on needle-in-a-haystack recall the two are level at 1.00.\n\n## Which models does it work with?⌄\n\nAny of them. Cogni runs no LLM — it's a memory and retrieval server your model calls over MCP. A recall request carries a query, not a model identity, and Cogni does the embedding itself, so the same question returns the same rows whichever model asked. Our headline retrieval numbers are measured with no answering model at all; where one is needed we use GPT-4o and Claude Opus 4.8, and both give the same shape of result.\n\n## Do I need a GPU or an API key?⌄\n\nNo. Cogni runs no language model and no GPU — recall is a deterministic graph traversal, and it does the embeddings for you. You connect your MCP client with a Cogni API key you mint in seconds, or just OAuth in the Claude app. No vector database to run, no OpenAI key to paste. (On the hosted service the embedding step itself calls OpenAI's API; nothing generates, rewrites, or summarises your memories — see the [privacy policy](/privacy).)\n\n## Where does my data live?⌄\n\nIn an isolated, per-user store on the hosted tier, and never used to train anything. Data is encrypted in transit using TLS, and encrypted at rest at the storage layer by our infrastructure providers, each of which maintains a SOC 2 Type II attestation. For teams that need data to never leave their environment, a self-hosted tier with local embeddings is on the roadmap.\n\n## What actually makes it different?⌄\n\nA deterministic entity-graph spreading-activation engine, modeled on how memory works in the brain. Most memory products answer a query with a single similarity lookup; Cogni links facts into a graph and traverses it, reaching a connected chain a single lookup can't. What is unusual is not the graph — several good products build one — but that ours is built and walked with **no language model at either end**. Nothing reads, rewrites or judges your memories, so recall is the same traversal every time. The method is patent-pending.\n\n## Why might my results vary?⌄\n\nThe numbers here are reproducible benchmark results with our setup. In practice, Cogni's tools are called by your model over MCP, so how consistently it checks its memory depends on the model and how it's prompted. Ideal usage is a recall at the start of every turn. Cogni already prompts the model to do that, and where your client supports a loadable skill you can [drop ours in](/support) to make it more consistent. A tighter always-on integration for Claude Code is in development.\n\n## Where are the standard memory benchmarks, like LoCoMo?⌄\n\nWe run them, and they are on the [compare page](/compare#floor) with their method. The short version: measured on the path a real account is served, with both sides returning the same eight rows, Cogni and plain vector RAG are level on needle-in-a-haystack, on a continual-learning scenario and on LoCoMo.\n\nThese benchmarks measure recall from one long conversation or one document — the case a plain vector search already handles well, and which Cogni has built in. They don't test the cross-document, cross-vocabulary or time-scoped retrieval that is Cogni's real advantage, so we lead with the benchmarks that do.\n\nOne we deliberately *don't* publish: benchmarks that slice a novel or a paper into fixed-size chunks and store each chunk as a memory. That is not what an account holds, and we measured that the entity graph such chunks produce is meaningless — its strongest links are words like table. A number from that setup describes our chunker, not the product, and we take the same view of it whether it flatters us or not.\n\n## How do I get started?⌄\n\nCreate a free account and connect in about a minute — [get started](https://mcp.getcogni.io/portal/login), then add Cogni to Claude, ChatGPT, or your terminal. No card needed for Free.\n\n## Give your agent memory that reasons.\n\nCreate a free account and connect your first AI app in about a minute.\n\nFree plan, no card needed. Questions? [We're here](/support).", "url": "https://wpnews.pro/news/show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path", "canonical_source": "https://getcogni.io/", "published_at": "2026-08-18 00:21:14+00:00", "updated_at": "2026-08-18 00:40:49.673191+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "ai-infrastructure"], "entities": ["Cogni", "MCP", "GPT-4o", "llama3.1"], "alternates": {"html": "https://wpnews.pro/news/show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path", "markdown": "https://wpnews.pro/news/show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path.md", "text": "https://wpnews.pro/news/show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path.txt", "jsonld": "https://wpnews.pro/news/show-hn-cogni-mcp-memory-for-llms-with-no-llm-in-the-retrieval-path.jsonld"}}