Write memory
Three ways in. Pick the one that matches what you already have.
You have triples
Use remember for one fact. Use remember_many for a batch (1–100). Prefer the batch.
Both exist on REST and MCP.
{
"facts": [
{ "subject": "user:maya", "predicate": "display_name", "object": "Maya" },
{ "subject": "user:maya", "predicate": "has_skill", "object": "TypeScript" }
],
"source": "onboarding"
}
source is a label for you. It is not searched as a triple.
You have prose
Use feed on REST. Send raw content or a messages array. Gomind extracts triples and stores them.
Pass reason: true when you want the ingest to look at existing memory first: keep only durable facts, namespace type:id, normalize, and skip duplicates. Default feed is a single extraction pass.
Feed is not an MCP tool. If the agent already has triples, call remember / remember_many instead.
You need to undo
POST /v1/forget (MCP forget) removes one triple. POST /v1/forget_entity (MCP forget_entity) removes every fact about an entity. Same type:id you stored.
REST-only agent loop
POST /v1/mind runs a server-side agent that may call remember and recall for you. Use it when the prompt is the work. Do not use it for deterministic ingestion.