Developer Preview Ferrosa Memory 0.15 — structured, linked, auditable memory for agentic systems.
Ferrosa Memory · 0.15 · Tool catalog

Two tiers. 79 memory tools.

Ferrosa Memory exposes its capabilities as MCP tools, organized by the include_all flag on tools/list. Tier 1 is the focused default agent set — the everyday memory loop. Tier 2 unlocks the advanced and operator toolbox when you ask for it.

See Tier 1 See Tier 2

A default surface that fits in an agent's head.

Drowning an agent in nearly 80 tool definitions is its own kind of noise: every extra tool dilutes the model's attention, inflates the prompt, and makes the wrong call more likely. So Ferrosa Memory ships a focused default surface — the everyday memory loop of ingest, recall, link, track tasks, and forget — and keeps the rest opt-in.

This mirrors the same recall-hygiene philosophy that runs through 0.15: prefer signal over noise. Just as recall guards and workspace filtering keep retrieval quiet unless there's real signal, tiering keeps the tool list quiet unless an operator reaches for advanced or administrative work.

Tier 2 is always one flag away. Batch operations, memo and plan tracking, the full intention lifecycle, trajectory folds, bi-temporal facts, stored skills, dream-cycle consolidation, and the Datalog governance plane are there when you need them — and out of the way when you don't.

Tier 1

The everyday memory loop

21 tools an agent reaches for in a normal session: ingest and recall, typed edges, context expansion, triggered intentions, durable session tasks, feedback, stats, runtime config, and forget.

Tier 2

Advanced & operator

58 tools for batch work, memo & plans, the intention lifecycle, folds, temporal facts, skills, consolidation and graph inference, the expert-system governance plane, and introspection — surfaced only with include_all.

Tier 1 · default

Everyday memory

21 tools

Returned by default on tools/list. This is the focused agent set — the loop a model runs every session.

Core memory

ToolPurpose
smart_ingestIngest discovered facts with dedup + confidence scoring
hybrid_searchMulti-strategy semantic+lexical+phonetic+graph search (RRF)
retrieve_entitiesFind entities by phonetic fuzzy match or semantic ANN
list_entitiesList entities with structured equality filters

Graph

ToolPurpose
create_edgeBuild a typed graph edge

Context

ToolPurpose
get_chunk_contextExpand a document chunk via semantic prev/next links
get_turn_chainWalk forward through temporal next_turn edges

Intentions

ToolPurpose
check_intentionsReturn triggered deferred actions (topic/file/duration/context)

Session tasks

ToolPurpose
session_task_putCreate/update a durable session task
session_task_getRetrieve a session task by UUID or alias
session_task_currentForeground task, working set, focus stack, recovery hints
session_task_listList durable session tasks (optionally by status)
session_task_completeMark a task complete; return resume candidate
session_task_cancelMark a task cancelled; update focus-stack recovery
session_task_focusMove a task to foreground; push previous onto the focus stack
session_task_observeDeterministic observation hook (task-shift/completion/lost-agent), no LLM judge

Feedback & ops

ToolPurpose
record_feedbackRecord relevance feedback on the last search result set
get_statsHealth stats: entity/fold/session counts, consolidation status
configureRead/write runtime defaults (session, retrieval limit, workspace, cwd)
all_toolsReturn the full tool catalog

Forgetting

ToolPurpose
forgetPropose forget candidates with blast radius; confirm retract/hard-delete

Advanced & operator

58 tools

The full toolbox: batch operations, memo & plans, the intention lifecycle, trajectory folds, bi-temporal facts, stored skills, the dream-cycle knowledge plane, the Datalog governance and expert-system surface, and introspection. Opt in with include_all.

Core memory

ToolPurpose
upsert_entityCreate or update a single entity directly
batch_ingestIngest many facts in one call with dedup + scoring
ingest_entitiesInsert a set of explicit entities
count_entities_by_typeCount entities grouped by type

Batch ops

ToolPurpose
batch_update_entitiesUpdate many entities in one operation
batch_delete_entitiesDelete many entities in one operation
delete_sessionRemove a session and its associated state

Memo & plans

ToolPurpose
check_memo_cacheLook up a sub-call result by content hash
store_memo_resultCache a completed sub-call result
write_plan_nodeRecord a hierarchical sub-task node
get_plan_contextRetrieve the session's plan tree
update_plan_nodeMark a plan node complete/failed

Context & folds

ToolPurpose
ingest_context_segmentsPersist raw conversation turns as semantic segments
search_context_segmentsSearch context segments (BM25 + vector)
get_context_windowExpand a bounded window around a context segment
start_foldOpen a trajectory fold for a sub-task
append_to_foldAppend turns to an open fold
complete_foldSeal a fold with a summary + embedding
retrieve_fold_contextRetrieve the context of a sealed fold

Graph / edges

ToolPurpose
batch_create_edgesCreate many typed edges in one operation
batch_update_edgesUpdate many edges in one operation
batch_delete_edgesDelete many edges in one operation
explore_connectionsTraverse the graph outward from an entity
find_memory_chainFind a connecting path between memories

Temporal

ToolPurpose
write_temporal_factRecord a timestamped fact with supersession
get_temporal_chainWalk the supersession chain for a fact

Intentions lifecycle

ToolPurpose
set_intentionSet a deferred trigger
list_intentionsList pending intentions, optionally across repos
complete_intentionMark a triggered intention done
snooze_intentionReset a triggered intention to pending

Skills

ToolPurpose
ingest_skillStore a reusable skill
invoke_skillInvoke a stored skill
verify_skillVerify a skill before use
retrieve_skills_for_contextRetrieve skills relevant to the current context

Knowledge plane / consolidation

ToolPurpose
run_consolidationForce a background dream-cycle consolidation pass
enrich_entitiesEnrich entities with derived attributes
importance_scoreScore the importance of memories
spread_activationActivate related memories by graph spreading
find_duplicatesFind duplicate entities for merge
recursive_exploreRecursively explore connected memories
query_derivedQuery Datalog-derived facts
list_derived_cacheList cached derived facts

Governance / expert system

ToolPurpose
manage_rulesManage Datalog derivation rules
manage_claimsManage claims in the expert system
manage_approvalsManage approvals for derived knowledge
manage_aliasesManage entity and predicate aliases
manage_authorityMark sources curated/authoritative or demote clutter for ranking
explain_derivedReturn a proof trace for a derived fact
get_effective_rule_setGet the currently effective rule set
promote_predicatePromote a predicate into the effective rule set
promote_memoryPromote a memory's standing
demote_memoryDemote a memory's standing

Config & introspection

ToolPurpose
describeDescribe the server's capabilities
migration_statusReport schema/data migration status

Other

ToolPurpose
ensure_parent_tagEnsure a parent tag exists for grouping
record_outcomeRecord an outcome (including retrieval misses) to train ranking
restore_forgottenRestore a reversibly retracted memory
predict_needed (stub)Predict memories likely needed next
Unlocking Tier 2

One flag, when you need it.

Tier 1 is the default. To surface the full toolbox, pass include_all: true on tools/list — your client then sees all 58 advanced and operator tools alongside the everyday set.

Set include_all: true on the MCP tools/list request to reveal Tier 2. Leave it off (the default) for the focused everyday surface. The all_tools tool also enumerates the complete catalog from inside a session.

Memory tools that match the moment.

Start with the focused default loop, then unlock the full toolbox when an operator needs it.

How it works Set up locally