Supported API

August 18, 2026 ยท View on GitHub

This page names the public integration surface. Anything outside these paths may support benchmarks, migrations, or experiments, and can change more freely.

Python

SurfaceImportPurpose
Trust searchrecall.trust.trusted_searchReturn verdicts, confidence, provenance, and abstention state.
Reasoningrecall.reasoning.reasonRun explicit opt-in reasoning from trusted retrieval, bounded provider ports, graph projections, and citation validation.
Reasoning graphrecall.reasoning_graph.build_reasoning_graphDerive immutable, generation-bound graph projections for reasoning and proposal inspection.
Embeddingsrecall.embeddings.make_embedderConstruct supported embedding backends from configuration.
Generation storerecall.generation_store.GenerationStoreServe immutable, tenant-scoped generations.
pgvector storerecall.store.PgVectorStoreLocal indexing and retrieval over PostgreSQL plus pgvector.
LangChainrecall.integrations.langchain.RecallRetrieverUse RE-call as a LangChain retriever.
LlamaIndexrecall.integrations.llamaindex.RecallRetrieverUse RE-call as a LlamaIndex retriever.

The expected application pattern is to call trusted_search, check result.abstained, and answer only from returned hits whose verdict and provenance satisfy the caller's policy.

Command Line

CommandPurpose
recall setupGuided local setup: embedder/reranker/entailment choices, optional per-corpus calibration, and optional CLAUDE.md/memory scaffolding.
recall schemaApply, inspect, and plan PostgreSQL schema migrations.
recall indexIndex a markdown corpus.
recall searchQuery an indexed corpus through the trust layer.
recall reasoningInspect projections, proposals, traces, audits, and opt-in reasoning queries without changing ordinary retrieval behavior.
recall extractExtract structured truth claims from memo prose. Reads only; writes nothing. Off unless RECALL_TRUTH_EXTRACTION=1.
recall rewriteReview extracted claims and declare accepted ones in corpus frontmatter. Dry run by default; --reviewer and --note are required.
recall lintValidate memo frontmatter and corpus shape.
recall checkValidate one memo, optionally in strict mode.
recall demoRun the bundled five-minute product example.
recall-enterpriseManage generation routing and readiness for production deployments.

MCP

The MCP server is python -m recall_mcp.server. Its supported tools are:

ToolPurpose
recall_searchSearch trusted memory.
recall_evidenceReturn evidence for a query.
recall_indexIndex allowed files beneath RECALL_INDEX_ROOT.
recall_forgetErase indexed source material.
recall_statsReport counters and operational state.
recall_reasoning_queryRun an explicit opt-in reasoning query over trusted retrieval. Set expand_retrieval=true only when the cheap expansion provider is configured.
recall_reasoning_projectionInspect the generation-bound reasoning graph projection.
recall_reasoning_proposalsInspect inference proposals as review candidates.
recall_reasoning_auditReport reasoning integration state and diagnostics.
recall_rewrite_planReport which key a proposal would declare, in which file. Writes nothing.

recall_search and recall_evidence also accept an optional locale argument for presentation localization. When supplied, the response gains an additive localized object containing display text keyed by chunk_id. Canonical hit text, provenance, evidence items, system_prompt, and user_message are never translated in place. Localization is disabled unless RECALL_TRANSLATION_ENABLED=1 configures a validated HTTPS text endpoint. Provider failures are fail soft and return canonical values with a fixed warning. Enabling the provider sends selected retrieved passage text to that endpoint, so deployments with sensitive corpora should use a self-hosted endpoint and should treat localized values as display data only. The explicit RECALL_TRANSLATION_ALLOW_HTTP=1 override permits cleartext HTTP for a deliberately controlled endpoint and must not be used across an untrusted network.

The static README viewer uses these provider locale identifiers: english, italian, spanish, french, german, portuguese, chinese_simplified, japanese, korean, russian, arabic, hindi, and turkish. Other provider identifiers may be passed to the MCP or CLI presentation surfaces. An unsupported identifier or provider failure leaves canonical text unchanged and marks the localized object as a fallback.

The recall_reasoning_query MCP tool accepts expand_retrieval, defaulting to false. Enabling it requires RECALL_REASONING_EXPANSION=1, RECALL_REASONING_EXPANSION_MODEL, and RECALL_REASONING_API_KEY. The provider uses the configured OpenRouter compatible base URL, minimal reasoning effort by default, one model call, and at most three generated retrieval queries. The provider receives bounded retrieval data as untrusted input. It cannot create citations or trusted evidence directly.

The CLI accepts the same additive presentation option, for example:

recall search "deployment notes" --locale italian

There is deliberately no recall_rewrite_apply. Nothing reaches corpus metadata without a named human, and the MCP client is the model: letting it supply a reviewer id and an audit note would make that gate a formality it satisfies by typing a string, so the gate becomes a field rather than a person. This surface proposes; a human declares at recall rewrite apply. recall_mcp/ makes no file write call of any kind, and two tests hold that line, one for a write call and one for a write import.

recall_rewrite_plan hands off a claim key, not a proposal id. Its proposals come from the deterministic rules over the store graph while recall rewrite apply resolves ids against the filesystem extractor, and provider, tenant, generation and pipeline are all hashed into a proposal id, so those two id spaces are disjoint. Claim keys are generation independent, which is also why the rejection ledger is keyed by them.

Authentication, tenant isolation, and transport modes are documented in AUTH.md. Reasoning policy and operational behavior are documented in REASONING_OPERATIONS.md.

Stability Boundary

Benchmark harnesses under benchmarks/, result builders under results/, and experimental code under benchmarks/finetune/ are not the library API. They are retained for reproducibility and evidence review.