All MCP Servers
AI & MemoryMCP RegistrypypiB · 76

RE-call MCP Memory Server

io.github.GiulioDER · Updated

Agent memory on your own Postgres that flags superseded facts and abstains instead of guessing.

At a glance

RE-call MCP Memory Server is an MCP server in the AI & Memory category. It runs locally over stdio via `uvx recall-rag`, and needs RECALL_SERVING_DSN. It scores B (76/100) on the MCP Skills Hub health score as of Oct 28, 2026.

Source 6GitHub stars

One-click install

Opens your editor and pre-fills the config. Your editor will ask before adding it.

How to install RE-call MCP Memory Server in your AI client

Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.

How to install RE-call MCP Memory Server in Claude CodeAnthropic's agentic CLI

  1. Add the server

    bash
    claude mcp add re-call -e 'RECALL_SERVING_DSN=<RECALL_SERVING_DSN>' -- uvx recall-rag
  2. Fill in your credentials

    Replace <RECALL_SERVING_DSN> with your real value. Keep secrets out of any config file you commit.

  3. Verify it's connected

    bash
    claude mcp list
  4. Sharing it with your team?

    Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

  5. Use it in a session

    Ask Claude to use the tools this server exposes. It discovers them automatically.

What does RE-call MCP Memory Server need from you?

API key — PostgreSQL serving DSN for the RE-call memory store.

  • RECALL_SERVING_DSNrequiredsecretEnvironment variable

    PostgreSQL serving DSN for the RE-call memory store.

  • RECALL_TENANToptionalEnvironment variable

    Tenant id served by this local stdio server.

  • RECALL_TRUST_MODEoptionalEnvironment variable

    Set to development only for local uncalibrated corpora.

  • RECALL_EMBEDDERoptionalEnvironment variable

    The embedder the corpus was BUILT with, for example voyage:voyage-4 or BAAI/bge-large-en-v1.5. It must match: several models emit 1024 dimensions, so a mismatch does not error, it returns a confidently ranked list that means nothing.

  • RECALL_TABLEoptionalEnvironment variable

    The chunk table inside that database. `recall quickstart` indexes into quickstart_chunks so its sample corpus can never be retrieved beside real memory; `recall setup` uses chunks. The wrong value returns no hits and no error.

  • RECALL_MCP_TOOLSoptionalEnvironment variable

    Optional. Serve a subset of the tools: a preset (all, search, read) or explicit names. Every tool definition is re-sent every turn, so serving ones nobody calls costs input tokens on every turn. Unset serves them all.

Pass secrets through your shell environment rather than committing them into a config file.

What tools does RE-call MCP Memory Server expose?

This server runs as a local package. We only query remote servers for their tool list — asking this one would mean executing it, so its tools are listed in the documentation below.

What the code can do

Source analysis currently covers npm packages only. This server ships as a Python package, which needs a different parser.

Before you install

Signals gathered from the source repo and package registry — not a safety verdict.

What it can reach

  • Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
  • Downloads at launch — The package is fetched from its registry each run unless you pin a version.
  • Last commit today — Actively maintained.
  • 6 GitHub stars — Very little community usage so far.

Client compatibility

Claude Code: NativeClaude Desktop: NativeCursor: NativeCodex CLI: NativeWindsurf: NativeCline: NativeVS Code: Native

Health score

B · 76

Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated

  • Maintenance30%100%

    Last commit 0 days ago.

  • Adoption20%26%

    6 stars.

  • Transparency20%75%

    3/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✗ discoverable tool list.

  • Provenance15%75%

    Links to its own repository; package linkage unverified.

  • Packaging15%100%

    Publishes a pinned version (0.14.0).

Documentation

Full README

<b>Memory that abstains instead of guessing.</b> 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.

What it is &nbsp;·&nbsp; For agents &nbsp;·&nbsp; How it works &nbsp;·&nbsp; Start with Lite &nbsp;·&nbsp; 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.

<details> <summary>Text version of the diagram, with each box linked to its file</summary>

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.

mermaid
flowchart LR

subgraph group_entry["Entry points"]
  node_cli["recall CLIcommands"]
  node_mcp["MCP servertool handlers"]
  node_sdk["Agent SDKin process"]
end

subgraph group_build["Generation build"]
  node_manifest["Source manifestimmutable input"]
  node_generations["Generation managerbuild, validate, promote"]
  node_parser["Parse and chunkdocuments to chunks"]
  node_embedder["Embedderlocal or hosted API"]
  node_graph_build["Semantic graphentities, relations"]
  node_calibration["Calibrationcertified threshold"]
end

subgraph group_serve["Trusted retrieval"]
  node_trusted_search["Trusted searchquery orchestrator"]
  node_gen_store["Generation storepinned generation"]
  node_retriever["Hybrid retrieverdense, full text, RRF"]
  node_reranker["Rerankeropt in"]
  node_trust_gate{{"Trust gateverdict or ABSTAIN"}}
end

subgraph group_reason["Reasoning"]
  node_reasoner["Reasoning queryevidence bundle, plan"]
  node_graph_expansion["Graph expansionone hop, before trust"]
  node_answer["Answer provideropt in LLM"]
end

subgraph group_facts["Provenance and facts"]
  node_provenance["Provenance controllerfact review"]
  node_ledger["Fact ledgerappend only"]
end

node_caller(("Agent or usercaller"))
node_postgres[("PostgreSQL + pgvectorgenerations, chunks, graph")]

node_caller -->|"runs"| node_cli
node_caller -->|"tool calls"| node_mcp
node_caller -->|"imports"| node_sdk
node_sdk -->|"reuses handlers"| node_mcp
node_cli -->|"generation build"| node_generations
node_mcp -->|"ingest uploads"| node_generations
node_generations -->|"reads sources"| node_manifest
node_generations -->|"parses, chunks"| node_parser
node_generations -->|"embeds chunks"| node_embedder
node_generations -->|"builds graph"| node_graph_build
node_generations -->|"requires certified"| node_calibration
node_generations -->|"writes generation"| node_postgres
node_graph_build -->|"writes graph"| node_postgres
node_cli -->|"calibrate, publish"| node_calibration
node_calibration -->|"stores threshold"| node_postgres
node_cli -->|"search"| node_trusted_search
node_mcp -->|"search, evidence"| node_trusted_search
node_trusted_search -->|"pins generation"| node_gen_store
node_gen_store -->|"reads active"| node_postgres
node_trusted_search -->|"retrieves"| node_retriever
node_retriever -->|"embeds query"| node_embedder
node_retriever -->|"dense, full text"| node_gen_store
node_retriever -.->|"reorders"| node_reranker
node_trusted_search -->|"evaluates"| node_trust_gate
node_mcp -->|"reasoning query"| node_reasoner
node_reasoner -->|"retrieves"| node_trusted_search
node_trusted_search -.->|"expands pre trust"| node_graph_expansion
node_graph_expansion -.->|"same generation graph"| node_postgres
node_reasoner -.->|"cited answer"| node_answer
node_mcp -->|"apply fact"| node_provenance
node_provenance -->|"fresh search"| node_trusted_search
node_provenance -->|"appends"| node_ledger
node_ledger -->|"stores"| node_postgres

click node_cli "https://github.com/GiulioDER/RE-call/blob/master/recall/cli.py"
click node_mcp "https://github.com/GiulioDER/RE-call/tree/master/recall_mcp"
click node_sdk "https://github.com/GiulioDER/RE-call/blob/master/recall_agent/memory.py"
click node_manifest "https://github.com/GiulioDER/RE-call/blob/master/recall/manifest.py"
click node_generations "https://github.com/GiulioDER/RE-call/blob/master/recall/generations.py"
click node_parser "https://github.com/GiulioDER/RE-call/blob/master/recall/document.py"
click node_embedder "https://github.com/GiulioDER/RE-call/blob/mast

…

Excerpt — the full document is on GitHub.

Maintain RE-call MCP Memory Server? Add a badge to your README

Shows its health grade, and links readers to install steps for every client.

markdown
[![RE-call MCP Memory Server on MCP Skills Hub](https://mcp-skills-hub.vercel.app/badge/io-github-giulioder-re-call)](https://mcp-skills-hub.vercel.app/mcps/io-github-giulioder-re-call)

Catalog data refreshed . Something wrong? Report it.