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)
Self-hosted agent memory: redaction before write, append-only audit, local embeddings.
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.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
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.
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.
These 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 8, 2026
The registry name was verified with the GitHub account mahaoboy, which owns the repo
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 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.
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.0) reached the registry 14 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB 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:↓ Downloads per weeki★ 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.
MCP-native, self-hosted memory for AI agents — with the governance an enterprise will actually ask for.
One static binary. Local embeddings. No cloud, no graph database, no Python stack. Redaction happens before anything is written; every read is audited.
Website · MCP Registry · v0.1.0
./memalyze # MCP over stdio, for Claude Code / Cline / any harness
v0.1.0 is out — static binaries for linux/darwin/windows, checksums published alongside.
Every agent framework ships its own memory: a vector table here, a JSON file there, a "notes" folder somewhere else. Three things follow, and all three hurt in production:
memalyze is the middleware that fixes those three, and nothing else.
| Cloud memory APIs | Framework built-ins | Personal note apps | memalyze | |
|---|---|---|---|---|
| Where data lives | vendor cloud | inside the framework | local Markdown | your server / your laptop |
| How to connect | proprietary API | tied to one framework | MCP | MCP, any harness, stdio or HTTP |
| Redaction before write | ❌ | ❌ | ❌ | ✅ 8 rule families, configurable, irreversible by default |
| Read audit | partial | ❌ | ❌ | **✅ append-only\*, per-actor, exportable** |
| Offline | ❌ | partial | ⚠️ model download needed | ✅ local embeddings, no network |
| Deployment | SaaS | with the framework | 173 Python packages | ✅ one static binary / one compose file |
| Tool surface | — | — | 23 tools | 4 tools |
\* A database trigger rejects UPDATE on audit_log; DELETE is not blocked, so anyone with the database file can remove rows. It is append-only at the SQL level, not WORM — export to object-lock or syslog storage if deletions are inside your threat model (SECURITY.md).
Not another mem0, and not Basic Memory either: those are good at *remembering*. memalyze assumes remembering is becoming a commodity and competes on governance, offline operation, and a deliberately small surface.
No Ollama, no network, no MCP client:
./examples/demo/demo.sh
It writes a memory containing a phone number, an e-mail and a resident ID, then shows:
[REDACTED:phone], not 13800138000);Details and transcripts: docs/s15-redaction-audit.md.
Prebuilt, checksum-verified (Linux/macOS; Windows: take the .exe from the release page):
curl -fsSL https://raw.githubusercontent.com/mahaoboy/memalyze/main/scripts/install.sh | sh
ollama pull qwen3-embedding:0.6b # ~640 MB, 1024-dim, strong on Chinese memalyze --version
From source (Go 1.27+): make build, then ./memalyze --version.
Claude Code (project scope):
claude mcp add --scope project memalyze -- "$(pwd)/memalyze"
cp examples/claude-code/CLAUDE.md ./CLAUDE.md # makes Claude search before answering
Cline: copy examples/cline/cline_mcp_settings.json and .clinerules. Generic harness: examples/custom-harness/ — one prompt contract plus pseudocode. All options: examples/README.md.
Download the bundle for your platform from the v0.1.0 release and open it. Claude Desktop shows an install sheet and asks where to keep memalyze.db.
| Platform | File |
|---|---|
| macOS Apple Silicon | memalyze-0.1.0-darwin-arm64.mcpb |
| macOS Intel | memalyze-0.1.0-darwin-amd64.mcpb |
| Windows x64 | memalyze-0.1.0-windows-amd64.mcpb |
| Linux x64 | memalyze-0.1.0-linux-amd64.mcpb |
The binary inside is the same v0.1.0 build as above. These bundles are new and have not been opened on a real macOS/Windows desktop yet — if the install sheet does not appear, use the plain binary. The server is also listed in the MCP Registry.
printf 'MEMALYZE_HTTP_TOKEN=%s\n' "$(openssl rand -hex 24)" > .env
docker compose up -d --build curl -s http://127.0.0.1:8080/healthz # {"status":"ok","version":"dev"}
Point a Streamable-HTTP MCP client at http://127.0.0.1:8080/mcp with Authorization: Bearer $MEMALYZE_HTTP_TOKEN. See docs/s16-docker.md.
Four, on purpose. Every extra tool is a decision the model has to make.
| Tool | What it does | Notable semantics |
|---|---|---|
memory_add | store a memory | duplicates return the existing id; embedding failure keeps the memory (embedding_failed=true); returns redacted + rule names |
memory_search | retrieve | vector first, keyword backfill, degraded + degrade_reason when the vector path is unavailable; empty query lists recent |
memory_delete | soft delete | idempotent for already-deleted ids; unknown id returns a tool error |
echo | wiring check | proves the MCP link works; no business logic |
There is no memory_context tool: memory_search already returns text you can paste into a prompt, and two overlapping tools make model choice worse (D-017).
Redaction (write path). Rules run in memory.Service.Add *before* dedup, FTS and embedding — so plaintext never reaches the main table, the full-text index or a vector.
| Rule | Example input | Stored as |
|---|
| private_key_block | `[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]
Only the beginning is shown; read the rest in the repo