RemembrallMCP
Memory serverOfficial RoboticForce, Inc. project
Created by RoboticForce, Inc.
Published in roboticforce/remembrallmcp. Publisher page
34 GitHub stars
What it is
Whole-codebase knowledge for AI coding agents. A field-aware code graph (functions, classes, methods, fields, and references across 8 languages) plus persistent memory. Rust core, Postgres + pgvector backend, MCP protocol.
AutoGineer overview, from the brain’s own files
RemembrallMCP provides AI coding agents with a persistent, structured understanding of a codebase that persists across sessions. By combining a field-aware dependency graph (built with tree-sitter) with persistent memory (using Postgres and pgvector), it allows agents to perform complex impact analysis and recall past decisions without re-exploring the codebase. It supports nine programming languages and integrates via the Model Context Protocol (MCP), significantly reducing token usage and latency for common coding tasks.
How it works
Memory model: Hybrid
AutoGineer overview, from the brain’s own files
The system uses a hybrid memory model. It parses source code into a dependency graph of functions, classes, methods, and fields, storing these in a PostgreSQL database with pgvector for semantic search. It provides an MCP server that exposes tools for agents to query this graph, perform impact analysis, and store or recall project-specific knowledge, decisions, and patterns.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 2 |
| docs | docs | 5 |
| scripts | scripts | 6 |
| tests | tests | 2 |
| benchmarks | folder | 5 |
| crates | folder | 58 |
| test-fixtures | folder | 8 |
The agent writes
- .mcp.json evidence: README.md
Requirements
Apps: Docker
Runtimes: Node.js, Python >=3.10, Rust
Databases: MongoDB, PostgreSQL
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 1 script. Review install.sh before opening the folder in Claude Code. No step below turns a hook on for you.
install.sh:sh install.sh
- Not scanned by AutoGineerThe author’s MCP configuration (.mcp.json) also starts it in a way AutoGineer does not offer. Read that file: AutoGineer did not scan that path; what it runs is listed under “This brain runs”. https://github.com/roboticforce/remembrallmcp/blob/77e6b2b99703ffaa18a900e12e829104561a144f/.mcp.json
- Not scanned by AutoGineerThe author’s MCP configuration (README.md) also starts it in a way AutoGineer does not offer. Read that file: AutoGineer did not scan that path; what it runs is listed under “This brain runs”. https://github.com/roboticforce/remembrallmcp/blob/77e6b2b99703ffaa18a900e12e829104561a144f/README.md
- Not scanned by AutoGineerThe author’s README also describes installing it with Docker Compose. Read its install section: AutoGineer did not scan that path. https://github.com/roboticforce/remembrallmcp/blob/77e6b2b99703ffaa18a900e12e829104561a144f/README.md#quick-start
- Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/roboticforce/remembrallmcp/blob/77e6b2b99703ffaa18a900e12e829104561a144f/README.md#quick-start
- Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/remembrallmcp
Created by RoboticForce, Inc.. Published in roboticforce/remembrallmcp. Licence: MIT License.
Usage
AutoGineer overview, from the brain’s own files
- Connect to an MCP-compatible agent like Claude Code or Cursor
- Index a project directory to build the code graph
- Query the impact of code changes before implementation
- Store and recall architectural decisions or middleware patterns
- Ingest existing documentation or GitHub PR history into agent memory
- “remembrall_impact("AuthMiddleware", direction="upstream")”
- Returns a list of files that depend on the AuthMiddleware, allowing the agent to assess the impact of changes.
- “remembrall_recall("authentication middleware patterns")”
- Retrieves relevant memories from past sessions regarding authentication patterns.
Documentation by RoboticForce, Inc.
RemembrallMCP
Image: License: MIT Image: Crates.io Image: CI Image: Docker
Whole-codebase knowledge for AI coding agents. A field-aware code graph plus persistent memory, built on Rust, Postgres + pgvector, and exposed over MCP.
The problem: AI coding agents see a few pages out of the book each session. They grep, read, and re-derive how the codebase fits together from scratch - no map of what calls what, no way to know what breaks when something changes, and no memory of decisions made in past sessions.
The solution: RemembrallMCP gives the agent the whole codebase - a field-aware dependency graph (functions, classes, methods, fields, and the references between them) across 9 languages, plus persistent memory that survives between sessions.
1. Field-Aware Code Graph - A live map of your codebase built with tree-sitter. Functions, classes, methods, and data fields, plus call, import, defines, inherits, and field-reference relationships across 9 languages. Ask "what breaks if I change this?" - down to a single struct field - and get an answer in milliseconds, before the agent touches anything.
2. Persistent Memory - Decisions, patterns, and organizational knowledge that survive between sessions. Hybrid semantic + full-text search finds relevant context instantly.
remembrall_recall("authentication middleware patterns")
-> 3 relevant memories from past sessions
remembrall_index("/path/to/project", "myapp")
-> Builds dependency graph: 847 symbols, 1,203 relationships
remembrall_impact("AuthMiddleware", direction="upstream")
-> 12 files depend on AuthMiddleware (with confidence scores)
remembrall_impact("amount", direction="upstream")
-> methods that read self.amount, across the whole codebase
remembrall_store("Switched from JWT to session tokens because...")
-> Decision stored for future sessionsWhy the code graph matters
Without RemembrallMCP, agents explore your codebase from scratch every session. Claude Code spawns Explore agents, Codex reads dozens of files, Cursor greps through directories - all burning tokens and time just to understand what calls what. A single "find all callers of this function" task can cost thousands of tokens across multiple tool calls.
With RemembrallMCP, that same query is a single remembrall_impact call that returns in <1ms with zero exploration tokens. The dependency graph is already built and waiting.
| Without RemembrallMCP | With RemembrallMCP | |
|---|---|---|
| "What calls UserService?" | Agent greps, reads 8-15 files, spawns sub-agents | remembrall_impact - 1 call, <1ms |
| "Where is auth middleware defined?" | Agent globs, reads matches, filters | remembrall_lookup_symbol - 1 call, <1ms |
"Who references the amount field?" | Agent greps for self.amount, misses ORM and cross-module usages | remembrall_impact - 1 call, <1ms |
| "What did we decide about caching?" | Agent has no context, asks you | remembrall_recall - 1 call, ~25ms |
| Typical exploration cost | 5,000-20,000 tokens per question | ~200 tokens (tool call + response) |
The savings scale with codebase size. On a small project, an agent can grep and read its way through. On a 500-file monorepo, that exploration becomes the bottleneck - agents hit context limits, spawn multiple sub-agents, or miss cross-module dependencies entirely. RemembrallMCP's graph queries stay under 10ms regardless of project size because the structure is pre-indexed in Postgres, not discovered at runtime.
This is the difference between an agent that reads a few pages out of the book every time and one that already holds the whole codebase.
Benchmarks
RemembrallMCP is currently benchmarked on two surfaces:
Agent productivity on code tasks - Tested on pallets/click v8.1.7 (594 symbols, 1,589 relationships). Five identical coding tasks run with and without RemembrallMCP. Full report.
Memory recall quality - Local recall harness run against 31 ground-truth queries covering search quality, filtering, edge cases, ranking, and latency.
| Metric | Without RemembrallMCP | With RemembrallMCP | Delta |
|---|---|---|---|
| Total tool calls (5 tasks) | 112 | 5 | -95.5% |
| Estimated tokens | ~56,000 | ~1,000 | -98.2% |
| Avg tool calls per question | 22.4 | 1.0 | -95.5% |
The savings compound on larger codebases. Click is ~90 files - on a 500+ file monorepo, agents without RemembrallMCP need proportionally more exploration calls, while graph queries stay under 10ms regardless of size.
| Memory Recall Metric | Result |
|---|---|
| Queries passed | 31 / 31 |
| Recall@5 | 0.917 |
| Precision@5 | 0.619 |
| MRR | 0.908 |
| p95 latency | 14ms |
Run the benchmarks yourself: see benchmarks/ for the harness and task definitions.
For the broader benchmark strategy across memory retrieval, long-horizon memory, code graph correctness, and agent productivity, see docs/benchmark-roadmap.md.
Requirements
Docker (for the easiest setup) or PostgreSQL 16 with pgvector
For GitHub ingestion: GitHub CLI (
gh) installed and authenticated
Quick Start
Option 1: Docker Compose (easiest)
git clone https://github.com/roboticforce/remembrallmcp.git
cd remembrallmcp
# Start Postgres, initialize the schema, download the embedding model,
# and run the MCP server. The remembrall container stays up after setup.
docker compose up -d
# Verify it's running (database connected, schema ready)
docker compose exec remembrall remembrall statusThat's it. Postgres with pgvector, the schema, and the embedding model are all set up automatically. The database and model cache persist across restarts.
The remembrall container runs remembrall init (idempotent setup) followed by remembrall serve on startup, so it stays running and docker compose exec works for status, doctor, and other commands.
To connect an MCP client (Claude Code, Cursor, Codex) to the server, see Connect to your MCP client below.
Option 2: Download prebuilt binary
# macOS (Apple Silicon)
curl -fsSL https://github.com/roboticforce/remembrallmcp/releases/latest/download/remembrall-aarch64-apple-darwin.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Linux (x86_64)
curl -fsSL https://github.com/roboticforce/remembrallmcp/releases/latest/download/remembrall-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Initialize (sets up Postgres via Docker, creates schema, downloads model)
remembrall initOption 3: Build from source (requires Rust 1.94+)
cargo build -p remembrall-server --release
# Binary is at target/release/remembrall
remembrall initConnect to your MCP client
Codex
Codex uses the same MCP server definition format. Register the server as remembrall and point it at either the installed binary or your local release build.
If remembrall is installed in PATH:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}If running from a local source checkout:
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}If using Docker Compose from Codex:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}Restart Codex after adding the server so it reconnects and loads the tools.
Claude Code, Cursor, and other MCP clients
Add to your project's .mcp.json (works with Claude Code, Cursor, and any MCP-compatible client).
If using a prebuilt binary or built from source:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}If using Docker Compose:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}Each invocation starts a fresh container, runs remembrall init (idempotent; its output goes to stderr so it never corrupts the MCP stream), then remembrall serve over stdio. The -T flag is required - it disables TTY allocation so JSON-RPC passes through cleanly. The db service starts automatically via depends_on.
If running from source (not installed to PATH):
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}Restart your MCP client. All 9 tools will be available automatically.
Try it
> "Store a memory: We chose Postgres over MongoDB because our query patterns
are relational. Type: decision, tags: database, architecture"
> "Recall what we know about database decisions"
> "Index this project and show me the impact of changing UserService"MCP Tools
Memory
| Tool | Description |
|---|---|
remembrall_recall | Search memories - hybrid semantic + full-text with RRF fusion |
remembrall_store | Store decisions, patterns, knowledge with vector embeddings |
remembrall_update | Update an existing memory (content, summary, tags, or importance) |
remembrall_delete | Remove a memory by UUID |
remembrall_ingest_github | Bulk-import merged PR descriptions from a GitHub repo |
remembrall_ingest_docs | Scan a directory for markdown files and ingest them as memories |
Code Intelligence
| Tool | Description |
|---|---|
remembrall_index | Parse a project directory into a field-aware code graph (functions, classes, methods, and fields across 9 languages) |
remembrall_impact | Blast radius analysis - "what breaks if I change this?" Works on functions, classes, methods, and fields |
remembrall_lookup_symbol | Find where a function, class, method, or field is defined across the project |
Supported Languages
| Language | Extensions | Quality Score |
|---|---|---|
| Python | .py | A (94.1) |
| Java | .java | A (92.6) |
| JavaScript | .js, .jsx | A (92.0) |
| Rust | .rs | A (91.0) |
| Go | .go | A (90.7) |
| Ruby | .rb | B (87.9) |
| TypeScript | .ts, .tsx | B (84.3) |
| Kotlin | .kt, .kts | B (82.9) |
| C# | .cs | A (96.8) |
Scores measured against real open-source projects (Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed, MediatR) using automated ground truth tests. The C# score is measured against MediatR 12.4.1 (69 symbols, 48 relationships, 9 impact queries, 10 edge cases): symbols, imports, and edge cases at 100%, with the gap coming from generic-interface inheritance (: IPipelineBehavior<TRequest, TResponse> resolves to a synthetic UUID instead of the class symbol) and a field-dispatch call misresolution. C# field-level references are validated separately by the field-capture fixture at 100%.
Cold Start
A new RemembrallMCP instance has no knowledge. Use the ingestion tools to bootstrap from existing project history.
From GitHub PR history:
> remembrall_ingest_github repo="myorg/myrepo" limit=100Fetches merged PRs via gh, digests titles and bodies into memories, and tags them by project. PRs with less than 50 characters of body are skipped. Deduplication by content fingerprint prevents re-ingestion on repeat runs.
From markdown docs:
> remembrall_ingest_docs path="/path/to/project"Walks the directory tree, finds all .md files, splits them by H2 section headers, and stores each section as a searchable memory. Skips node_modules, .git, target, and similar directories. Good for README, ARCHITECTURE, ADRs, and any written docs.
Run both once per project. After ingestion, remembrall_recall has immediate context.
Architecture
Source Code Organizational Knowledge
| |
v v
Tree-sitter Parsers Ingestion Pipeline
(9 languages) (GitHub PRs, Markdown docs)
| |
v v
+--------------------------------------------------+
| Postgres + pgvector |
| |
| memories (text + embeddings + metadata) |
| symbols (functions, classes, methods, fields) |
| relationships (calls, imports, defines, |
| inherits, references) |
+--------------------------------------------------+
|
MCP Server (stdio)
|
Any MCP-compatible AI agentParsing: tree-sitter (Rust bindings, no Python in the pipeline)
Embeddings: fastembed (all-MiniLM-L6-v2, 384-dim, in-process ONNX Runtime)
Search: Hybrid RRF (semantic cosine similarity + full-text tsvector)
Graph queries: Recursive CTEs with cycle detection and confidence decay
Transport: stdio via rmcp
CLI Commands
| Command | Description |
|---|---|
remembrall init | Set up database, schema, and embedding model |
remembrall serve | Run the MCP server (default when no subcommand given) |
remembrall start | Start the Docker database container |
remembrall stop | Stop the Docker database container |
remembrall status | Show memory count, symbol count, connection status |
remembrall doctor | Check for common problems (Docker, pgvector, schema, model) |
remembrall reset --force | Drop and recreate the schema (deletes all data) |
remembrall version | Print version and config path |
Configuration
Config file: ~/.remembrall/config.toml (created by remembrall init)
Environment variables override config file values:
| Variable | Description |
|---|---|
REMEMBRALL_DATABASE_URL or DATABASE_URL | PostgreSQL connection string |
REMEMBRALL_SCHEMA | Database schema name (default: remembrall) |
Project Structure
crates/
remembrall-core/ # Library - parsers, memory store, graph store, embedder
remembrall-server/ # MCP server + CLI binary
remembrall-test-harness/ # Parser quality testing against ground truth
remembrall-recall-test/ # Search quality testing
docs/ # Architecture and test plan docs
test-fixtures/ # Ground truth TOML files for 9 languages
tests/ # Recall test fixturesPerformance
| Operation | Time |
|---|---|
| Memory store | 7ms |
| Semantic search (HNSW) | <1ms |
| Full-text search | <1ms |
| Hybrid recall (end-to-end) | ~25ms |
| Impact analysis | 4-9ms |
| Symbol lookup | <1ms |
| Index 89 Python files | 2.3s |
License
MIT
docs/benchmark-roadmap.md
RemembrallMCP Benchmark Roadmap
Last updated: April 2026
Goal
Benchmark the product surface RemembrallMCP actually exposes:
Persistent memory retrieval quality
Long-horizon conversational memory behavior
Code graph and impact-analysis correctness
End-to-end agent productivity on real coding tasks
No single public benchmark covers all four. The benchmark strategy should therefore be a layered evaluation stack, not a search for one headline number.
Product Surface to Benchmark
| Surface | User-facing claim | Primary tools |
|---|---|---|
| Memory retrieval | Agents can recall relevant prior decisions, incidents, and patterns | remembrall_recall, remembrall_store, remembrall_update, remembrall_delete |
| Long-term memory | Agents can handle updates, time, contradictions, and multi-session recall | remembrall_recall, remembrall_store, remembrall_update |
| Code intelligence | Agents can answer "what breaks if I change this?" with high recall | remembrall_index, remembrall_impact, remembrall_lookup_symbol |
| Agent acceleration | Remembrall reduces exploration cost and improves task completion | all tools together |
Current Coverage
RemembrallMCP already has the beginnings of the right benchmark stack.
1. Agent productivity A/B benchmark
Location:
benchmarks/Measures: tool calls, estimated tokens, wall clock time, task accuracy
Strength: directly supports the "agents explore less" product claim
Gap: current task set is small and handcrafted
2. Parser and impact correctness harness
Location:
crates/remembrall-test-harness/Measures: symbol recall/precision, relationship recall/precision, import resolution, impact accuracy, edge cases
Strength: directly validates the code graph
Gap: focuses on parser correctness more than full MCP tool behavior
3. Memory recall quality harness
Location:
crates/remembrall-recall-test/Measures: Recall@5, Precision@5, MRR, latency, pass/fail thresholds
Strength: directly validates retrieval quality
Gap: limited coverage for temporal updates, stale memories, abstention, and multi-session synthesis
External Benchmarks: Fit Assessment
The right question is not "what is the industry standard benchmark for memory?" but "which public suites add signal on top of our product-specific harnesses?"
| Benchmark | Best for | Fit | Why |
|---|---|---|---|
| SWE-bench Verified | End-to-end coding task success | High | Best external measure for whether Remembrall helps an agent finish real repo tasks |
| LongMemEval | Long-term conversational memory | High | Strong match for updates, temporal reasoning, multi-session memory, abstention |
| LoCoMo | Long conversation memory and event QA | Medium-high | Good second option for long-horizon memory, broader conversational structure |
| BEIR | Generic IR retrieval quality | Medium | Useful regression signal for retrieval, but not memory-specific and not code-specific |
| RepoBench | Repository-level code retrieval/completion | Medium | Relevant to repo context retrieval, less relevant to impact analysis and persistent memory |
| RAGAS | LLM app evaluation framework | Medium-low | Useful as infrastructure, not as a benchmark target by itself |
Recommendation
Use a four-layer benchmark stack:
Keep custom evals as primary
They are the only benchmarks aligned to the full Remembrall product surface.
Add SWE-bench Verified for external coding-agent validation
This is the strongest independent check on the productivity claim.
Add one long-memory benchmark
Prefer
LongMemEval.Use
LoCoMoonly if we want a second conversational-memory view later.
Optionally add a generic retrieval regression suite
Prefer a narrow BEIR slice instead of a large generic benchmark rollout.
What Each Benchmark Should Prove
A. Code graph correctness
Question: "Does the graph return the right symbols and dependency edges?"
Owner:
crates/remembrall-test-harness
Success metrics:
Symbol recall >= 95% on small fixtures
Relationship recall >= 85% on small fixtures
Import resolution >= 90%
Impact query recall >= 95% for direct callers
No language below grade
Bon supported languages
Release gate:
Any drop >5 points on a language dimension triggers investigation
Any impact-analysis regression on
must_findrelationships blocks merge
A2. Field-level reference correctness
Question: "Does the graph capture data fields and resolve who reads them - the 'whole codebase' claim?"
Owner:
crates/remembrall-test-harness with test-fixtures/field-capture.toml
Why it matters:
Field-level capture is what makes the whole-codebase positioning truthful. ORM-heavy
codebases live and die by "who references the amount field?" - a question symbol-only
graphs cannot answer.
Success metrics:
Field symbol recall: every class/struct data field in the fixture is captured as a
Fieldsymbol with the rightparent_symbol_idDefinesedge recall: class/struct -> field edges are all foundReferencesedge recall/precision: self/receiver field reads (self.x,this.x,&self.x, Gos.X, Ruby@x) resolve to the enclosing type's fieldNo-fan-out correctness: ambiguous cross-file field names are dropped, not fanned out one-edge-per-candidate
Upstream impact on a field returns the methods that read it
Release gate:
Any regression on field
Referencesrecall blocks mergeA new supported language must ship a field-capture fixture case before it is claimed as supported in the README
B. Memory retrieval quality
Question:
"Does remembrall_recall return the right memories quickly?"
Owner:
crates/remembrall-recall-test
Success metrics:
Aggregate Recall@5
Aggregate Precision@5
MRR
P50/P95 latency
False positive rate for "should abstain" queries
Filter correctness for
memory_type,tags, andproject
Release gate:
No regression in pass rate
No increase in false positives for abstention queries
P95 latency stays within a defined tolerance band
C. Long-horizon memory behavior
Question: "Does memory remain correct across sessions, updates, conflicting facts, and time?"
Owner:
new harness under benchmarks/long_memory/ or a dedicated crate if execution logic grows
Preferred benchmark:
LongMemEval
What to measure:
Information extraction
Multi-session reasoning
Temporal reasoning
Knowledge updates
Abstention
How to adapt it for Remembrall:
Run the benchmark through a thin adapter that maps session facts into
remembrall_storeFor update scenarios, explicitly use
remembrall_updateor store superseding memories and verify stale facts stop winningScore both retrieval quality and final answer quality
Pass criteria for adoption:
Benchmark can run reproducibly from the repo
Results are stable enough across repeated runs to detect regressions
At least one metric maps directly to Remembrall behavior rather than only model behavior
D. End-to-end coding-agent productivity
Question: "Do agents finish real engineering tasks faster, cheaper, or more accurately with Remembrall?"
Owner:
benchmarks/
Preferred benchmark:
SWE-bench Verified plus current handcrafted A/B tasks
What to measure:
Task success rate
Cost proxy: tokens and tool calls
Latency / wall clock
Retrieval usage patterns
Failure modes: missed callers, wasted exploration, bad stale-memory retrieval
Why both are needed:
Current handcrafted tasks isolate the graph value proposition clearly
SWE-bench validates that those gains survive in messy, real-world task flows
Phased Rollout
Phase 0: Stabilize current benchmark story
Status: in progress
Work:
Keep
benchmarks/as the primary marketing benchmarkKeep parser and recall harnesses as release-safety benchmarks
Add this roadmap and align docs around the layered strategy
Exit criteria:
Benchmark surfaces are documented
Each existing harness has explicit ownership and intended use
Phase 1: Expand memory-recall harness for time and updates
Why first: This is the cheapest high-signal improvement because the harness already exists.
Work:
Add recall cases for superseded facts
Add cases for contradictory memories with timestamps
Add abstention cases where semantically related memories should not be returned
Add cases that require combining two related memories from different sessions
Add report fields for false-positive rate and stale-fact rate
Suggested new categories:
G: temporal updatesH: contradictions and supersessionI: abstentionJ: multi-memory synthesis
Deliverables:
expanded
tests/recall/ground_truth.tomlscorer updates for stale-fact and abstention failures
seed fixture additions
Phase 2: Add LongMemEval-inspired adapter
Why second: Only after the local harness tests the same failure modes.
Work:
Vendor or document a pinned LongMemEval version
Build a runner that converts benchmark sessions into memory writes
Evaluate two modes:
retrieval-only: inspect whether the right memory items are surfaced
answering: use a fixed model and prompt to answer benchmark questions from retrieved memories
Publish a concise result table in
benchmarks/reports/
Important constraint:
Do not present this as "the" Remembrall benchmark. It covers the long-memory slice, not the code graph.
Phase 3: Add SWE-bench Verified A/B
Why third: Highest upside, but operationally heavier.
Work:
Pick a small pinned subset of SWE-bench Verified tasks first
Define a reproducible with/without-Remembrall protocol
Require fresh conversations and pre-indexed repos for the
witharmRecord:
solve rate
time to first correct patch
total tool calls
total tokens
whether Remembrall tools were actually used
Start small:
10 to 25 tasks
2 or 3 representative repos
one supported language first, then expand
Success criteria:
measurable increase in solve rate or equivalent solve rate with materially lower tool cost
Phase 4: Optional generic retrieval baseline
Why optional: Useful for engineering discipline, weak for product storytelling.
Work:
Run a narrow BEIR slice against the memory search layer
Use it as a regression dashboard, not a homepage claim
Reporting Model
Keep benchmark reports split by audience.
Engineering reports
Purpose: catch regressions and guide implementation work
Include:
per-category scores
failure cases
latency percentiles
benchmark version and dataset pinning
Product and marketing reports
Purpose: support claims without overselling benchmark scope
Include:
A/B coding-agent savings from
benchmarks/parser quality summary by language
memory recall summary
external benchmark slices with tight scope labels
Avoid:
collapsing everything into one synthetic "benchmark score"
calling LongMemEval the product benchmark
claiming broad superiority from retrieval-only results
Repository Changes to Prioritize
Near term
Expand
remembrall-recall-testto cover temporal memory behaviorAdd a machine-readable benchmark manifest with benchmark name, version, scope, and owner
Add report templates so results are comparable across runs
Mid term
Add
benchmarks/long_memory/README.mdAdd LongMemEval adapter and pinned instructions
Add a small SWE-bench Verified subset harness
Nice to have
Trend charts for benchmark regressions over time
CI mode for lightweight subsets
Benchmarks that isolate the value of
remembrall_updateand stale-memory suppression
Decision Summary
Use this stack:
Primary product benchmarks: existing custom A/B benchmark, parser harness, recall harness
Best external benchmark to add: SWE-bench Verified
Best long-memory benchmark to add: LongMemEval
Optional retrieval regression benchmark: BEIR slice
That keeps the benchmark program aligned to the actual product instead of drifting toward benchmark theater.
105 files · 93 not served here
- .dockerignore (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/release.yml (not served here)
- .gitignore (not served here)
- .mcp.json
- AGENTS.md
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CLAUDE.md
- Cargo.lock (not served here)
- Cargo.toml (not served here)
- Dockerfile (not served here)
- README.md
- benchmarks/README.md (not served here)
- benchmarks/analyze.py (not served here)
- benchmarks/reports/benchmark-2026-04-02.md (not served here)
- benchmarks/runs.json (not served here)
- benchmarks/tasks.toml (not served here)
- crates/remembrall-core/Cargo.toml (not served here)
- crates/remembrall-core/README.md (not served here)
- crates/remembrall-core/src/bin/bench_index.rs (not served here)
- crates/remembrall-core/src/bin/kt_ast_debug.rs (not served here)
- crates/remembrall-core/src/bin/parser_smoke.rs (not served here)
- crates/remembrall-core/src/bin/spike.rs (not served here)
- crates/remembrall-core/src/bin/spike2.rs (not served here)
- crates/remembrall-core/src/bin/spike3.rs (not served here)
- crates/remembrall-core/src/config.rs (not served here)
- crates/remembrall-core/src/embed.rs (not served here)
- crates/remembrall-core/src/error.rs (not served here)
- crates/remembrall-core/src/graph.rs (not served here)
- crates/remembrall-core/src/graph/layers.rs (not served here)
- crates/remembrall-core/src/graph/store.rs (not served here)
- crates/remembrall-core/src/graph/types.rs (not served here)
- crates/remembrall-core/src/indexer.rs (not served here)
- crates/remembrall-core/src/ingest.rs (not served here)
- crates/remembrall-core/src/lib.rs (not served here)
- crates/remembrall-core/src/memory.rs (not served here)
- crates/remembrall-core/src/memory/store.rs (not served here)
- crates/remembrall-core/src/memory/types.rs (not served here)
- crates/remembrall-core/src/parser/csharp.rs (not served here)
- crates/remembrall-core/src/parser/go.rs (not served here)
- crates/remembrall-core/src/parser/java.rs (not served here)
- crates/remembrall-core/src/parser/kotlin.rs (not served here)
- crates/remembrall-core/src/parser/mod.rs (not served here)
- crates/remembrall-core/src/parser/python.rs (not served here)
- crates/remembrall-core/src/parser/ruby.rs (not served here)
- crates/remembrall-core/src/parser/rust.rs (not served here)
- crates/remembrall-core/src/parser/typescript.rs (not served here)
- crates/remembrall-core/src/parser/walker.rs (not served here)
- crates/remembrall-core/src/search.rs (not served here)
- crates/remembrall-integration-tests/Cargo.toml (not served here)
- crates/remembrall-integration-tests/src/main.rs (not served here)
- crates/remembrall-python/Cargo.toml (not served here)
- crates/remembrall-python/src/lib.rs (not served here)
- crates/remembrall-recall-test/Cargo.toml (not served here)
- crates/remembrall-recall-test/src/ground_truth.rs (not served here)
- crates/remembrall-recall-test/src/main.rs (not served here)
- crates/remembrall-recall-test/src/report.rs (not served here)
- crates/remembrall-recall-test/src/runner.rs (not served here)
- crates/remembrall-recall-test/src/scorer.rs (not served here)
- crates/remembrall-recall-test/src/seed.rs (not served here)
- crates/remembrall-server/Cargo.toml (not served here)
- crates/remembrall-server/README.md (not served here)
- crates/remembrall-server/src/config.rs (not served here)
- crates/remembrall-server/src/lib.rs (not served here)
- crates/remembrall-server/src/main.rs (not served here)
- crates/remembrall-server/src/tools/graph.rs (not served here)
- crates/remembrall-server/src/tools/ingest.rs (not served here)
- crates/remembrall-server/src/tools/memory.rs (not served here)
- crates/remembrall-server/src/tools/mod.rs (not served here)
- crates/remembrall-server/src/watcher.rs (not served here)
- crates/remembrall-test-harness/Cargo.toml (not served here)
- crates/remembrall-test-harness/src/comparator.rs (not served here)
- crates/remembrall-test-harness/src/ground_truth.rs (not served here)
- crates/remembrall-test-harness/src/main.rs (not served here)
- crates/remembrall-test-harness/src/scorer.rs (not served here)
- docker-compose.yml (not served here)
- docker-entrypoint.sh (not served here)
- docs/architecture.md
- docs/benchmark-roadmap.md
- docs/field-level-references.md
- docs/parser-architecture.md
- docs/test-plan.md
- glama.json (not served here)
- install.sh (not served here)
- package-lock.json (not served here)
- package.json (not served here)
- pyproject.toml (not served here)
- scripts/awesome-list-prs.md (not served here)
- scripts/community-posts.md (not served here)
- scripts/outreach-emails.md (not served here)
- scripts/show-hn-comment.txt (not served here)
- scripts/smoke-test-docker.sh (not served here)
- scripts/submit-directories.mjs (not served here)
- server.json
- test-fixtures/.gitignore (not served here)
- test-fixtures/SOURCES.md (not served here)
- test-fixtures/fetch.sh (not served here)
- test-fixtures/field-capture.toml (not served here)
- test-fixtures/field-capture/src/account.rs (not served here)
- test-fixtures/field-capture/src/invoice.py (not served here)
- test-fixtures/field-capture/src/order.cs (not served here)
- test-fixtures/field-capture/src/server.go (not served here)
- tests/recall/ground_truth.toml (not served here)
- tests/recall/seed_memories.toml (not served here)
Advantages
- Reduces token usage by up to 98% by eliminating redundant codebase exploration. evidence: README.md
- Provides sub-10ms impact analysis and symbol lookup regardless of project size. evidence: README.md
Limitations
- Requires an external PostgreSQL 16 instance with pgvector extension. evidence: README.md
- Initial indexing and ingestion are required to bootstrap knowledge for new projects. evidence: README.md
Security
Risk level: Medium risk
This brain runs
MCP servers (7)
.mcp.json(remembrall):/Users/steve/Dev/remembrallmcp/target/release/remembrallREADME.md(remembrall):remembrallREADME.md(remembrall):/path/to/remembrallmcp/target/release/remembrallREADME.md(remembrall):docker compose -f /path/to/remembrallmcp/docker-compose.yml run --rm -T remembrallREADME.md(remembrall):remembrallREADME.md(remembrall):docker compose -f /path/to/remembrallmcp/docker-compose.yml run --rm -T remembrallREADME.md(remembrall):/path/to/remembrallmcp/target/release/remembrall
Agent instructions that run or fetch something (17)
AGENTS.md:Start database: `docker start cocoindex-postgres`AGENTS.md:Run server over stdio: `DATABASE_URL="postgres://postgres:[redacted]@localhost:5450/remembrall" ./target/release/remembrall`AGENTS.md:Run validation spike: `DATABASE_URL="postgres://postgres:[redacted]@localhost:5450/remembrall" cargo run --bin spike3`CLAUDE.md:docker start cocoindex-postgresCLAUDE.md:# Run MCP server manually (stdio)CLAUDE.md:# Run ground truth tests (validates everything works)CLAUDE.md:DATABASE_URL="postgres://postgres:[redacted]@localhost:5450/remembrall" cargo run --bin spike3CLAUDE.md:remembrall serve # Run MCP server (explicit form; no-arg is same)CLAUDE.md:Model downloads on first run (~23 MB), or pre-downloaded by `remembrall init`.CLAUDE.md:install.sh # curl installer scriptCLAUDE.md:git checkout developCLAUDE.md:git checkout mainCLAUDE.md:git merge developCLAUDE.md:git push origin main· uses the networkCLAUDE.md:git tag v0.X.0CLAUDE.md:git push origin v0.X.0· uses the networkCLAUDE.md:git checkout develop
Install scripts (1)
install.sh:sh install.sh· uses the network
- Medium risk: runs-instruction-instruction-network (CLAUDE.md:138)
- Medium risk: runs-instruction-instruction-network (CLAUDE.md:142)
- Medium risk: runs-install-script-network-variable-host (install.sh)
- Medium risk: network-variable-host (install.sh:63)
- Low risk: scripts-present (install.sh)
Attribution and licence
- Created by
- RoboticForce, Inc.
- Declared authors
- RobotICForce (declared in package.json)
- RobotICForce (declared in pyproject.toml)
- Publisher
- RoboticForce, Inc. (Official RoboticForce, Inc. project)
- Source
- roboticforce/remembrallmcp · commit 77e6b2b
- Licence
- MIT License (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by RoboticForce, Inc..
Install from source
93 of its files are not served here, so there is no ZIP. roboticforce/remembrallmcp at 77e6b2b