
RE-call MCP Memory Server
io.github.GiulioDERPublished by GitHub account GiulioDERv0.14.0Updated Nov 3, 2026
Agent memory on your own Postgres that flags superseded facts and abstains instead of guessing.
The publisher's own server: Memory.fit
Overview
Local stdio MCP server giving an assistant persistent agent memory in SQLite or PostgreSQL, with trust verdicts, supersession flags and abstention instead of…
- What you can do
- Search indexed memory with hybrid dense and keyword retrieval, returning verdict, confidence and provenance
- Abstain or mark results superseded when a claim is stale or fails the calibrated trust gate
- Run explicit reasoning queries with optional bounded graph expansion and citation-constrained answers
- Apply reviewed structured facts through a provenance controller into an append-only fact ledger
- Refresh changed memo files automatically or on demand in the Lite SQLite setup
- When to use it
- Useful when an assistant needs a durable, auditable memory of project notes or documents and should refuse or flag answers it cannot support, rather than returning the nearest similar text. Fits a single project on one machine via Lite, or shared multi-tenant serving on your own PostgreSQL with pgvector.
- Requirements
- Runs locally over stdio, installed from PyPI (recall-rag) with uvx; the README notes Lite is only in the source build, not the published wheel. Needs a serving PostgreSQL DSN in RECALL_SERVING_DSN, plus RECALL_EMBEDDER matching the corpus, RECALL_TABLE and RECALL_TENANT. PostgreSQL path needs pgvector; Lite needs no database server. Python 3.11 or newer.
Installation
In SourceWeft
- Open RE-call MCP Memory Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[RE-call: memory that knows when not to guess]
Memory that abstains instead of guessing.
RE-call is agent memory in a local SQLite file or your own PostgreSQL with pgvector. Each result carries a verdict,
confidence, and provenance, while unsupported questions are refused instead of answered by the
nearest match.
[CI] [PyPI version] [License: AGPL-3.0] [Python 3.11+] [PostgreSQL + pgvector]
What it is · For agents · How it works · Start with Lite · Install and integrate
What is RE-call
RE-call is agent memory in a local SQLite file or your own PostgreSQL database. It indexes source documents and keeps validity, lineage, confidence, and provenance attached to every result.
Vector search returns nearby text. RE-call also checks whether that text is current, supported, and
trustworthy enough for the query. A superseded claim is marked superseded; a result that does not
clear the calibrated trust gate becomes ABSTAIN with a reason. Declared supersession makes the current memory win
over stale but similar memory.
The default path uses local embeddings plus hybrid dense and keyword retrieval. PostgreSQL uses
its full text search; Lite uses SQLite FTS5. It needs no memory-layer LLM call. Additional retrieval,
reasoning, and structured-fact modules are optional.
For the agent reading this, RE-call for agents explains the experience loop and how to use persistent memory as a trustworthy past rather than an unverified scratchpad.
How it works
On PostgreSQL, RE-call builds an immutable, calibrated generation and serves queries against that pinned generation. Lite binds calibration to its single-file corpus. Every search, including the reasoning and fact paths, goes through trusted search and the trust gate.
The diagram is interactive on the project site:
click any box to see the source lines it describes. A
step by step view of one recall_search call
follows a single search through its refusal, abstention and answer paths. Both are generated from
the sources in docs/diagrams.
Text version of the diagram, with each box linked to its file
Solid arrows are the default path. Dashed arrows are opt in or reasoning only: the reranker, graph expansion, and the answer provider. Each box links to the file that implements it.
Ordinary recall search follows the direct path. Explicit reasoning accepts graph_expansion:
auto is the default and resolves to bounded one hop expansion for every nonempty query; off
keeps direct retrieval only; one-hop forces the graph path. The CLI uses
--graph-expansion auto|off|one-hop; the MCP tool uses graph_expansion="auto"|"off"|"one_hop".
Graph neighbors are generation bound, direct candidates remain first, and expanded candidates must
clear the same trust boundary before they can support a cited answer.
The opt in choices attach to different points in the system:
For details, see the architecture writeup, provenance controller, and API reference.
Quickstart
For one project's memory on your machine, start with RE-call Lite. It stores memory in
.recall/memory.db, refreshes changed memos automatically, and needs no Docker or database server.
Install the source build first: Lite is in the repository; the published 0.14.0 PyPI wheel
predates it. Follow the Lite installation guide
to create an environment and install the source, then run this from your own project with an
existing folder of notes:
Setup indexes the notes, attempts automatic calibration, and registers Claude Code for this project. Inspect the calibration and registration results, use the printed doctor command, and restart the client. Strict trust stays enabled; a corpus that cannot certify will refuse trusted answers. For other MCP clients, use manual Lite wiring.
Try the PostgreSQL demo
Prerequisites: Python 3.11 or newer, Docker, and a Docker installation able to run PostgreSQL with pgvector.
The demo starts a throwaway database, indexes a small corpus included in the package, and runs three searches. It includes a normal answer, a stale claim that is returned as superseded, and a question that is refused. The demo uses development trust and changes no personal files.
Remove the demo database when finished:
Already have PostgreSQL with pgvector? Use recall quickstart --existing-dsn <dsn> instead. The
demo is intentionally separate from a real install and is not calibrated for your data.
Install and integrate
Local, with no database server and no Docker
Use the Lite source installation, then run from the project whose notes you want to index:
Setup creates .recall/memory.db, attempts automatic calibration, and registers Claude Code for
this project. Use the printed doctor and read-only dashboard commands, and add .recall/ to
.gitignore. For CLI or manual client wiring, add --no-register.
The MCP server refreshes changed memos automatically. To check or refresh explicitly:
Use the same memo root and embedder as setup. The CLI does not read the MCP client's environment; apply setup's printed settings before CLI searches or doctor. Strict trust remains enabled, and successful indexing alone does not guarantee certification.
The Lite guide covers other clients, source updates, backup and restore, refresh budgets, and queued writes. Keep the file on a local disk. Lite uses exact cosine search and SQLite keyword retrieval; results can differ from PostgreSQL. Generations, multi-tenant serving, and authentication require PostgreSQL. See the API for trust and retrieval limits.
With PostgreSQL
For your own corpus, provide PostgreSQL with pgvector and run the guided setup wizard after
installing recall-rag[fastembed]:
It applies the schema, asks for the embedder and retrieval options, indexes the corpus, offers calibration, and registers the selected agent integration. When the wizard asks whether to calibrate, use a labeled query file that refers to the corpus you are installing. Calibration fitted to the bundled demo is only an example, not a certification for your data. The schema uses an ordered SQL migration path and pre-tenancy tables are migrated in place.
For Docker, an existing database, headless provisioning, manual calibration, and troubleshooting, see docs/INSTALLATION.md and docs/WIZARD.md.
Choose an integration
Claude Code
Inside Claude Code, install the plugin after installing the Python package:
The plugin supplies the MCP server, memory search skill, and lifecycle hooks. Lite setup already
registers a project server; the plugin is optional. If you add it, configure its Database DSN with
the SQLite DSN printed by setup and avoid enabling duplicate servers for the same memory. The
plugin's server does not refresh memos by itself; run recall lite refresh yourself or keep the
server setup registers.
For PostgreSQL, run recall setup against the project and database Claude should use.
Details are in plugin/README.md.
Codex
For Lite, use manual MCP wiring: recall setup --lite only
registers Claude Code. For PostgreSQL, run recall setup from the project. When Codex is detected,
setup installs the Codex MCP server,
plugin bundle, memory and session skills, and hooks into the user configuration. Restart Codex afterward. The
Codex and Claude Code integrations share the same memo format and trust layer. See
docs/CODEX_RECALL_INTEGRATION.md.
Claude Agent SDK
The SDK integration runs the same tools in process and does not start an MCP server:
See docs/USING_WITH_AGENT_SDK.md for the complete example and write-tool boundaries.
LangChain and LlamaIndex
Both adapters use the same trusted retrieval path. If trust abstains, they return no document by default, and returned documents retain verdict, confidence, cosine, and supersession metadata. See docs/API.md for the supported classes and methods.
If an install is not working
For Lite, first apply the environment printed by setup so doctor inspects the SQLite store. For PostgreSQL, the doctor checks the interpreter, console scripts, embedder, Docker, database, pgvector, schema, configured table and tenant, calibration, and agent registration. It changes nothing and prints the repair command for each problem.
Product surface
RE-call is not a hosted memory service, dashboard, or automatic truth extractor. It does not rewrite corpus metadata from an agent's inference. Reasoning is opt in, citation constrained, and review aware. See docs/PRODUCTION.md for deployment boundaries.
Read next
Published numbers are tied to committed artifacts, and the claim gate checks them in CI. Benchmark interpretation and limits belong in docs/EVIDENCE.md, not in this overview.
Citation
If you describe RE-call in a paper, post, talk, or README of your own, cite the project and credit Giulio D'Erme. Use CITATION.cff as the canonical citation source.
License
RE-call is open source under the GNU Affero General Public License v3.0 (AGPL-3.0). You may use, study, modify, and share it, commercially as well, on the AGPL's conditions: if you distribute RE-call or a work based on it, or let users interact with a modified version over a network, you must make the corresponding source available under the same license. When those conditions do not fit, for example a closed source product or a proprietary hosted service, a commercial license is available from the copyright holder. See COMMERCIAL_LICENSE.md for the boundary between the two and for the terms of earlier releases, and preserve NOTICE when redistributing the software. Contributions are accepted under the Contributor License Agreement.
Source: README.md at commit d030990
Tools
0Version history
2- v0.14.0LatestSep 25, 2026
- v0.13.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Memory integrations

Memory.fit
fit.memoryOfficial publisher
Hosted Memory.fit server that lets an AI read your training, sleep, recovery and nutrition data and write back weekly plans, targets and meal plans.
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pgOfficial publisher
pg.ddx.io: the PostgreSQL community's memory's hosted MCP server, published by pg.ddx.io; no sign-in required; Streamable HTTP; 29 tools.
var.gg Naming Memory
gg.varOfficial publisher
Remote MCP server that suggests and searches code identifier names from domain concepts in Korean, Japanese, Chinese, Vietnamese and English, and exposes ERD…

Counterparts
ai.counterparts
Local-first long-term memory for Claude Code and Claude Desktop: the assistant writes notes about you and your projects and recalls them in later sessions.

LAHZE - Persian AI Memory Platform
Published by GitHub account pedramgholizadeh
LAHZE - Persian AI Memory Platform's hosted MCP server; no sign-in required; Streamable HTTP; 13 tools.