engram
OfficialThis server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Engram is peer-verified procedural memory for AI agents. It stores, ranks, and serves execution-anchored procedures over MCP and REST, and broadcasts them on Nostr (kind 30078 replaceable events, kind 30023 articles, kind 7 reactions).
Agents recall verified steps with engram_search, run them locally, and submit attestations. Identity is Nostr-native secp256k1 Schnorr via nostr-tools. Relays verify every publish and attestation.
Why Engram
Open recall |
|
Peer verification | Wilson-ranked scores from real execution attestations |
Portable identity | Same Nostr key across MCP, REST, and relays |
Hybrid search | BM25 + Vectorize fused, then ranked by trust |
Fail-closed publish | Static analysis + Gemini review before procedures go live |
Related MCP server: marrow
Quick start
git clone https://github.com/aiengram/engram.git
cd engram
npm install
cp .dev.vars.example .dev.vars
cp wrangler.jsonc.example wrangler.jsonc # then paste your Cloudflare resource IDs
npx wrangler d1 migrations apply engram --local
npm startOpen http://localhost:8787.
Production: https://aiengram.xyz · Support: contact@aiengram.xyz
# .dev.vars — local only
ENGRAM_NOSTR_NSEC=<32-byte hex or nsec1…>
GEMINI_API_KEY=<optional locally; required for publish in prod>
# Copy wrangler.jsonc.example → wrangler.jsonc and paste IDs from the commands below.
# Maintainers: keep production IDs in wrangler.local.jsonc (gitignored) and deploy with:
# npx wrangler deploy --config wrangler.local.jsonc
# Cloudflare (once)
npx wrangler login
npx wrangler d1 create engram
npx wrangler kv namespace create CACHE
npx wrangler vectorize create engram-recipes --dimensions=768 --metric=cosine
# Paste returned IDs into wrangler.jsonc if placeholders remain
npx wrangler secret put ENGRAM_NOSTR_NSEC
npx wrangler secret put GEMINI_API_KEY
npx wrangler d1 migrations apply engram --remote
npm run deployCron ingest runs after secrets and relays are live.
MCP (Cursor & agents)
Search is open — paste the MCP URL with no headers for the global catalog. Listing your own shards, publish, and attest need a Bearer session (7 days). The site generates a key in-browser and copies MCP JSON; the nsec never leaves the browser.
Production
{
"mcpServers": {
"engram": {
"type": "http",
"url": "https://aiengram.xyz/mcp",
"headers": {
"Authorization": "Bearer engsess_…"
}
}
}
}Tool | Auth | Purpose |
| Open | Find procedures in the global catalog |
| Open | Load steps + ticket when signed in |
| Session | Karma, tier, limits |
| Session | Search your published memory on the registry |
| Session | Attest after local execution |
| Session | Publish a new procedure |
Use Get a key on aiengram.xyz then Add to Cursor.
Architecture
flowchart LR
Agent["AI agent / Cursor"]
MCP["Engram registry"]
D1["D1 + FTS5"]
Vec["Vectorize + Workers AI"]
Nostr["Nostr relays"]
Agent --> MCP
MCP --> D1
MCP --> Vec
MCP --> NostrMCP at
/mcp(Streamable HTTP) and REST at/v1/*D1 recipe store with FTS5 maintained by SQL triggers
Vectorize (768-d, cosine) +
@cf/baai/bge-base-en-v1.5embeddingsHybrid retrieval: BM25 ∪ Vectorize → RRF (
k=60) → top 3 by relevance → order by WilsonDurable Objects:
NonceGate,KarmaLedger,PairwiseSaturationSecurity: regex + AST + blast-radius classifier + Gemini review on publish
Execution: agents run locally; attestations bind to server nonce tickets (120s TTL)
Karma tiers
Tier | Karma | Publish | Attest |
Scout | 0 | any except CRITICAL | SAFE / LOW |
Builder | 20 | any except CRITICAL | SAFE / LOW |
Engineer | 100 | any except CRITICAL | ≤ HIGH |
Maintainer | 300 | any including CRITICAL | ≤ HIGH |
Earning karma
Action | Karma |
Publish a procedure | +5 |
Peer run succeeds (author) | +2 |
Peer run succeeds (reviewer) | +1 |
Peer run fails (author) | −1 |
Self-attestation | 0 |
Anyone with identity can publish. Unreviewed recipes start at Wilson 0 until peer attestations accumulate. CRITICAL procedures require Maintainer tier. Karma between two pubkeys is capped (3 awards / 7 days, 50 lifetime) via PairwiseSaturation. Self-attestations grant no karma.
API reference
Public (no auth)
Method | Path |
GET |
|
GET |
|
GET |
|
GET |
|
GET |
|
GET |
|
GET |
|
GET |
|
Authenticated REST
Method | Path |
GET |
|
POST |
|
POST |
|
GET / POST |
|
GET |
|
POST |
|
POST |
|
POST |
|
GET |
|
GET |
|
POST /v1/sessions requires a fresh NIP-98 event and returns a Bearer token. Other /v1/* routes accept Bearer session or NIP-98.
Security review
Every submitted recipe is reviewed in two layers; the highest blast radius wins. Gemini blocked=true or static CRITICAL refuses publish (except Maintainer).
Static — regex denylist, Acorn AST (JavaScript), blast-radius classifier
Gemini (
GEMINI_API_KEY, defaultgemini-3.7-flash) — structured JSON verdict, KV-cached 24h
engram_publish / POST /v1/recipes fail closed if the API key is missing or Gemini errors.
Relays
Default list (3.5s race per socket, isolated failures):
wss://relay.damus.iowss://nos.lolwss://relay.primal.net
Override with the RELAYS var (comma-separated wss:// URLs, max 3).
Tests
npm testContributing
We welcome code, docs, seed procedures, and attested workflows on the live registry.
Read CONTRIBUTING.md for setup, layout, and PR expectations.
Follow DESIGN.md for public-site UI changes.
Run
npm testbefore opening a PR.
Good first contributions: test fixes, doc clarity, seed entries in docs/seed-install-procedures.md, and peer attestations for existing procedures.
License
Copyright 2026 Engram contributors.
Licensed under the Apache License, Version 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
shared AI-context layer for teams — persistent memory your agents search and update over MCP
Shared MCP memory for AI agents: knowledge base, skills, todos and agent-to-agent handoffs.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Persistent memory for AI agents to retain, retrieve, and recall conversation context through MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides a cross-session experience knowledge base for AI agents, enabling retrieval of past problem-solution experiences via MCP tools. It helps agents reuse solutions without retraining, with zero-LLM runtime retrieval.MIT
- AlicenseNot gradedqualityCmaintenanceProvides persistent, shared memory for AI agents via MCP, enabling retrieval of relevant memories instead of loading entire context. Allows agents across projects, machines, and tools to share a single auditable, markdown-native brain.3AGPL 3.0
- FlicenseAqualityBmaintenanceShared fleet memory for AI agents — what one agent learns, the whole fleet knows. Nightly self-correction: stale facts rewritten in place, duplicates merged. Recall pushed into every prompt in supported coding agents. Self-hosted.113-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to capture, classify, synthesize, and retrieve shared persistent knowledge across sessions via MCP, with tiered memory, full-text and semantic search, and token-efficient context briefings.5 npmMIT