Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Cross-client AI memory hub: agents share one SQLite memory.db via file-level pointers.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MEM_DB, MEM_DEFAULT_SOURCEYou need
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": {
"memtether": {
"command": "uvx",
"args": [
"memtether"
],
"env": {
"MEM_DB": "your-value",
"MEM_DEFAULT_SOURCE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add memtether --env MEM_DB=your-value --env MEM_DEFAULT_SOURCE=your-value -- uvx memtetherFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"memtether": {
"command": "uvx",
"args": [
"memtether"
],
"env": {
"MEM_DB": "your-value",
"MEM_DEFAULT_SOURCE": "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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"memtether": {
"type": "stdio",
"command": "uvx",
"args": [
"memtether"
],
"env": {
"MEM_DB": "your-value",
"MEM_DEFAULT_SOURCE": "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.
MEM_DB envMEM_DEFAULT_SOURCE envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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 7, 2026
The publisher (lanbass869-cell) is not the repo owner (MemTether); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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).
The GitHub repo last changed –, and the latest version (0.1.0a81) reached the registry 20 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
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
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
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.
English | 中文
The only AI agent memory with a tamper-evident audit chain.
*If your agent can't prove what it knows, it doesn't know.*
Remember every fact with its source · Recall it at three depths · Audit who changed what, when, and why — with corrections that never delete and a hash chain anyone can verify.
pip install memtether
$ memtether court fact-20261007-abc
+============================================================+ | MEMTETHER MEMORY COURT - CASE FILE | +============================================================+ | 1. CONTENT Clash proxy port is 7897 | | 2. TEMPORAL valid: 10-05 -> present | known: 10-05 -> now | | 3. PROVENANCE #1 remember by=codex -> #2 correct by=user | | 4. CONFLICTS case #3: vs fact-...old verdict=superseded | | 5. INTEGRITY chain: PASS (3 anchors, 42 entries hashed) | +============================================================+
$ python examples/audit_chain_demo.py
Before tamper: verify_chain: PASS Simulating attacker editing DB directly... After tamper: verify_chain: FAIL {"reason": "chain hash mismatch"}
Hash chain detected the tampering. That is the point.
MemTether is a local-first memory hub for multi-client AI agents. While most memory systems compete on retrieval accuracy, MemTether competes on governance: who wrote each fact, when it took effect, what it superseded, which conflicts a human adjudicated, and a tamper-evident hash chain anyone can verify — no code, no dependencies. Retrieval is provided (SGM deterministic SQL routing + hybrid embedding), but it is not the headline: agent memory that you can audit, correct, and trust is.
Think of it as an append-only memory ledger: every fact is a frame with its source and checksum attached; correcting a fact appends a new frame instead of overwriting the old one; and as_of rewinds the whole ledger to any past date. The DB is the source of truth — export-md gives you a human-readable, diffable, Git-friendly view of it anytime.
Coming from mem0, Zep, or Letta? examples/mem0_migration.py shows a complete round-trip migration from a mem0 JSON export — no mem0 SDK required.
$ memtether court fact-20261007-abc
+============================================================+ | MEMTETHER MEMORY COURT - CASE FILE | | 1. CONTENT Clash proxy port is 7897 | | 2. TEMPORAL valid: 10-05 → present | known: 10-05 → now | | 3. PROVENANCE #1 remember by=codex → #2 correct by=user | | 4. CONFLICTS case #3: vs fact-...old verdict=superseded | | 5. INTEGRITY chain: PASS (3 anchors, 42 entries hashed) | +============================================================+
| Feature | MemTether | mem0 | Hindsight | EverOS |
|---|---|---|---|---|
| Audit hash chain (tamper-evident) | ✅ | ❌ | ❌ | ❌ |
| Bi-temporal supersession | ✅ | ❌ | ❌ | ❌ |
| Conflict gate (human adjudication) | ✅ | ❌ | ❌ | ❌ |
| Source attribution (mandatory) | ✅ | ⚠️ optional | ❌ | ❌ |
| Memory Court (visual audit) | ✅ | ❌ | ❌ | ❌ |
| Local SQLite (no cloud) | ✅ | ⚠️ needs setup | ⚠️ needs server | ✅ |
| Zero cloud dependency | ✅ | ❌ | ❌ | ✅ |
python examples/audit_chain_demo.py to see it turn red.Run it yourself:
$ python examples/audit_chain_demo.py
写入 25 条记忆(自动生成 2 个审计锚点)... 篡改前 verify_chain: PASS {'anchors': 2, 'entries_covered': 20} 模拟攻击者直接改库... 篡改后 verify_chain: FAIL {'reason': 'chain hash mismatch'} ✅ 哈希链成功检测到篡改!
Note: ntries_covered: 20 with 25 writes is expected — the hash chain anchors every 10 audit entries, so the last 5 writes sit in the unanchored tail until the next batch. Tampering with an *anchored* entry is what turns verification red.
## Migrating from mem0
Already using mem0? examples/mem0_migration.py shows a complete round-trip: mem0 JSON export → MemTether Exchange v1 → live retrieval → back to mem0 format. No mem0 SDK required, bi-temporal fields honestly marked temporal_source="backfilled".
| Operation | p50 | p95 | p99 |
|---|---|---|---|
| remember (insert) | 28.7ms | 34.6ms | 117.8ms |
| search (SGM entity) | 33.1ms | 39.5ms | 41.6ms |
| search (keyword) | 32.2ms | 35.0ms | 135.0ms |
| correct (supersede) | 50.8ms | 54.7ms | 54.7ms |
Reproduce: python benchmarks/bench_latency.py --n 200
main only holds merges that passed the full test suite. Alpha builds are tagged automatically on every successful build (v0.1.0aN), so tag numbers are not contiguous and some tags point at commits that were later squashed into a merge. Install from PyPI for a validated build:
pip install memtether -i https://pypi.org/simple/
Under the hood: supersession chains (corrections never delete), bi-temporal timestamps (when facts were true vs when the system learned them), human-adjudicated conflict resolution, and a hash-chained audit log designed with EU AI Act Article 12 record-keeping requirements in mind (not certified compliance) record-keeping requirements.
One physical SQLite database, shared by every AI client via file-level pointers. No cloud. No API fees. No sync daemon. Greppable, git-able, yours — and auditable.
*Compared to mem0 (66.6K★), Zep/Graphiti (31.5K★), and agentmemory (29.2K★):
those systems either overwrite or delete old values. MemTether's supersession
chain preserves the full history with source attribution and Q-Value ranking.*
EAF retrieval: 75.7% strict on LongMemEval 500Q (paired delta +19.4pp, McNemar p=7.8e-7).
| MemTether | memora (731★) | memtrace (486★) | icarus (290★) | mem0 (66K★) | |
|---|---|---|---|---|---|
| Supersession chains (corrections don't delete) | ✅ enforced | ❌ | ❌ | ✅ | ❌ overwrite |
| Evidence chain (tamper-evident, browser-verifiable) | ✅ court CLI + zip | ❌ | ❌ | ❌ | ❌ |
| Human conflict adjudication (decisions on record) | ✅ conflicts CLI | ❌ | ❌ | ❌ | ❌ |
| Bi-temporal (valid_from ≠ recorded_at) | ✅ 100% coverage on fact rows | ❌ | ✅ on knowledge-graph edges (not per-fact rows) | ❌ | ❌ |
| Source attribution (who wrote it, enforced) | ✅ registry + reject | ❌ | ❌ | ✅ provenance | ❌ |
| Bi-temporal (per-fact rows) | ✅ | ❌ | ❌ | ❌ | ✅ graph edges only |
| Conflict detection (rule-based + human review) | ✅ candidate generator | ❌ | ❌ | ❌ | ❌ |
| MCP server | ✅ | ✅ | ✅ | ❌ | ✅ |
| 23+ client adapters | ✅ auto-detect | ❌ | ❌ | ❌ | ❌ |
| Evaluation integrity framework | ✅ 5 patterns | ❌ | ❌ | ❌ | ❌ |
| CI: 9 jobs / 567 tests | ✅ | ? | ? | ? | ✅ |
| Language | Python | ? | Rust | ? | Python |
*'Each cell reflects the feature's presence in the project's public documentation as of 2026-10-07. MemTether's differentiator is not any single feature — it's the combination of all governance dimensions in one local-first deployment.'*
Artifact bundle with per-question records.
mcp-name: io.github.lanbass869-cell/memtether
Project page · Install · Docs · Reproduce · 中文文档 · Español
Install · Usage · Why MemTether · Benchmarks · Architecture · Security · FAQ
pip install memtether
memtether demo memtether search "投影" --list
$ memtether search "投影" --list
from memtether import remember, search
remember("User prefers dark mode", source="my-agent") # hash-chained on write results = search("dark mode")
# Or as an MCP server for Claude Code / Cursor
memtether mcp
memtether download-models
# Node.js / TypeScript — thin REST client, zero dependencies
npm install @memtether/client
MemTether ships skills that teach your coding agent *when* to use memory — install with npx skills add:
npx skills add MemTether/MemTether
| Skill | What it teaches your agent |
|---|---|
agent-memory | Install, core concepts, CLI + MCP surface |
agent-memory-recall | Search-before-answer: check L0 recall before answering from memory |
agent-memory-court | Write-then-verify: hash-chain check + timeline after memory writes |
Only the beginning is shown; read the rest in the repo