Gnosem's default memory_search is a hybrid of BM25 (SQLite FTS5) and cosine similarity (Cloudflare Vectorize) blended via Reciprocal Rank Fusion. This post walks through why hybrid beats either standalone, the RRF math, and the specific bugs we hit implementing it on Cloudflare Workers.
memory_write_bulk accepts up to 50 memories in one MCP call. Naive per-entry hash dedup misses the case where the batch itself contains duplicates. Gnosem uses a two-phase in-memory reservation table to catch intra-batch dupes before any storage writes fire.
projmap is a zero-dep npm CLI that indexes where your source projects live and stores them in your Gnosem account. Any AI you use — Claude, ChatGPT, Cursor, Windsurf — can then ask 'where is X?' and get an answer.
How Gnosem enforces per-user isolation at both the application and query-engine layers, hashes every API key on write, and refuses to return magic-link URLs in any HTTP response — plus a case study of the one time we got that last one wrong.
The GET /export endpoint returns a portable JSON dump of every memory on your Gnosem account — raw content, LLM-optimized form, tags, provenance, timestamps. Take it with you.
Mem0, Letta, and Zep are memory libraries you embed in your own app code. Gnosem is a hosted MCP endpoint your existing AI clients read and write to. This walks through when each is the right tool.
A tutorial for adding Gnosem's cross-vendor memory to Claude Code with a single npx install, plus a concrete example of a memory being saved during one session and recalled in the next.
Every Gnosem memory records which client wrote it. That single provenance field turns your memory into an audit log — catch hallucinated facts, spot rogue tool calls, and see which vendor is pulling its weight.
A concrete technical explanation of why semantic search over embeddings finds the memories an LLM actually needs, where keyword search fails, and how Gnosem uses BGE-base-en-v1.5 for the tradeoff between compact vectors and recall quality.
How to publish an MCP server once and appear on five directories. What auto-ingests from the Official MCP Registry, what still requires manual submission, and the practical failure modes that trip publishers up.
Persistent AI memory has a token problem. Every recall pulls prose back into a model's context window. Gnosem writes long memories twice — once as prose for you, once as a structured-facts line for the reading LLM — so cross-vendor recall costs less context.
A concrete walkthrough of running an MCP server entirely on the Cloudflare edge — how the JSON-RPC transport works, how Vectorize's metadata filter enforces tenant isolation, and how streamable-HTTP simplifies auth versus SSE.
A concrete walkthrough of publishing an MCP server to the Official MCP Registry, including the DNS TXT-record verification flow that lets you claim a namespace tied to your own domain.
Every AI vendor runs its own memory silo — Claude's memory doesn't reach ChatGPT, Cursor's doesn't reach Zed. Gnosem is one memory store, over the Model Context Protocol, that every MCP-capable client can read and write. Here's why it exists and how it's built on Cloudflare Workers, D1, Vectorize, and Workers AI.