{"name":"io.github.GiulioDER/re-call","slug":"giulioder-re-call","title":"RE-call MCP Memory Server","description":"Agent memory on your own Postgres that flags superseded facts and abstains instead of guessing.","url":"https://mcp.market/server/giulioder-re-call","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"data","tags":["data","ai"],"presence":{"score":36,"stars":6,"forks":1,"downloads_week":77,"last_push_at":"2026-10-14T22:30:31.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/GiulioDER/RE-call","website":"https://giulioder.github.io/RE-call/","version":"0.14.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"recall-rag","version":"0.14.0","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"value":"recall-rag[mcp,fastembed]==0.14.0","type":"named","name":"--from"},{"value":"recall-mcp","type":"positional"}],"environmentVariables":[{"description":"PostgreSQL serving DSN for the RE-call memory store.","isRequired":true,"format":"string","isSecret":true,"placeholder":"postgresql://recall:recall@localhost:5432/recall","name":"RECALL_SERVING_DSN"},{"description":"Tenant id served by this local stdio server.","format":"string","default":"default","name":"RECALL_TENANT"},{"description":"Set to development only for local uncalibrated corpora.","format":"string","placeholder":"development","name":"RECALL_TRUST_MODE"},{"description":"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.","format":"string","default":"fastembed","name":"RECALL_EMBEDDER"},{"description":"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.","format":"string","default":"chunks","name":"RECALL_TABLE"},{"description":"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.","format":"string","name":"RECALL_MCP_TOOLS"}]}],"tools":[{"name":"__init__","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_apply_fact","description":"Apply one structured atomic fact through the deterministic provenance controller.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_calibration_publish","description":"Publish one certified calibration artifact for the caller's tenant.","write_action":true,"price_micros":0,"input_schema":null},{"name":"recall_calibration_run","description":"Create a draft calibration artifact for the active generation.","write_action":true,"price_micros":0,"input_schema":null},{"name":"recall_calibration_status","description":"Return the latest calibration artifact bound to the caller's generation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_current_facts","description":"Return the tenant scoped current projection of the append only fact ledger.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_current_state","description":"Return a bounded, deterministic, generation bound authored state projection.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_evidence","description":"Get memory as CITABLE EVIDENCE plus the exact prompt to answer it with.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_forget","description":"Permanently delete indexed memory for the given source(s). IRREVERSIBLE.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_index","description":"Index a markdown file or folder into the agent's memory so it can be recalled later.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_ingest","description":"Upload bounded source files and index them in the caller's tenant.","write_action":true,"price_micros":0,"input_schema":null},{"name":"recall_inventory","description":"List every source in memory with its raw content digest for client-side sync.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_job_status","description":"Return the current state of one bounded indexing job.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_query_construction_challenge","description":"Ask the original model for a bounded frame, then continue retrieval.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_reasoning_audit","description":"Run the bounded integration audit without disclosing corpus or query text in errors.","write_action":true,"price_micros":0,"input_schema":null},{"name":"recall_reasoning_projection","description":"Inspect the immutable reasoning projection for this tenant and generation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_reasoning_proposals","description":"List side effect free inference proposals for human review.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_reasoning_query","description":"Run explicit opt-in reasoning over trusted retrieval and a derived graph.","write_action":true,"price_micros":0,"input_schema":null},{"name":"recall_related","description":"Return independently trusted structural neighbors of one evidence chunk.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_rewrite_plan","description":"Show which key a proposal would declare, in which file. Writes nothing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_search","description":"Search the agent's OWN memory before acting, and get actionable guidance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_stats","description":"Report how much memory exists and whether it is stale (freshness check).","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_tenants","description":"Return the tenant scopes visible to this caller.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-10-15T05:11:48.133Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-15T05:11:48.075Z","components":{"code":{"score":20,"max":25,"notes":["222 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"x/recall/sparse.py: …m_pretrained(model_name, **loader_args).eval() # `from_pretrained` loads to …"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"recall-rag","version":"0.14.0","found":true,"weeklyDownloads":77,"license":"PolyForm-Noncommercial-1.0.0","dependencyCount":67,"publishedAt":"2026-09-17T07:42:40.907396Z","repositoryUrl":"https://github.com/GiulioDER/RE-call"}],"repo":{"found":true,"owner":"GiulioDER","repo":"RE-call","archived":false,"pushedAt":"2026-10-14T22:30:31Z","stars":6,"forks":1,"openIssues":34,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/276386770?v=4","ownerCreatedAt":"2026-04-15T18:36:34Z","license":"AGPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/276386770?v=4&s=128","source":"registry"},"presence":{"stars":6,"forks":1,"downloadsWeek":77,"license":"AGPL-3.0","lastPushAt":"2026-10-14T22:30:31.000Z","score":36}}}},"grade_history":[],"reviews":[]}