Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Titen Memory

by RamaAditya49version 0.7.2i★ –iRuns on your computer
Registry nameio.github.RamaAditya49/titen-memory

Install

Overview

Description from the maker (original English)

Evidence-grounded agent memory with mandatory provenance, on local SQLite or Cloudflare D1

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: TITEN_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: TITEN_MCP_URL, TITEN_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "titen-memory": {
      "command": "npx",
      "args": [
        "-y",
        "titen-memory",
        "mcp"
      ],
      "env": {
        "TITEN_MCP_URL": "your-value",
        "TITEN_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add titen-memory --env TITEN_MCP_URL=your-value --env TITEN_API_KEY=your-value -- npx -y titen-memory mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "titen-memory": {
      "command": "npx",
      "args": [
        "-y",
        "titen-memory",
        "mcp"
      ],
      "env": {
        "TITEN_MCP_URL": "your-value",
        "TITEN_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "titen-memory": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "titen-memory",
        "mcp"
      ],
      "env": {
        "TITEN_MCP_URL": "your-value",
        "TITEN_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • TITEN_MCP_URL env
    Optional. Streamable HTTP /mcp endpoint of a running Titen service. Set together with TITEN_API_KEY to use a shared store instead of the local one.
  • TITEN_API_KEY secret env
    Optional. API key for the Titen service named by TITEN_MCP_URL. Required only when TITEN_MCP_URL is set.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account RamaAditya49, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 5668 servers in this category
  • Published to the registry more recently than 29% of the other 5668 servers in this category
  • Basic checks equal to or better than 100% of the other 5668 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Titen Memory safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: TITEN_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.7.2) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated yesterday
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 21 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated 2 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Titen

Agent memory that runs with no API key, no LLM, and no embedding provider.

Every memory keeps its source, who may read it, and the evidence that contradicts it.

Website · Documentation · npm · Changelog

Built with C.A.D.I.S Agent .

If Titen is useful to you, a ⭐ on GitHub helps other people find it.

Try it in 30 seconds

No account, no key, no configuration — but the CLI runs on [Bun](https://bun.sh/) 1.2 or newer, and refuses to start without it:

curl -fsSL https://bun.sh/install | bash   # skip if you already have Bun

npx titen-memory mcp

With no environment set, that opens or creates ~/.titen/memory.db, writes a real organization, workspace, project and owner into it, and serves MCP over stdio in-process — no HTTP hop, no key to paste, and no outbound network call. Retrieval is FTS5, so nothing needs an embedding provider or a model.

curl -fsSL https://titen.dev/install.sh | bash does the same in one step: it adds Bun when it is missing, then installs the titen command.

Point an agent at it:

claude mcp add --transport stdio --scope user titen -- npx -y titen-memory mcp

Already using @modelcontextprotocol/server-memory? Titen serves the same nine tool names with the same schemas, and answers memory://knowledge-graph too, so a client does not notice the swap. On the first local-mode start it imports your existing graph. Pass the old store's path, because that server writes beside its own install rather than in the directory you launch it from:

claude mcp add --transport stdio --scope user titen \

--env MEMORY_FILE_PATH=/path/to/memory.jsonl -- npx -y titen-memory mcp

Without it Titen still checks the working directory, its node_modules, and npm's npx cache — and says on stderr when it found nothing, rather than starting empty in silence. Point titen at a served instance later by setting TITEN_MCP_URL and TITEN_API_KEY — full setup below.

Audit what any agent memory store has accumulated, including one Titen does not own:

npx titen-memory audit ./memory.json

What is different about it

  • No provider, no key, no account. FTS5 lexical retrieval is the default operating point, not a fallback. Embeddings and model enrichment are opt-in projections that degrade cleanly when they are absent.
  • No runtime dependencies. package.json declares none. What it needs is Bun and one SQLite file; everything else is the standard library and Web APIs.
  • Drop-in for `@modelcontextprotocol/server-memory`. Nineteen tools — the ten titen_* plus the nine reference-server names — with search_nodes routed through real retrieval rather than a substring scan, and your existing memory.json imported on first run.
  • It audits stores it does not own. titen audit reads a reference-server memory.json, a Mem0 export, or a Titen store, and reports duplicates, recall loops, secret patterns and staleness with per-item evidence you can check by hand.
  • The benchmark publishes the losses. Two of the five pre-registered falsifiers fired against Titen, and they are printed on the chart below rather than left out of it.

Already running @modelcontextprotocol/server-memory?

That server had 106,662 downloads in the week of 31 July 2026 — it is the default memory for a large part of the MCP ecosystem, and it is deliberately minimal. Reading its published 2026.7.4 tarball: the store is one newline-delimited JSON file rewritten in full on every mutation, and a search is

graph.entities.filter(e => e.name.toLowerCase().includes(query.toLowerCase()) || ...)

String.includes on a lowercased needle. No tokenizer, no stemming, no ranking — results arrive in insertion order — no scoping or authorization, and no eviction, so the file grows without bound and every call is O(n) in the whole graph. Ask it *"which service handles refunds"* and it matches nothing unless that exact sentence is stored.

Titen answers the same nine tool names, with the same argument schemas, and the same memory://knowledge-graph resource, so a client does not notice the swap. What changes is underneath: search_nodes runs the real retrieval path — FTS5 with stemming, ranked best-first, and the vector index when one is configured — and every read is scoped to a subject and filtered by authorization before it is retrieved, not after.

@modelcontextprotocol/server-memoryTiten
SearchString.includes, insertion orderFTS5 + stemming, ranked, optional vectors
Scopethe whole graph, alwaysorg / subject / project / workspace, enforced pre-retrieval
Contradictionsoverwrittenkept, linked to evidence, flagged
Growthfull-file rewrite, unboundedSQLite, retention and eviction policies
Providernonenone — no key, no LLM, no embedding provider

Import is on first start; the switch is above.

Audit any agent memory store

Every published memory benchmark measures retrieval on a corpus somebody curated. The failure people actually report is on the write side: a store fills with copies of its own output. The one public audit of a production store found 97.8% of 10,134 entries were junk after 32 days. Nothing measures that.

npx titen-memory audit ~/.titen/memory.db        # a Titen store

npx titen-memory audit ./memory.jsonl # @modelcontextprotocol/server-memory npx titen-memory audit ./mem0-export.json --json # a Mem0 export

Five counts — exact duplicate, near duplicate, recall loop, secret pattern, stale — each with per-item evidence you can check by hand. No network, no model, no upload: it opens the path read-only and prints a report; sharing it is your decision. A store that lacks the signal a metric needs is reported as *not measurable from this export*, never as a failure. There is no composite score and there is no leaderboard.

The detection rules are published in audit rules. Titen's own numbers — including 17.9% duplicates and 96.7% stale in its own store, and a compatibility-surface defect the tool found in Titen itself — are in the self-report.

You author the claims

Titen's default memory model is caller-authored claims. consolidate() takes statements you wrote, each explicitly linked to a source observation you already recorded. Titen does not read a transcript and decide on its own what is worth remembering.

That is deliberate. Every claim has an author, a source, and a scope, which is what makes provenance, permission, conflict, and audit answerable at all. It is also a real cost, and it is the honest comparison point: systems that derive memory from raw dialogue do work Titen hands back to you.

Model-assisted derivation and reflection are implemented and ship in the package, but they are activation-gated and no candidate model has passed the gate — the best result on record is 65.56% against a 90% contract threshold. Treat them as unfinished work with a public gate, not as a feature you can simply switch on. The roadmap carries the current evidence.

The questions Titen answers

QuestionTiten's answer
Where did this memory come from?Every claim points back to source observations and keeps its version history.
May this agent see it?Organization, subject, project, workspace, and visibility checks run before retrieval.
What if two sources disagree?Contradictions remain visible until an explicit lifecycle action resolves them.
Who is doing the work?Leases prevent silent double ownership; checkpoints and handoffs make work resumable.
Can we audit or move it?Canonical records live in SQL, with authenticated audit trails and versioned JSONL export/import.
Do we need an LLM or vector database?No. The default install is FTS-only with no provider at all; embeddings and model enrichment are opt-in projections. Whether the vector arm helps depends on the store shape — see below.

Agents connect through authenticated REST, Streamable HTTP MCP, the titen mcp stdio bridge, or the TypeScript SDK. Titen never treats retrieved memory as an instruction, and it does not run agent loops.

Measured against the field

On LongMemEval-S (MIT, externally authored, 500 instances, 246,930 turns), our own scorer, failures kept in the denominator, protocol pre-registered before each run. Full table and method at titen.dev/benchmark.

Every figure below names its condition, because the condition moves recall@1 by 63 points on the same corpus. *Per-instance (scoped)* gives each question its own ~50-session haystack — the single-subject shape

Only the beginning is shown; read the rest in the repo

Ask PopNx