The Problem
AI agents typically lose context across sessions, requiring repetitive re-entry of project state, preferences, and accumulated knowledge. This creates friction in multi-session workflows and limits the continuity of AI-assisted development.
What This Does
Memora provides a persistent memory layer for AI agents through a SQLite-backed MCP server with semantic search and knowledge graph visualization. The memora/ Python package implements core storage (storage.py), backend integrations (backends.py, cloudsync.py), and graph operations (graph/). The memora-graph/ directory contains a Cloudflare Workers TypeScript frontend (worker/src/index.ts, public/index.html) for interactive graph visualization, with Cloudflare D1 and R2 integration via scripts/ and wrangler.toml. A Claude Code plugin (claude-plugin/) wires the server into .mcp.json configuration.
How To Use It
Install via pip install git+https://github.com/agentic-mcp-tools/memora.git or pip install "memora[local]" for offline embeddings. Configure by adding a memora entry to .mcp.json with command: "memora-server" and environment variables MEMORADBPATH (local) or MEMORASTORAGEURI (d1:// format). Start the server with memora-server for stdio MCP mode, or memora-server --graph-port 8765 for the visual interface. The Claude plugin hooks (claude-plugin/hooks-handlers/) enable automatic memory capture on tool use.
Real-World Use
In a multi-session Claude Code workflow, a developer can persist code review notes, design decisions, and debug context in memora. On returning after a break, the agent retrieves prior context via semantic search (memora/graph/issues.py query logic) or graph traversal, avoiding redundant re-orientation. The Neovim integration (nvim/memora.lua) allows in-editor memory access. Cloud sync via D1 (memora/cloudsync.py) enables shared memory across team members' instances.
Code Health & Issues
SDLC: No CI/CD pipeline or GitHub Actions config detected; no automated build/test gate is present. Testing: Two test files exist (tests/testcloudbackends.py, tests/init.py), but coverage is minimal and no unit test runner is configured in the detected files. Configuration: Cloudflare API token and D1 database ID are referenced as env vars but not validated or masked in the repo; the .mcp.json example contains placeholder values. Dependencies: memora-graph/package.json and pyproject.toml are present, but lockfile consistency and vulnerability scanning are unverified. Safety: No input validation or rate-limiting evidence in the server handlers; the graph API routes (memora-graph/functions/api/) accept path parameters without sanitization shown.
The Bottom Line
Memora is a functional persistent memory layer for AI agents with solid SQLite fundamentals, semantic search, and cloud sync options. It suits solo developers or small teams needing cross-session context without a heavyweight vector database. The absence of CI, sparse test coverage, and unvalidated cloud credentials are practical concerns for production adoption. Use it for agent memory augmentation where session continuity matters more than enterprise-grade reliability.