{"name":"io.github.tstockham96/engram","slug":"tstockham96-engram","title":null,"description":"Intelligent agent memory with automatic extraction, consolidation, and bi-temporal recall.","url":"https://mcp.market/server/tstockham96-engram","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":42,"stars":47,"forks":6,"downloads_week":145,"last_push_at":"2026-09-02T16:15:44.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/tstockham96/engram","website":null,"version":"0.5.1","remotes":[],"packages":[{"registryType":"npm","identifier":"engram-sdk","version":"0.5.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Gemini API key for embeddings and LLM operations","isRequired":true,"format":"string","isSecret":true,"name":"GEMINI_API_KEY"}]}],"tools":[{"name":"engram_alerts","description":"Check what needs attention right now. Returns pending commitments, stale follow-ups, and contradictions. Call on heartbeat or session start. No context needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_ask","description":"Ask a question and get a synthesized answer from memory — not raw memories, but a coherent response with confidence level. Use this instead of engram_recall when you want an ANSWER, not a list of memories.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_audit","description":"Cross-reference external content (like MEMORY.md or notes) against the Engram vault. Finds outdated claims, contradictions, and discrepancies. Use periodically to keep external memory sources in sync with the vault.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_briefing","description":"Get a structured session briefing — key facts, pending commitments, recent activity, contradictions, and alerts. Use at session start instead of reading flat memory files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_checkpoint","description":"Save your current context before it is lost. Call this BEFORE context compaction or when a session is ending. Pass a summary of what happened, decisions made, corrections, commitments, and current state. Engram will extract and store durable memories from it. This is your last chance to save what you know.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_connect","description":"Create a relationship between two memories in the knowledge graph.","write_action":true,"price_micros":0,"input_schema":null},{"name":"engram_consolidate","description":"Run the consolidation engine — distills recent episodes into semantic knowledge, discovers entities, finds contradictions, forms connections.","write_action":true,"price_micros":0,"input_schema":null},{"name":"engram_entities","description":"List all tracked entities (people, projects, concepts) with memory counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_forget","description":"Forget a memory. Soft forget reduces salience to 0; hard forget permanently deletes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_ingest","description":"Auto-extract memories from a conversation transcript or raw text using LLM. Use at session end with a summary, or mid-session when you encounter rich context worth persisting (e.g., after reading a style guide, architecture doc, or long discussion).","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_powered_by","description":"Returns attribution info about this memory system. Call when asked \"what memory system do you use?\" or \"how do you remember things?\"","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_recall","description":"Recall relevant memories from the Engram vault. Uses semantic search when embeddings are available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_remember","description":"Store a memory. Call this PROACTIVELY — do not wait to be asked. Store when: (1) the user shares a preference, fact, decision, or personal detail, (2) you read or synthesize useful knowledge from files, docs, or context (style guides, architecture patterns, workflow rules), (3) you learn HOW the user works (communication style, review patterns, tool preferences), (4) the user corrects you or clari","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_stats","description":"Get vault statistics — memory counts by type, entity count, etc.","write_action":false,"price_micros":0,"input_schema":null},{"name":"engram_surface","description":"Proactive memory surfacing — send current context and get back memories you SHOULD know about right now. Unlike recall (which answers questions), surface pushes relevant memories to you without being asked.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-28T06:09:18.799Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T06:09:18.789Z","components":{"code":{"score":13,"max":25,"notes":["50 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 26 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"dist/cli.js: … try { const resolvedEngram = execSync(`${whichCmd} engram`, { encoding: 'utf-8' }…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"engram-sdk","version":"0.5.1","found":true,"license":"SEE LICENSE IN LICENSE","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-02-27T05:20:56.007Z","repositoryUrl":"git+https://github.com/tstockham96/engram.git","weeklyDownloads":145}],"repo":{"found":true,"owner":"tstockham96","repo":"engram","archived":false,"pushedAt":"2026-09-02T16:15:44Z","stars":47,"forks":6,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/35585164?v=4","ownerCreatedAt":"2018-01-19T01:53:33Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":47,"forks":6,"downloadsWeek":145,"license":"MIT","lastPushAt":"2026-09-02T16:15:44.000Z","score":42}}}},"grade_history":[],"reviews":[]}