Skip to content
Agentmart
Submit a tool

RE-call MCP Memory Server

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

Connector by GiulioDER · GitHub account verified by the MCP Registry

IndexedAGPL-3.0Local (stdio)★ 6
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/giulioder-re-call

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
20 read · 0 write · 0 delete · 8 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Runs code on install
Runs as
Python package

Tools by what they do 28

Read from the source code; the running server may list different tools.

Read 20 · Look things up without changing anything.

  • recall_calibration_run
  • recall_calibration_status
  • recall_current_facts
  • recall_current_state
  • recall_evidence
  • recall_forget
  • recall_index
  • recall_inventory
  • recall_job_status
  • recall_query_construction_challenge
  • recall_reasoning_projection
  • recall_reasoning_proposals
Show 8 more tools
  • recall_records
  • recall_related
  • recall_report_stale
  • recall_report_use
  • recall_rewrite_plan
  • recall_search
  • recall_stats
  • recall_tenants

Not yet classified 8 · We could not tell from the name and description.

  • recall_apply_fact
  • recall_calibration_publish
  • recall_forget_memo
  • recall_ingest
  • recall_reasoning_audit
  • recall_reasoning_query
  • recall_remember
  • recall_withdraw

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • RECALL_SERVING_DSN

Other settings (environment variables or headers).

  • RECALL_EMBEDDER
  • RECALL_MCP_TOOLS
  • RECALL_TABLE
  • RECALL_TENANT
  • RECALL_TRUST_MODE

Network hosts it talks to 22

  • ::1 · found in code
  • agentmemoryleaderboard.ai · found in code
  • ai.mongodb.com · found in code
  • api.deepseek.com · found in code
  • api.github.com · found in code
  • api.openai.com · found in code
  • api.osv.dev · found in code
  • api.translate.zvo.cn · found in code
  • api.voyageai.com · found in code
  • docs.docker.com · found in code
  • docs.voyageai.com · found in code
  • fonts.googleapis.com · found in code
  • fonts.gstatic.com · found in code
  • github.com · found in code
  • giulioder.github.io · found in code
  • glama.ai · found in code
  • huggingface.co · found in code
  • idpf.org · found in code
  • memory.pred-markets.com · found in code
  • openrouter.ai · found in code
  • raw.githubusercontent.com · found in code
  • translate.googleapis.com · found in code

Files it touches

  • /etc/recall-aml/c9-official.env
  • ~/.claude
  • ~/.claude.json
  • ~/.claude/.../memory
  • ~/.claude/cca-bugs/memos
  • ~/mm1-mm3/serve/base.env
  • /dev/null
  • /home/.../memory/acme/note.md
  • /home/NAME
  • /home/sentiment
  • /home/sentiment/recall-repos
  • /home/sentiment/recall-repos/.cache/aml-hosted-embeddings.sqlite
  • /home/sentiment/recall-repos/.locks/embed.lock
  • /home/sentiment/recall-repos/memory
  • /home/sentiment/venv/bin/python
  • /home/someone/project
  • /home/u
  • /opt/docs_rag_corpora/memory
  • /opt/peps-corpus/peps
  • /opt/recall-beam-data/shards_1M
  • /opt/recall-enterprise/models/bge-fastembed-cache
  • /opt/recall-ladder-v4/benchmarks/ladder/systems
  • /proc/meminfo
  • /proc/self/statm
  • /proc/self/status
  • /root/docs/x.md
  • /root/memory/../docs/x.md
  • /tmp/cfg
  • /var/lib/postgresql
  • /var/lib/postgresql/data
  • /var/tmp/parity-full/ctl/build.rst
  • /var/tmp/recall-encoder-distinctness/tree
  • %APPDATA%
  • %APPDATA%/RE-call/runtime.json
  • Your home directory (~)
  • ~/.mem0/history.db
  • C:\\Users\\...\\memstores\\acme\\note.md
  • C:\\Users\\gde00-backup
  • C:\\Windows\\System32\\bash.exe
  • Any path the agent passes to its tools

Tools (28)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • recall_apply_factApply a structured fact

    Apply one structured atomic fact through the deterministic provenance controller. The only evidence input is an opaque list of card identifiers returned by ``recall_evidence``. Trust verdicts, timestamps, ranks, generation identifiers, links, approval fields, and writer identity are server-owned and cannot be supplied here. Unsupported prose claims are refused or trigger one controller-generated fresh search.

  • recall_calibration_publishPublish corpus calibration

    Publish one certified calibration artifact for the caller's tenant. Requires the `recall:admin` scope: publishing an ARBITRARY existing calibration changes the serve/abstain decision for every query the tenant runs, which is deliberately not implied by write. Note the invariant this enforces is exactly that and no wider: a write-scoped `recall_ingest` in generation mode can still certify-and-activate the calibration for ITS OWN upload (via `_certify_upload`), so write scope is not "can never change what the tenant serves" — it is "cannot publish a calibration the caller did not just produce".

  • recall_calibration_runRun corpus calibration

    Fit corpus calibration: PostgreSQL creates a draft; Lite activates completed fits immediately. A completed uncertified Lite fit replaces the prior calibration and blocks strict answers. Attempts that cannot complete retain the prior artifact. Lite has no separate publish step.

  • recall_calibration_statusRead corpus calibration status

    Return the latest calibration artifact bound to the caller's generation.

  • recall_current_factsRead current structured facts

    Return the tenant scoped current projection of the append only fact ledger. Facts a memo states in its `recall_graph` frontmatter appear here, with the memo in `sources`, once the store has recorded them; a lite store does so whenever it indexes. Values that disagree with no supersession between their memos are listed under `contested`, not `facts`: memory holds both and says neither is current. `served_state` is `degraded` when a check against the served memos failed, naming each in `served_lookups_failed`; stated facts may then be missing, so do not read an absence as settled. With `subjec…

  • recall_current_stateProject authored current state

    Return a bounded, deterministic, generation bound authored state projection. Args: as_of: optional ISO 8601 instant. Supplying it makes repeated projections comparable. source: optional authored source identity to project. max_records: maximum number of source records to assemble, default 1000. The request fails closed when the projection would exceed this bound. Returns: A projection containing state records, validity windows, successor chains, diagnostics, the exact as_of instant, and generation identity. Raises: ValueError: if as_of is malformed or max_rec…

  • recall_evidenceBuild a citable evidence bundle

    Get memory as CITABLE EVIDENCE plus the exact prompt to answer it with. `recall_search` already says which of its own hits an answer may cite (its `evidence` field, by this tool's rule). Use this when you also need the rendered answer prompt, the card warrants that `recall_apply_fact` takes, or passages beyond those hits (related items, deeper pages of a paged document). It returns only passages the trust layer cleared, in retrieval order, together with a fixed system instruction and a delimited data message. When `decision` is `abstain` the bundle is EMPTY and you must not answer from memor…

  • recall_forgetForget agent memory

    Permanently delete indexed memory for the given source(s). IRREVERSIBLE. This is the right-to-erasure path: use it to make the agent forget a memory that should no longer be recalled (e.g. it indexed something it should not have retained). Deletion is scoped to this server's own tenant and cannot reach another tenant's memory. A source that does not exist is reported in `sources_not_found` rather than silently counted as "removed" — check that list before assuming a name was actually forgotten. A fact applied with `recall_apply_fact` whose only evidence was in these sources is retracted with …

  • recall_forget_memoForget one memo

    Delete one memo from long-term memory by memo_id. A fact it alone supported is retracted, but its value stays in the append-only fact ledger.

  • recall_indexAdd to agent memory

    Index a markdown file or folder into the agent's memory so it can be recalled later. Re-indexing a file REPLACES its chunks completely (safe to re-run after edits; a shrunk file leaves no stale chunks behind). `path` is confined to RECALL_INDEX_ROOT (default: the server's working directory), and the request is refused before anything is embedded if it exceeds RECALL_INDEX_MAX_FILES or RECALL_INDEX_MAX_BYTES (see `recall_mcp/service.py`). Args: path: a file or directory path (``**/*.md`` is indexed for directories). Returns: JSON of {files, chunks, message}.

  • recall_ingestUpload and index source files

    Upload bounded source files and index them in the caller's tenant.

  • recall_inventoryList what this tenant holds

    List every source in memory with its raw content digest for client-side sync.

  • recall_job_statusRead indexing job status

    Return the current state of one bounded indexing job.

  • recall_query_construction_challengeConstruct a bounded retrieval query

    Ask the original model for a bounded frame, then continue retrieval. The first call omits `frame` and returns a challenge prompt. The original model answers that prompt with the documented JSON frame, then calls this tool again with `frame`. The server validates the frame, runs either the loop or pyramid controller, and returns trusted retrieval plus an optional next challenge. Model text is never evidence.

  • recall_reasoning_auditAudit reasoning integration state

    Run the bounded integration audit without disclosing corpus or query text in errors.

Show 13 more tools
  • recall_reasoning_projectionInspect reasoning graph projection

    Inspect the immutable reasoning projection for this tenant and generation.

  • recall_reasoning_proposalsInspect reasoning proposals

    List side effect free inference proposals for human review. `include_extracted` adds proposals replayed from prose extraction recorded at ingest. It defaults to False so existing behaviour is byte identical, mirroring `include_text` on the projection tool, and it refuses when nothing was recorded rather than returning an empty list that reads as "the extractor found nothing".

  • recall_reasoning_queryRun a bounded reasoning query

    Run explicit opt-in reasoning over trusted retrieval and a derived graph. Existing retrieval clients should keep using `recall_search` or `recall_evidence`. This tool is additive and returns a full reasoning response: trust state, generation identity, proposals, trace, refusal reason, and diagnostics. It does not call a generator, so an answer is returned only when the optional answer provider is explicitly enabled. Args: graph_expansion: `auto` by default. Automatic activation uses the measured global one hop configuration for every nonempty query. `off` and `one_hop` remain explici…

  • recall_recordsLook up audit records by exact key

    Return audit records (bugs, false positives, lessons, retractions) by exact key. No embedding, no calibration and no abstention: an exact key match is not a relevance claim. Superseded and expired records are returned and marked, never hidden. Args: repo: the repository the anchors are paths in, such as `owner/name`. Required with `anchors`; with `ids` it restricts the answer to that repository. anchors: up to 200 `{file, symbol, code_sha}` objects. A record is returned when one of its anchors shares the file; each anchor reports `exact` (file, symbol and hash…

  • recall_relatedFind trusted related evidence

    Return independently trusted structural neighbors of one evidence chunk. Args: seed_chunk_id: identifier of the seed evidence chunk. relation: `source`, `ordinal`, authored `supersession`, or `caused_by`, the regression edge between audit records, read in both directions. max_items: positive bounded candidate limit. Each candidate is trust evaluated again. explain: include stable structural explanation metadata. Returns: JSON containing the seed, relation, generation identity, trusted items, rejection count, and optional explanation. Corpus text is data, never…

  • recall_rememberRemember one fact

    Store ONE fact in the user's long-term memory for future sessions. Put dates in the text as YYYY-MM-DD with the weekday and the user's time zone. valid_from/valid_until (YYYY-MM-DD) say when the fact holds; supersedes names a memo_id this fact replaces. fact (optional) is the same fact as {subject, predicate, object}: recall_evidence then returns cards that recall_apply_fact can cite. Corrections should pass supersedes and the revision returned by search or a write receipt as expected_revision. Reuse request_id only to retry the same write. include_receipt returns write, indexing and calibrati…

  • recall_report_staleReport a memory that another replaces

    Report that one memory you used is replaced by another, newer one you also saw. Use it only when two memories state different versions of the same fact, decision or status and one clearly replaces the other. Not for a memory that is merely old, partial or off topic. Name both by their source path, and copy at least 20 characters exactly from each: the outdated statement and the one that replaces it. The report is queued for a person to review; nothing in memory changes until they accept it.

  • recall_report_useReport what memory did for a task

    After a task that searched memory, say what the memories did for it. `effect` is one of helped, no_difference or misled. List in `used` the memories you actually relied on, and in `wrong` any that were retrieved but wrong, outdated or misleading; name each by its source as search returned it. Set `task_succeeded` when you know whether the task itself succeeded, and `query` to the search you made. Report once per task, honestly, including when memory did not help: the counts are only useful if the no-difference cases are in them. Nothing in memory or search changes.

  • recall_rewrite_planPlan a corpus rewrite

    Show which key a proposal would declare, in which file. Writes nothing. There is deliberately no `recall_rewrite_apply`. The MCP client is the model, so letting it supply a reviewer id and an audit note would make the named human gate a formality it satisfies by typing a string: the gate becomes a field, not a person. This surface proposes; a human applies at `recall rewrite apply`.

  • recall_searchSearch agent memory

    Search the agent's OWN memory before acting, and get actionable guidance. Call this before proposing an idea, forming a hypothesis, or repeating past work: if a closed decision or falsified hypothesis surfaces, do not re-litigate it. Every hit carries a trust verdict (only `ok` hits are eligible for present-state citation), a calibrated confidence, provenance (indexed_at) and validity (superseded_by / valid_until). When `abstained` is true, no present-state evidence is eligible: say you don't know about the present. `evidence` says what a present-state answer may cite: rely only on the hits w…

  • recall_statsMemory freshness & size

    Report how much memory exists and whether it is stale (freshness check). `stale` is True when the newest indexed content is older than 2 days. On a lite store, `refresh` holds the last refresh of the memo folder (outcome and reason), which explains a memo that is not found yet. Returns: JSON of {chunks, newest_indexed_at, stale, metrics, refresh}.

  • recall_tenantsList available tenant scopes

    Return the tenant scopes visible to this caller. An authenticated principal sees its own tenant; the full provisioned inventory is admin-only, because in a multi-tenant deployment tenant ids are often customer names and one tenant reading the customer list is cross-tenant disclosure.

  • recall_withdrawWithdraw a mistaken memory

    Withdraw memory that was a MISTAKE, and give back what it replaced. IRREVERSIBLE. Use this, not `recall_forget`, when a memory should never have been believed: a wrong correction, a mistaken "this replaces that". It erases the memory exactly as `recall_forget` does, and then the two differ in one thing. `recall_forget` keeps retired whatever the forgotten memory superseded (forgetting "moved to Rome" does not make Paris current again); `recall_withdraw` voids its `supersedes:` claims, so what it replaced is current again, and whatever superseded IT now supersedes what it replaced instead (in …

Signals

Stars
6
Forks
1
Open issues
1
Weekly downloads
115
Last commit
Oct 23, 2026 (5 days ago)
Last release
Sep 25, 2026 (1 month ago)
Last package publish
Sep 17, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.GiulioDER/re-call
Version
0.14.0
Auth
API key
Packages
pypi recall-rag
License
AGPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

RE-call MCP Memory Server. Agent Mart. https://agentmart.dev/connectors/giulioder-re-call (last updated 2026-10-24)