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)
Review gate for shared agent memory: an unreviewed or hand-edited memory is never served.
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.
PROCHEIRON_SIGNING_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You 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": {
"procheiron": {
"command": "uvx",
"args": [
"procheiron",
"mcp",
"--root",
"/path/to/your/commons",
"--actor",
"your-agent-name"
],
"env": {
"PROCHEIRON_SIGNING_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add procheiron --env PROCHEIRON_SIGNING_KEY=your-value -- uvx procheiron mcp --root /path/to/your/commons --actor your-agent-nameFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"procheiron": {
"command": "uvx",
"args": [
"procheiron",
"mcp",
"--root",
"/path/to/your/commons",
"--actor",
"your-agent-name"
],
"env": {
"PROCHEIRON_SIGNING_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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"procheiron": {
"type": "stdio",
"command": "uvx",
"args": [
"procheiron",
"mcp",
"--root",
"/path/to/your/commons",
"--actor",
"your-agent-name"
],
"env": {
"PROCHEIRON_SIGNING_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.
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 7, 2026
The registry name was verified with the GitHub account logotheusneuro-cpu, 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.
You need to fill in: PROCHEIRON_SIGNING_KEY
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.3.3) reached the registry 3 months 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.
Procheiron
An unreviewed memory never reaches your agents.
Who wrote this memory, who checked it — and has anyone touched it since?
Procheiron is a small, dependency-free trust layer for AI agent memory. Memory tools are good at storing and recalling; trust is the part nobody owns. Give several agents a shared memory and any one of them can write a "fact" the others will happily build on — nobody reviewed it, nobody approved it, and when it turns out to be wrong there's no clean way to trace it or retire it.
Procheiron adds that discipline, and enforces it with a validator rather than a convention. It adds no memory engine of its own — no embeddings, no ranking, no recall. Bring whatever memory you already use — a vector database, a knowledge graph, a folder of markdown files. It governs the records; your engine keeps doing the remembering.
A deployment validates clean. Then someone with write access quietly rewrites history — a past promotion suddenly claims a different actor:
$ procheiron validate ./team-memory
Procheiron validation (full tier): PASS
$ # edit team-memory/memory/index/audit.jsonl: "actor": "vera_curator" → "rogue_agent"
$ procheiron validate ./team-memory Procheiron validation (full tier): FAIL ERROR: audit chain: audit event 0: entry_hash mismatch — content was altered after it was written ERROR: memories.jsonl:1: active record has no corroborating promotion audit event — forged/hand-flipped record
Real output (ids shortened). You can reproduce this exact catch on your own machine in the next two sections — no clone required.
pip install procheiron # or: pipx install procheiron — see the note below
pip install "procheiron[crypto]" # optional: ed25519 signing (the chain itself needs nothing)
pipx users: pipx puts the procheiron command on your PATH but does not make the package importable by your system python3 . The scaffolded helpers ( memory_propose.py , memory_promote.py , validate_minimal.py ) need the package, so run them with the interpreter procheiron init prints on completion rather than a bare python3 . Everything below assumes a plain pip install in an active environment.
Using a coding agent? Hand it one instruction and it installs Procheiron, wires itself in over MCP, and runs the tamper check end to end:
Retrieve and follow the instructions at:
https://raw.githubusercontent.com/logotheusneuro-cpu/procheiron-core/master/INSTALL_FOR_AGENTS.md
Or prove the spec from a bare checkout, no install at all: python3 conformance/run_conformance.py.
The demo above, on your own machine: scaffold a commons, write one governed memory, then rewrite history and watch the chain snap.
procheiron init ./commons && cd commons
python3 memory_propose.py --created-by alice --type decision --scope project \ --subject "retry policy" --statement "Retries use exponential backoff." \ --source-path docs/decisions.md --confidence 0.9
python3 memory_promote.py --memory-id --new-status active \ --reviewer bob --authorized-by casey --reason "verified against the source" \ --allow-unverified-reviewer
procheiron validate . # PASS
sed -i.bak 's/bob/rogue/g' memory/index/audit.jsonl
procheiron validate . # FAIL: entry_hash mismatch — content was altered mv memory/index/audit.jsonl.bak memory/index/audit.jsonl # put history back → PASS again
Procheiron ships an MCP server, so any MCP-speaking agent — Claude Code, Claude Desktop, Cursor, Codex, and the rest — reads and writes the commons under the same rules a human faces. Four tools: memory.search, memory.get, memory.propose, memory.promote.
Claude Code:
claude mcp add procheiron -- procheiron mcp --root ./commons
Anything with an mcpServers config (Cursor, Claude Desktop, …) — merge, don't replace:
{ "mcpServers": { "procheiron": { "command": "procheiron", "args": ["mcp", "--root", "./commons"] } } }
Writes are dry-run until you pass --allow-writes, and promotion over MCP hits the same gate as everywhere else: the agent that wrote a memory cannot approve it.
The server is dual-era: it speaks the current 2026-07-28 revision (stateless, per-request _meta, server/discover) *and* the older initialize handshake, so it works whether your client has migrated yet or not. That is not just reach — with no handshake to anchor it, a modern request used to be answered under legacy rules, and a memory tool replying "nothing found" when it means "I don't speak your protocol" is the one answer you can't tell from a real one.
draft → candidate → validated → active → superseded.active — trusted — after review by someone who did not write it. Self-review is refused, not discouraged: $ python3 memory_promote.py --memory-id mem_20260709_retry_policy… --new-status active \
--reviewer alice --reason "looks right to me" memory_promote: REFUSED — self-review: 'alice' created this record (invalid transition §8.7)
--expect-head and that's caught too (see below).What you'd otherwise do for trust in agent memory:
| Enforced independent review | Tamper-evident history | Works with any store | Setup | |
|---|---|---|---|---|
| Convention docs ("agents should…") | no — honor system | no | — | none |
| Git history on the memory files | no | yes — unless the history itself is rewritten | the files, not your store | none |
| Your memory engine's metadata | no — self-asserted | no | that engine only | none |
| Full provenance stack (W3C PROV + signing infra) | possible | yes | yes | build-it-yourself |
| Procheiron | yes — validator-refused † | yes — plus a hash chain; a full rewrite needs an external anchor | yes — governs records for any store you bring | `pip install`; anchor + key custody for the strongest guarantee |
† Enforced against self-review and edit/reorder tampering. An insider with filesystem write access can still *append* a forged promotion — closing that needs the optional signing extra with keys held out of their reach. The honest line between tamper-evidence and authenticated provenance is spelled out in CLAIMS.md.
Git already gives you tamper-evidence on the same assumption Procheiron makes (nobody rewrites the anchor) — the difference is the enforced review gate and record-level structure git has no notion of. And memory engines aren't the competition: Procheiron governs the records they hold and will never grow retrieval of its own.
| Command | What it does |
|---|---|
procheiron init ./my-commons | Scaffold a governed memory commons. |
procheiron validate | Validate a deployment. Add --expect-head and --expect-lint to pin the chain head and the enforcement profile against external anchors; --json reports both current values. |
procheiron scorecard | Trust-loop numbers: records, independent promotions, blocks caught. |
procheiron keygen --actor | Mint an ed25519 keypair for signed authorship (needs procheiron[crypto]). Private key → 0600 file; public key → stdout for known_actor_keys. |
procheiron mcp --root | Serve the commons to agents over MCP (stdio JSON-RPC). |
procheiron conformance | Run the conformance suite (needs a repo checkout). |
procheiron version | What it says. |
A candid word before you rely on it.
The hash chain makes the log tamper-evident: nobody can quietly edit history without breaking the chain. But the chain only proves the log is internally consistent — someone with write access to the file can rebuild the whole thing from scratch and it will verify. The fix is to anchor the newest entry hash somewhere that person can't touch (a git commit works fine) and hand it back at check time: procheiron validate --expect-head . Now a full rewrite is caught too.
The enforcement profile has the same problem — it lives in the same directory as everything it governs, so it can be downgraded from inside. Anchor it the same way with --expect-lint . Both anchors are checked unconditionally, and deleting what they anchor fails the check rather than skipping it; procheiron validate --json prints the current audit_head and lint_fingerprint so you have something to pin.
The full threat model — signing, keys, and the determined insider
Signing raises the bar further. With the crypto extra and a key registry (known_actor_keys), every event from a registered actor must carry that actor's valid signature. Stripping a signature fails validation; it does not slip through.
And the honest residual: if one OS user owns the log, the keys, *and* the key registry, a determined ins
Only the beginning is shown; read the rest in the repo